diff --git a/src/main/java/caosdb/server/query/CQLParser.g4 b/src/main/java/caosdb/server/query/CQLParser.g4
index af981d6a2d027892c144070323aa924a5d7674a5..f9ca5ee2ebd172c96b0a78eec4b20611f5377059 100644
--- a/src/main/java/caosdb/server/query/CQLParser.g4
+++ b/src/main/java/caosdb/server/query/CQLParser.g4
@@ -190,15 +190,31 @@ transaction_time returns [String tqp]
 :
 	(
 		(ON | IN) 
-		(datetime {$tqp = $datetime.text;} 
+		(datetime {$tqp = "tr" + $datetime.dt_text;}
 		| entity {$tqp = $entity.ep.toString();})
 	) | TODAY {$tqp = TransactionFilter.TODAY;} 
 ;
 
+datetime returns [String dt_text]
+:
+    (
+        dq = dq_datetime {$dt_text = "foo " + $dq.dt_text;}
+    |
+        iso = iso_datetime {$dt_text = "bar" + $iso.text;}
+    )
+;
+
+dq_datetime returns [String dt_text]
+:
+    DOUBLE_QUOTE_START
+    (d = iso_datetime {$dt_text = "foo";})
+    DOUBLE_QUOTE_END
+;
+
 /*
 * not fully compliant with iso 8601 (TODO) 
 */
-datetime
+iso_datetime
 :
 	NUM // year 
 	(
@@ -223,6 +239,12 @@ datetime
 ;
 
 pov returns [POV filter] locals [Query.Pattern p, String o, String v, String a]
+    /**
+     * p: property
+     * o: operator
+     * v: value
+     * a: agg
+     */
 	@init{
 		$p = null;
 		$o = null;
@@ -244,8 +266,8 @@ pov returns [POV filter] locals [Query.Pattern p, String o, String v, String a]
 			)
 			| IS_NULL {$o = "0";}
 			| IS_NOT_NULL {$o = "!0";}
-			| IN datetime {$o = "("; $v=$datetime.text;}
-			| NEGATION IN datetime {$o = "!("; $v=$datetime.text;}
+			| IN datetime {$o = "("; $v="baz " + $datetime.dt_text;}
+			| NEGATION IN datetime {$o = "!("; $v=$datetime.dt_text;}
 		)?
 	) 
 	| 
@@ -443,7 +465,7 @@ minmax returns [String agg]
 value returns [String str]
 : 
 	number {$str = $text;}
-	| datetime {$str = $text;}
+	| datetime {$str = "v" + $text;}
 	| atom {$str = $atom.ep.toString();}
 ;