diff --git a/src/main/java/org/caosdb/server/entity/Role.java b/src/main/java/org/caosdb/server/entity/Role.java
index 53bc3a47a9c78c8dfd753e3f2e8128788bade3bf..992ddc6e6bbc8c8cfbc702667afce13a0a0ba93b 100644
--- a/src/main/java/org/caosdb/server/entity/Role.java
+++ b/src/main/java/org/caosdb/server/entity/Role.java
@@ -35,6 +35,7 @@ public enum Role {
   Domain,
   File,
   Directory,
+  Link,
   Property,
   DataType,
   QueryTemplate;
@@ -74,6 +75,8 @@ public enum Role {
         return new FileToElementStrategy(toString());
       case Directory:
         return new FileToElementStrategy(toString());
+      case Link:
+        return new FileToElementStrategy(toString());
       default:
         return new EntityToElementStrategy(toString());
     }
diff --git a/src/main/java/org/caosdb/server/query/CQLLexer.g4 b/src/main/java/org/caosdb/server/query/CQLLexer.g4
index 1b113a275ab5bbaa75dde3bb689fb2b1f81e60f1..aa4a080e2fc2c858e2dc7da846a1bbfb593dd93d 100644
--- a/src/main/java/org/caosdb/server/query/CQLLexer.g4
+++ b/src/main/java/org/caosdb/server/query/CQLLexer.g4
@@ -347,6 +347,10 @@ DIRECTORY:
 	[Dd][Ii][Rr][Ee][Cc][Tt][Oo][Rr]([Yy]|[Ii][Ee][Ss]) WHITE_SPACE_f?
 ;
 
+LINK:
+    [Ll][Ii][Nn][Kk]([Ss])? WHITE_SPACE_f?
+;
+
 ENTITY:
     [Ee][Nn][Tt][Ii][Tt]([Yy]|[Ii][Ee][Ss]) WHITE_SPACE_f?
 ;
diff --git a/src/main/java/org/caosdb/server/query/CQLParser.g4 b/src/main/java/org/caosdb/server/query/CQLParser.g4
index a9656ca1ced8055e3915bb81cdaa566988a2bf92..2bb92a65e9597d9038acb175db3dfdfa8afa23fd 100644
--- a/src/main/java/org/caosdb/server/query/CQLParser.g4
+++ b/src/main/java/org/caosdb/server/query/CQLParser.g4
@@ -100,6 +100,7 @@ role returns [Query.Role r]:
     | PROPERTY {$r = Query.Role.PROPERTY;}
     | FILE {$r = Query.Role.FILE;}
     | DIRECTORY {$r = Query.Role.DIRECTORY;}
+    | LINK {$r = Query.Role.LINK;}
     | QUERYTEMPLATE {$r = Query.Role.QUERYTEMPLATE;}
     | ENTITY {$r = Query.Role.ENTITY;}
 ;
diff --git a/src/main/java/org/caosdb/server/query/Query.java b/src/main/java/org/caosdb/server/query/Query.java
index ac1a41a254501f895e81a1764c048850f268fcbf..5c07b9dd0087cbd970af333e68833a2c0f5d6403 100644
--- a/src/main/java/org/caosdb/server/query/Query.java
+++ b/src/main/java/org/caosdb/server/query/Query.java
@@ -161,6 +161,7 @@ public class Query implements QueryInterface, ToElementable, TransactionInterfac
     ENTITY,
     FILE,
     DIRECTORY,
+    LINK,
     QUERYTEMPLATE
   }