diff --git a/procedures/query/applyPOV.sql b/procedures/query/applyPOV.sql
index cebacf717da76ec8d26ae5878c712331ab20f615..eefee066d8b72b7d13cc24ec6c56fa5b6150f061 100644
--- a/procedures/query/applyPOV.sql
+++ b/procedures/query/applyPOV.sql
@@ -22,6 +22,7 @@
  */
 
 /* Documentation including (?) has to be checked by an expert. */
+/* Question: What is datetime dot notation? */
 
 DROP PROCEDURE IF EXISTS db_2_0.applyPOV;
 DELIMITER //
@@ -34,17 +35,23 @@ CREATE PROCEDURE db_2_0.applyPOV(in sourceSet VARCHAR(255), /* (?) Name of the t
                                                     0   check for "equals NULL"
                                                     !0  check for "not NULL"
                                                     ->  check whether a reference exists
+                                                    (   (?) check for datetime intervals
+                                                    !(  (?) check for being outside of datetime intervals
+                                                    other operators (all SQL operators (?))
+                                                      these other operators can be used either with or without an aggregation
+                                                      to use an aggregation set agg to non-zero
+                                                      all SQL aggregations can be used
                                                */
-                                 in vText VARCHAR(255),
-                                 in vInt INT,
-                                 in vDouble DOUBLE,
+                                 in vText VARCHAR(255),  /* (?) the text value to be checked against using operator o */
+                                 in vInt INT,  /* the integer value to be checked against using operator o */
+                                 in vDouble DOUBLE,  /* the double value to be checked against using operator o */
                                  in unit_sig BIGINT,
                                  in vDoubleStdUnit DOUBLE,
                                  in stdUnit_sig BIGINT,
                                  in vDateTime VARCHAR(255),
                                  in vDateTimeDotNotation VARCHAR(255),
-                                 in agg CHAR(3),
-                                 in pname VARCHAR(255))
+                                 in agg CHAR(3), /* an SQL aggregate function or NULL when no aggregation should be used */
+                                 in pname VARCHAR(255)) /* name of the property, this name is only used for reporting more meaningful warnings */
 POV_LABEL: BEGIN
     DECLARE data TEXT DEFAULT NULL; /*data subselect statement string*/
     DECLARE sTextData VARCHAR(20000) DEFAULT NULL; /*SELECT PREFIX for data subselect plus WHERE CLAUSE for text_data*/
@@ -92,8 +99,12 @@ POV_LABEL: BEGIN
         SET sTextData = 'SELECT DISTINCT domain_id, entity_id, property_id FROM `text_data` AS subdata WHERE subdata.value IS NOT NULL UNION ALL SELECT DISTINCT domain_id, entity_id, property_id FROM `enum_data` AS subdata WHERE subdata.value IS NOT NULL UNION ALL SELECT DISTINCT domain_id, entity_id, property_id FROM `integer_data` AS subdata WHERE subdata.value IS NOT NULL UNION ALL SELECT DISTINCT domain_id, entity_id, property_id FROM `double_data` AS subdata WHERE subdata.value IS NOT NULL UNION ALL SELECT DISTINCT domain_id, entity_id, property_id FROM `date_data` AS subdata WHERE subdata.value IS NOT NULL UNION ALL SELECT DISTINCT domain_id, entity_id, property_id FROM `datetime_data` AS subdata WHERE subdata.value IS NOT NULL UNION ALL SELECT DISTINCT domain_id, entity_id, property_id FROM `reference_data` AS subdata WHERE subdata.value IS NOT NULL';
 
     ELSEIF o = "(" or o = "!(" THEN
-        SET sTextData = IF(vText IS NULL,' SELECT DISTINCT domain_id, entity_id, property_id FROM `date_data`', IF(vDateTimeDotNotation IS NULL, NULL, CONCAT(' SELECT DISTINCT domain_id, entity_id, property_id FROM `date_data` AS subdata WHERE ',getDateWhereClause(vDateTimeDotNotation,o))));
-        SET sDatetimeData = IF(vText IS NULL,' UNION ALL SELECT DISTINCT domain_id, entity_id, property_id FROM `datetime_data`', IF(vDateTime IS NULL, NULL, CONCAT(' UNION ALL SELECT DISTINCT domain_id, entity_id, property_id FROM `datetime_data` AS subdata WHERE ',getDateTimeWhereClause(vDateTime,o))));
+        SET sTextData = IF(vText IS NULL, ' SELECT DISTINCT domain_id, entity_id, property_id FROM `date_data`',
+                                          IF(vDateTimeDotNotation IS NULL, NULL,
+                                                                           CONCAT(' SELECT DISTINCT domain_id, entity_id, property_id FROM `date_data` AS subdata WHERE ', getDateWhereClause(vDateTimeDotNotation, o))));
+        SET sDatetimeData = IF(vText IS NULL, ' UNION ALL SELECT DISTINCT domain_id, entity_id, property_id FROM `datetime_data`',
+                                              IF(vDateTime IS NULL, NULL,
+                                                                    CONCAT(' UNION ALL SELECT DISTINCT domain_id, entity_id, property_id FROM `datetime_data` AS subdata WHERE ', getDateTimeWhereClause(vDateTime, o))));
         SET vText = NULL;
     ELSEIF agg IS NOT NULL THEN
         #-- find aggregated value (min/max...)
@@ -182,6 +193,8 @@ POV_LABEL: BEGIN
     DEALLOCATE PREPARE stmt3;
     DEALLOCATE PREPARE stmtPOVkeepTbl;
 
+    /* Question: why select AS and not select INTO? */
+
     SELECT @stmtPOVkeepTblStr as applyPOVStmt1, @stmtPOVStr as applyPOVStmt2, keepTabl as applyPOVIntermediateResultSet;