From 4dbf03874c7fd8935f203b326dae200f907c0784 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aur=C3=A9lien=20Lamercerie?=
 <aurelien.lamercerie@laposte.net>
Date: Wed, 25 Aug 2021 00:10:05 +0200
Subject: [PATCH] Add CTS queries

---
 cts/generation/classification/401.cts       | 38 ++++++++++++++
 cts/generation/classification/402.cts       | 35 +++++++++++++
 cts/net_extension/entity_extraction/301.cts | 38 ++++++++++++++
 cts/net_extension/entity_extraction/302.cts | 36 ++++++++++++++
 cts/net_extension/entity_extraction/303.cts | 34 +++++++++++++
 cts/net_extension/entity_extraction/304.cts | 36 ++++++++++++++
 cts/net_extension/entity_extraction/305.cts | 36 ++++++++++++++
 cts/net_extension/entity_extraction/306.cts | 53 ++++++++++++++++++++
 cts/net_extension/entity_extraction/307.cts | 55 +++++++++++++++++++++
 cts/net_extension/entity_extraction/308.cts | 55 +++++++++++++++++++++
 cts/preprocessing/reification/201.cts       | 20 ++++++++
 cts/preprocessing/reification/202.cts       | 25 ++++++++++
 cts/selection/101.cts                       | 16 ++++++
 cts/selection/102.cts                       | 21 ++++++++
 14 files changed, 498 insertions(+)
 create mode 100644 cts/generation/classification/401.cts
 create mode 100644 cts/generation/classification/402.cts
 create mode 100644 cts/net_extension/entity_extraction/301.cts
 create mode 100644 cts/net_extension/entity_extraction/302.cts
 create mode 100644 cts/net_extension/entity_extraction/303.cts
 create mode 100644 cts/net_extension/entity_extraction/304.cts
 create mode 100644 cts/net_extension/entity_extraction/305.cts
 create mode 100644 cts/net_extension/entity_extraction/306.cts
 create mode 100644 cts/net_extension/entity_extraction/307.cts
 create mode 100644 cts/net_extension/entity_extraction/308.cts
 create mode 100644 cts/preprocessing/reification/201.cts
 create mode 100644 cts/preprocessing/reification/202.cts
 create mode 100644 cts/selection/101.cts
 create mode 100644 cts/selection/102.cts

diff --git a/cts/generation/classification/401.cts b/cts/generation/classification/401.cts
new file mode 100644
index 00000000..a90a295d
--- /dev/null
+++ b/cts/generation/classification/401.cts
@@ -0,0 +1,38 @@
+PREFIX owl: <http://www.w3.org/2002/07/owl#>
+PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
+PREFIX unl: <https://unl.tetras-libre.fr/rdf/schema#>
+PREFIX net: <https://unsel.tetras-libre.fr/tenet/semantic-net#>
+PREFIX cprm: <https://unsel.tetras-libre.fr/tenet/config/parameters#>
+PREFIX req: <https://unsel.tetras-libre.fr/tenet/frame/requirement-ontology#>
+PREFIX sys: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology#>
+PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#>
+    
+# -- Query to add Entity classes in System Ontology
+INSERT { 
+   ?mainEntityUri rdfs:subClassOf ?entityUri.
+   ?subEntityUri rdfs:subClassOf ?mainEntityUri.
+   ?mainEntityUri rdfs:label ?mainEntity.
+   ?subEntityUri rdfs:label ?subEntity.
+}
+WHERE {
+   # net1: entity class list
+   ?net1 a net:Instance.
+   ?net1 net:type net:entity_class_list.
+   ?net1 net:entityClass ?entityClass.
+   ?net1 net:class1 ?mainEntity.	
+   ?net1 net:class2 ?subEntity.		
+   # Label(s) / URI
+   cprm:Config_Parameters cprm:baseURI ?baseURI.
+   fprm:System_Ontology fprm:frameURI ?frameURI.
+   fprm:System_Entity rdfs:label ?entityLabel.
+   BIND (concat( ?frameURI, ?entityClass) AS ?s1).
+   BIND (concat(?s1, '_', ?mainEntity) AS ?s2).
+   BIND (concat(?s1, '_', ?subEntity) AS ?s3).
+   BIND (uri( ?s1) AS ?entityUri).
+   BIND (uri(?s2) AS ?mainEntityUri).
+   BIND (uri(?s3) AS ?subEntityUri).
+  FILTER NOT EXISTS  { ?net2 net:class2 ?mainEntity}
+}
+
diff --git a/cts/generation/classification/402.cts b/cts/generation/classification/402.cts
new file mode 100644
index 00000000..958d42d6
--- /dev/null
+++ b/cts/generation/classification/402.cts
@@ -0,0 +1,35 @@
+PREFIX owl: <http://www.w3.org/2002/07/owl#>
+PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
+PREFIX unl: <https://unl.tetras-libre.fr/rdf/schema#>
+PREFIX net: <https://unsel.tetras-libre.fr/tenet/semantic-net#>
+PREFIX cprm: <https://unsel.tetras-libre.fr/tenet/config/parameters#>
+PREFIX req: <https://unsel.tetras-libre.fr/tenet/frame/requirement-ontology#>
+PREFIX sys: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology#>
+PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#>
+    
+# -- Query to complement Entity classes in System Ontology
+INSERT { 
+   ?subEntityUri rdfs:subClassOf ?mainEntityUri.
+   ?subEntityUri rdfs:label ?subEntity.
+}
+WHERE {
+   # net1: entity class list
+   ?net1 a net:Instance.
+   ?net1 net:type net:entity_class_list.
+   ?net1 net:entityClass ?entityClass.
+   ?net1 net:class1 ?mainEntity.	
+   ?net1 net:class2 ?subEntity.		
+   # Label(s) / URI
+   cprm:Config_Parameters cprm:baseURI ?baseURI.
+   fprm:System_Ontology fprm:frameURI ?frameURI.
+   fprm:System_Entity rdfs:label ?entityLabel.
+   BIND (concat( ?frameURI, ?entityClass) AS ?s1).
+   BIND (concat(?s1, '_', ?mainEntity) AS ?s2).
+   BIND (concat(?s1, '_', ?subEntity) AS ?s3).
+   BIND (uri( ?s1) AS ?entityUri).
+   BIND (uri(?s2) AS ?mainEntityUri).
+   BIND (uri(?s3) AS ?subEntityUri).
+}
+
diff --git a/cts/net_extension/entity_extraction/301.cts b/cts/net_extension/entity_extraction/301.cts
new file mode 100644
index 00000000..1b56e93d
--- /dev/null
+++ b/cts/net_extension/entity_extraction/301.cts
@@ -0,0 +1,38 @@
+PREFIX owl: <http://www.w3.org/2002/07/owl#>
+PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
+PREFIX unl: <https://unl.tetras-libre.fr/rdf/schema#>
+PREFIX net: <https://unsel.tetras-libre.fr/tenet/semantic-net#>
+PREFIX cprm: <https://unsel.tetras-libre.fr/tenet/config/parameters#>
+PREFIX req: <https://unsel.tetras-libre.fr/tenet/frame/requirement-ontology#>
+PREFIX sys: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology#>
+PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#>
+    
+# -- Query to create Entity net
+INSERT { 
+   ?semNet a net:Instance.
+   ?semNet net:type net:entity.
+   ?semNet net:node ?uw1.
+   ?semNet net:entityClass ?entityClass.
+   ?semNet net:concept ?concept1. 
+}
+WHERE {
+   # Entity (from System Ontology)
+   ?entity rdf:type fprm:System_Entity.
+   ?entity fprm:class ?entityClass.
+   ?entity fprm:restriction ?entityRestriction.
+   # UW: type UW-Occurrence and substructure of req sentence
+   ?uw1 rdf:type unl:UW_Occurrence.
+   ?uw1 unl:is_substructure_of ?req.
+   # ------ ?uw1 unl:is_occurrence_of ?lexTrg.
+   # Label(s) / URI
+   ?uw1 rdfs:label ?uw1Label.
+   cprm:Config_Parameters cprm:netURI ?netURI
+   BIND (strbefore(?uw1Label, '(') AS ?concept1).
+   BIND (concat( ?netURI, ?entityClass, '_') AS ?s1).
+   BIND (concat(?s1, ?concept1) AS ?s2).
+   BIND (uri(?s2) AS ?semNet).
+   # Filter
+   FILTER ( regex(str(?uw1Label),str(?entityRestriction))  ).
+}
diff --git a/cts/net_extension/entity_extraction/302.cts b/cts/net_extension/entity_extraction/302.cts
new file mode 100644
index 00000000..ed55c2db
--- /dev/null
+++ b/cts/net_extension/entity_extraction/302.cts
@@ -0,0 +1,36 @@
+PREFIX owl: <http://www.w3.org/2002/07/owl#>
+PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
+PREFIX unl: <https://unl.tetras-libre.fr/rdf/schema#>
+PREFIX net: <https://unsel.tetras-libre.fr/tenet/semantic-net#>
+PREFIX cprm: <https://unsel.tetras-libre.fr/tenet/config/parameters#>
+PREFIX req: <https://unsel.tetras-libre.fr/tenet/frame/requirement-ontology#>
+PREFIX sys: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology#>
+PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#>
+    
+# -- Query to initialize a ModList net
+INSERT { 
+   ?semNet a net:Instance.
+   ?semNet net:type net:mod_list.
+   ?semNet net:node ?uw1.
+}
+WHERE {
+   # UW: type UW-Occurrence and substructure of req sentence
+   ?uwSource rdf:type unl:UW_Occurrence.
+   ?uw1 rdf:type unl:UW_Occurrence.
+   ?uwSource unl:is_substructure_of ?req.
+   ?uw1 unl:is_substructure_of ?req.
+   # selection: target UW of modifier (mod)
+   ?uwSource unl:mod ?uw1.
+   # Label(s) / URI
+   ?uw1 rdfs:label ?uw1Label.
+   cprm:Config_Parameters cprm:netURI ?netURI.
+   net:mod_list rdfs:label ?modListLabel.
+   BIND (strbefore(?uw1Label, '(') AS ?concept1).
+   BIND (strbefore(?uw2Label, '(') AS ?concept2).
+   BIND (concat( ?netURI, ?modListLabel, '_') AS ?s1).
+   BIND (concat(?s1, ?concept1) AS ?s2).
+   BIND (uri(?s2) AS ?semNet).
+}
+
diff --git a/cts/net_extension/entity_extraction/303.cts b/cts/net_extension/entity_extraction/303.cts
new file mode 100644
index 00000000..2ff2b7de
--- /dev/null
+++ b/cts/net_extension/entity_extraction/303.cts
@@ -0,0 +1,34 @@
+PREFIX owl: <http://www.w3.org/2002/07/owl#>
+PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
+PREFIX unl: <https://unl.tetras-libre.fr/rdf/schema#>
+PREFIX net: <https://unsel.tetras-libre.fr/tenet/semantic-net#>
+PREFIX cprm: <https://unsel.tetras-libre.fr/tenet/config/parameters#>
+PREFIX req: <https://unsel.tetras-libre.fr/tenet/frame/requirement-ontology#>
+PREFIX sys: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology#>
+PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#>
+    
+# -- Query to extend a ModList net
+INSERT { 
+   ?semNet net:node ?uw2.
+}
+WHERE {
+   # UW: type UW-Occurrence and substructure of req sentence
+   ?uw1 rdf:type unl:UW_Occurrence.
+   ?uw2 rdf:type unl:UW_Occurrence.
+   ?uw1 unl:is_substructure_of ?req.
+   ?uw2 unl:is_substructure_of ?req.
+   # selection: modList net
+   ?semNet a net:Instance.
+   ?semNet net:type net:mod_list.
+   ?semNet net:node ?uw1.
+   # extension: disjunction of UW
+   ?uw1 (unl:or|unl:and) ?uw2.
+   # Label(s) / URI
+   # ----- ?uw1 rdfs:label ?uw1Label.
+   # ----- ?uw2 rdfs:label ?uw2Label.
+   # ----- BIND (strbefore(?uw1Label, '(') AS ?concept1)
+   # ----- BIND (strbefore(?uw2Label, '(') AS ?concept2)
+}
+
diff --git a/cts/net_extension/entity_extraction/304.cts b/cts/net_extension/entity_extraction/304.cts
new file mode 100644
index 00000000..b5653999
--- /dev/null
+++ b/cts/net_extension/entity_extraction/304.cts
@@ -0,0 +1,36 @@
+PREFIX owl: <http://www.w3.org/2002/07/owl#>
+PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
+PREFIX unl: <https://unl.tetras-libre.fr/rdf/schema#>
+PREFIX net: <https://unsel.tetras-libre.fr/tenet/semantic-net#>
+PREFIX cprm: <https://unsel.tetras-libre.fr/tenet/config/parameters#>
+PREFIX req: <https://unsel.tetras-libre.fr/tenet/frame/requirement-ontology#>
+PREFIX sys: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology#>
+PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#>
+    
+# -- Query to typify a ModList net as entity
+INSERT { 
+   ?semNet net:type net:entity_mod_list.
+   ?semNet net:entityClass ?entityClass.
+   ?semNet net:concept ?concept1.
+}
+WHERE {
+   # Entity (from System Ontology)
+   ?entity rdf:type fprm:System_Entity.
+   ?entity fprm:class ?entityClass.
+   ?entity fprm:restriction ?entityRestriction.
+   # UW: type UW-Occurrence and substructure of req sentence
+   ?uw1 rdf:type unl:UW_Occurrence.
+   ?uw1 unl:is_substructure_of ?req.
+   # net: modList
+   ?semNet a net:Instance.
+   ?semNet net:type net:mod_list.
+   ?semNet net:node ?uw1.
+   # Label(s) / URI
+   ?uw1 rdfs:label ?uw1Label.
+   BIND (strbefore(?uw1Label, '(') AS ?concept1)
+   # Filter
+   FILTER ( regex(str(?uw1Label),str(?entityRestriction)) ).
+}
+
diff --git a/cts/net_extension/entity_extraction/305.cts b/cts/net_extension/entity_extraction/305.cts
new file mode 100644
index 00000000..7a4d7ec5
--- /dev/null
+++ b/cts/net_extension/entity_extraction/305.cts
@@ -0,0 +1,36 @@
+PREFIX owl: <http://www.w3.org/2002/07/owl#>
+PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
+PREFIX unl: <https://unl.tetras-libre.fr/rdf/schema#>
+PREFIX net: <https://unsel.tetras-libre.fr/tenet/semantic-net#>
+PREFIX cprm: <https://unsel.tetras-libre.fr/tenet/config/parameters#>
+PREFIX req: <https://unsel.tetras-libre.fr/tenet/frame/requirement-ontology#>
+PREFIX sys: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology#>
+PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#>
+    
+# -- Query to typify a ModList net as complement
+INSERT { 
+   ?semNet net:type net:complement_mod_list.
+   ?semNet net:featureClass ?featureClass.
+   ?semNet net:concept ?concept1.
+}
+WHERE {
+   # Entity Feature (from System Ontology)
+   ?entity rdf:type fprm:System_Feature.
+   ?entity fprm:class ?featureClass.
+   ?entity fprm:restriction ?featureRestriction.
+   # UW: type UW-Occurrence and substructure of req sentence
+   ?uw1 rdf:type unl:UW_Occurrence.
+   ?uw1 unl:is_substructure_of ?req.
+   # net: modList
+   ?semNet a net:Instance.
+   ?semNet net:type net:mod_list.
+   ?semNet net:node ?uw1.
+   # Label(s) / URI
+   ?uw1 rdfs:label ?uw1Label.
+   BIND (strbefore(?uw1Label, '(') AS ?concept1)
+   # Filter
+   FILTER ( regex(str(?uw1Label),str(?featureRestriction))  ).
+}
+
diff --git a/cts/net_extension/entity_extraction/306.cts b/cts/net_extension/entity_extraction/306.cts
new file mode 100644
index 00000000..36f86e3a
--- /dev/null
+++ b/cts/net_extension/entity_extraction/306.cts
@@ -0,0 +1,53 @@
+PREFIX owl: <http://www.w3.org/2002/07/owl#>
+PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
+PREFIX unl: <https://unl.tetras-libre.fr/rdf/schema#>
+PREFIX net: <https://unsel.tetras-libre.fr/tenet/semantic-net#>
+PREFIX cprm: <https://unsel.tetras-libre.fr/tenet/config/parameters#>
+PREFIX req: <https://unsel.tetras-libre.fr/tenet/frame/requirement-ontology#>
+PREFIX sys: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology#>
+PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#>
+
+# -- Query to compose an Entity net and a Complement ModList net    
+INSERT { 
+   ?newNet a net:Instance.
+   ?newNet net:type net:entity_class_list.
+   ?newNet net:node ?uw1.
+   ?newNet net:node ?uw2.
+   ?newNet net:node ?uw3.
+   ?newNet net:entityClass ?entityClass.
+   ?newNet net:featureClass ?featureClass.
+   ?newNet net:class1 ?mainEntity.	
+   ?newNet net:class2 ?subEntity.	
+}
+WHERE {
+   # UW: type UW-Occurrence and substructure of req sentence
+   ?uw1 rdf:type unl:UW_Occurrence.
+   ?uw2 rdf:type unl:UW_Occurrence.
+   ?uw1 unl:is_substructure_of ?req.
+   ?uw2 unl:is_substructure_of ?req.
+   # net1: entity
+   ?net1 a net:Instance.
+   ?net1 net:type net:entity.
+   ?net1 net:node ?uw1.
+   ?net1 net:entityClass ?entityClass.
+   ?net1 net:concept ?mainEntity.	
+   # net2: complement modList
+   ?net2 a net:Instance.
+   ?net2 net:type net:complement_mod_list.
+   ?net2 net:node ?uw2.
+   ?net2 net:node ?uw3.
+   ?net2 net:featureClass ?featureClass.
+   ?net2 net:concept ?subComplement.	
+   # condition: mod(net1, net2)
+   ?uw1 unl:mod ?uw2.
+   # Label(s) / URI
+   cprm:Config_Parameters cprm:netURI ?netURI.
+   net:class_list rdfs:label ?classListLabel.
+   BIND (concat(?subComplement, '-', ?mainEntity) AS ?subEntity).
+   BIND (concat( ?netURI, ?classListLabel, '_') AS ?s1).
+   BIND (concat(?s1, ?mainEntity, '-', ?featureClass) AS ?s2).
+   BIND (uri(?s2) AS ?newNet).
+}
+
diff --git a/cts/net_extension/entity_extraction/307.cts b/cts/net_extension/entity_extraction/307.cts
new file mode 100644
index 00000000..115917df
--- /dev/null
+++ b/cts/net_extension/entity_extraction/307.cts
@@ -0,0 +1,55 @@
+PREFIX owl: <http://www.w3.org/2002/07/owl#>
+PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
+PREFIX unl: <https://unl.tetras-libre.fr/rdf/schema#>
+PREFIX net: <https://unsel.tetras-libre.fr/tenet/semantic-net#>
+PREFIX cprm: <https://unsel.tetras-libre.fr/tenet/config/parameters#>
+PREFIX req: <https://unsel.tetras-libre.fr/tenet/frame/requirement-ontology#>
+PREFIX sys: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology#>
+PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#>
+    
+# -- Query to compose an Entity net and an Entity ModList net (with same entity classes)
+INSERT { 
+   ?newNet a net:Instance.
+   ?newNet net:type net:entity_class_list.
+   ?newNet net:node ?uw1.
+   ?newNet net:node ?uw2.
+   ?newNet net:node ?uw3.
+   ?newNet net:entityClass ?entityClass1.
+   ?newNet net:class1 ?mainEntity.	
+   ?newNet net:class2 ?subEntity.	
+}
+WHERE {
+   # UW: type UW-Occurrence and substructure of req sentence
+   ?uw1 rdf:type unl:UW_Occurrence.
+   ?uw2 rdf:type unl:UW_Occurrence.
+   ?uw1 unl:is_substructure_of ?req.
+   ?uw2 unl:is_substructure_of ?req.
+   # net1: agent
+   ?net1 a net:Instance.
+   ?net1 net:type net:entity.
+   ?net1 net:node ?uw1.
+   ?net1 net:entityClass ?entityClass1.
+   ?net1 net:concept ?mainEntity.	
+   # net2: complement modList
+   ?net2 a net:Instance.
+   ?net2 net:type net:entity_mod_list.
+   ?net2 net:node ?uw2.
+   ?net2 net:node ?uw3.
+   ?net2 net:entityClass ?entityClass2.
+   ?net2 net:concept ?subEntity.	
+   # condition: mod(net1, net2)
+   ?uw1 unl:mod ?uw2.
+   # Label(s) / URI
+   ?uw2 rdfs:label ?uw2Label.
+   cprm:Config_Parameters cprm:netURI ?netURI.
+   net:class_list rdfs:label ?classListLabel.
+   BIND (strbefore(?uw2Label, '(') AS ?uw2Concept).
+   BIND (concat( ?netURI, ?classListLabel, '_') AS ?s1).
+   BIND (concat(?s1, ?mainEntity, '-', ?uw2Concept) AS ?s2).
+   BIND (uri(?s2) AS ?newNet).
+   # Filter: same entity classes
+   FILTER ( ?entityClass1 = ?entityClass2 )
+}
+
diff --git a/cts/net_extension/entity_extraction/308.cts b/cts/net_extension/entity_extraction/308.cts
new file mode 100644
index 00000000..2ae5ae43
--- /dev/null
+++ b/cts/net_extension/entity_extraction/308.cts
@@ -0,0 +1,55 @@
+PREFIX owl: <http://www.w3.org/2002/07/owl#>
+PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
+PREFIX unl: <https://unl.tetras-libre.fr/rdf/schema#>
+PREFIX net: <https://unsel.tetras-libre.fr/tenet/semantic-net#>
+PREFIX cprm: <https://unsel.tetras-libre.fr/tenet/config/parameters#>
+PREFIX req: <https://unsel.tetras-libre.fr/tenet/frame/requirement-ontology#>
+PREFIX sys: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology#>
+PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#>
+    
+# -- Query to compose an Entity net and an Entity ModList net (with distinct entity classes)
+INSERT { 
+   ?newNet a net:Instance.
+   ?newNet net:type net:entity_class_list.
+   ?newNet net:node ?uw1.
+   ?newNet net:node ?uw2.
+   ?newNet net:node ?uw3.
+   ?newNet net:entityClass ?entityClass1.
+   ?newNet net:class1 ?mainEntity.	
+   ?newNet net:class2 ?subEntity.	
+}
+WHERE {
+   # UW: type UW-Occurrence and substructure of req sentence
+   ?uw1 rdf:type unl:UW_Occurrence.
+   ?uw2 rdf:type unl:UW_Occurrence.
+   ?uw1 unl:is_substructure_of ?req.
+   ?uw2 unl:is_substructure_of ?req.
+   # net1: agent
+   ?net1 a net:Instance.
+   ?net1 net:type net:entity.
+   ?net1 net:node ?uw1.
+   ?net1 net:entityClass ?entityClass1.
+   ?net1 net:concept ?mainEntity.	
+   # net2: complement modList
+   ?net2 a net:Instance.
+   ?net2 net:type net:entity_mod_list.
+   ?net2 net:node ?uw2.
+   ?net2 net:node ?uw3.
+   ?net2 net:entityClass ?entityClass2.
+   ?net2 net:concept ?subEntity.	
+   # condition: mod(net1, net2)
+   ?uw1 unl:mod ?uw2.
+   # Label(s) / URI
+   ?uw2 rdfs:label ?uw2Label.
+   cprm:Config_Parameters cprm:netURI ?netURI.
+   net:class_list rdfs:label ?classListLabel.
+   BIND (strbefore(?uw2Label, '(') AS ?uw2Concept).
+   BIND (concat( ?netURI, ?classListLabel, '_') AS ?s1).
+   BIND (concat(?s1, ?mainEntity, '-', ?uw2Concept) AS ?s2).
+   BIND (uri(?s2) AS ?newNet).
+   # Filter: distinct entity classes
+   FILTER ( ?entityClass1 != ?entityClass2 )
+}
+
diff --git a/cts/preprocessing/reification/201.cts b/cts/preprocessing/reification/201.cts
new file mode 100644
index 00000000..ffaccc76
--- /dev/null
+++ b/cts/preprocessing/reification/201.cts
@@ -0,0 +1,20 @@
+PREFIX owl: <http://www.w3.org/2002/07/owl#>
+PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
+PREFIX unl: <https://unl.tetras-libre.fr/rdf/schema#>
+PREFIX net: <https://unsel.tetras-libre.fr/tenet/semantic-net#>
+PREFIX cprm: <https://unsel.tetras-libre.fr/tenet/config/parameters#>
+PREFIX req: <https://unsel.tetras-libre.fr/tenet/frame/requirement-ontology#>
+PREFIX sys: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology#>
+PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#>
+    
+# -- Request to extend UNL relation 
+INSERT { 
+    ?node1 ?unlRel ?node2. 
+}
+WHERE {
+    ?rel unl:has_source ?node1.
+    ?rel unl:has_target ?node2.
+    ?rel a ?unlRel.
+} 
diff --git a/cts/preprocessing/reification/202.cts b/cts/preprocessing/reification/202.cts
new file mode 100644
index 00000000..0c5cd9b1
--- /dev/null
+++ b/cts/preprocessing/reification/202.cts
@@ -0,0 +1,25 @@
+PREFIX owl: <http://www.w3.org/2002/07/owl#>
+PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
+PREFIX unl: <https://unl.tetras-libre.fr/rdf/schema#>
+PREFIX net: <https://unsel.tetras-libre.fr/tenet/semantic-net#>
+PREFIX cprm: <https://unsel.tetras-libre.fr/tenet/config/parameters#>
+PREFIX req: <https://unsel.tetras-libre.fr/tenet/frame/requirement-ontology#>
+PREFIX sys: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology#>
+PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#>
+    
+# -- Request to extend UNL relation to scopes 
+# (by connecting the source node of the scope to the entry node of the scope) 
+INSERT { 
+    ?node1Occ ?unlRel ?node2Occ. 
+}
+WHERE {
+    ?scope rdf:type unl:UNL_Scope.
+    ?node1Occ unl:is_source_of ?rel.
+    ?rel unl:has_target ?scope.
+    ?scope unl:is_scope_of ?scopeRel.
+    ?scopeRel unl:has_source ?node2Occ.
+    ?node2Occ unl:has_attribute ".@entry".
+    ?rel a ?unlRel.
+} 
diff --git a/cts/selection/101.cts b/cts/selection/101.cts
new file mode 100644
index 00000000..35784e82
--- /dev/null
+++ b/cts/selection/101.cts
@@ -0,0 +1,16 @@
+PREFIX owl: <http://www.w3.org/2002/07/owl#>
+PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
+PREFIX unl: <https://unl.tetras-libre.fr/rdf/schema#>
+PREFIX net: <https://unsel.tetras-libre.fr/tenet/semantic-net#>
+PREFIX cprm: <https://unsel.tetras-libre.fr/tenet/config/parameters#>
+PREFIX req: <https://unsel.tetras-libre.fr/tenet/frame/requirement-ontology#>
+PREFIX sys: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology#>
+PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#>
+    
+# -- Query to select net instance 
+SELECT ?net
+WHERE {
+    ?net rdf:type net:Instance.
+} 
diff --git a/cts/selection/102.cts b/cts/selection/102.cts
new file mode 100644
index 00000000..d874d405
--- /dev/null
+++ b/cts/selection/102.cts
@@ -0,0 +1,21 @@
+PREFIX owl: <http://www.w3.org/2002/07/owl#>
+PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
+PREFIX unl: <https://unl.tetras-libre.fr/rdf/schema#>
+PREFIX net: <https://unsel.tetras-libre.fr/tenet/semantic-net#>
+PREFIX cprm: <https://unsel.tetras-libre.fr/tenet/config/parameters#>
+PREFIX req: <https://unsel.tetras-libre.fr/tenet/frame/requirement-ontology#>
+PREFIX sys: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology#>
+PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#>
+    
+SELECT ?entity
+WHERE {
+   ?entity rdfs:subClassOf* ?entityClass.
+   fprm:System_Ontology fprm:frameURI ?frameURI.
+   fprm:System_Entity rdfs:label ?entityLabel.
+   ?entityClass rdfs:subClassOf ?entityClass2.
+   BIND (concat( ?frameURI, ?entityLabel) AS ?s1).
+   BIND (uri(?s1) AS ?entityUri).
+   FILTER ( ?entityClass = ?entityUri )
+}  
-- 
GitLab