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