From b865d14e411a65658a093c8b782bb4b68cc6ba65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Lamercerie?= <aurelien.lamercerie@laposte.net> Date: Thu, 26 Aug 2021 10:29:03 +0200 Subject: [PATCH] Clean project after add of RDF Transductions Schemes definition --- CHANGELOG | 4 +- config/transduction-schemes.ttl | 34 +- 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 - extraction-rules.shapes.ttl | 582 -------------------- 17 files changed, 24 insertions(+), 1094 deletions(-) delete mode 100644 cts/generation/classification/401.cts delete mode 100644 cts/generation/classification/402.cts delete mode 100644 cts/net_extension/entity_extraction/301.cts delete mode 100644 cts/net_extension/entity_extraction/302.cts delete mode 100644 cts/net_extension/entity_extraction/303.cts delete mode 100644 cts/net_extension/entity_extraction/304.cts delete mode 100644 cts/net_extension/entity_extraction/305.cts delete mode 100644 cts/net_extension/entity_extraction/306.cts delete mode 100644 cts/net_extension/entity_extraction/307.cts delete mode 100644 cts/net_extension/entity_extraction/308.cts delete mode 100644 cts/preprocessing/reification/201.cts delete mode 100644 cts/preprocessing/reification/202.cts delete mode 100644 cts/selection/101.cts delete mode 100644 cts/selection/102.cts delete mode 100644 extraction-rules.shapes.ttl diff --git a/CHANGELOG b/CHANGELOG index 376d8120..d1f20843 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -5,10 +5,10 @@ All notable changes to this project will be documented in this file. ------------------------------------------------------------------------------- -## [0.1.1] - 2021-08-24 +## [0.1.1] - 2021-08-26 ### Added -- Compositionnal Trandusction Scheme (CTS) +- Trandusction Schemes as RDF definition using SHACL rules - Command **_extract.py_** to analyse one sentence - Init corpus ABCD (dev test) diff --git a/config/transduction-schemes.ttl b/config/transduction-schemes.ttl index ab74a3a0..01e82c46 100644 --- a/config/transduction-schemes.ttl +++ b/config/transduction-schemes.ttl @@ -1,11 +1,5 @@ # baseURI: https://unsel.tetras-libre.fr/tenet/transduction-schemes # imports: http://datashapes.org/dash -# imports: https://unl.tetras-libre.fr/rdf/schema -# imports: https://unsel.tetras-libre.fr/tenet/config/parameters -# imports: https://unsel.tetras-libre.fr/tenet/frame/parameters -# imports: https://unsel.tetras-libre.fr/tenet/frame/requirement-ontology -# imports: https://unsel.tetras-libre.fr/tenet/frame/system-ontology -# imports: https://unsel.tetras-libre.fr/tenet/semantic-net # prefix: cts @prefix cts: <https://unsel.tetras-libre.fr/tenet/transduction-schemes#> . @@ -23,12 +17,6 @@ sh:SPARQLRule <https://unsel.tetras-libre.fr/tenet/transduction-schemes> rdf:type owl:Ontology ; owl:imports <http://datashapes.org/dash> ; - owl:imports <https://unl.tetras-libre.fr/rdf/schema> ; - owl:imports <https://unsel.tetras-libre.fr/tenet/config/parameters> ; - owl:imports <https://unsel.tetras-libre.fr/tenet/frame/parameters> ; - owl:imports <https://unsel.tetras-libre.fr/tenet/frame/requirement-ontology> ; - owl:imports <https://unsel.tetras-libre.fr/tenet/frame/system-ontology> ; - owl:imports <https://unsel.tetras-libre.fr/tenet/semantic-net> ; . cts:Transduction_Schemes rdf:type owl:Class ; @@ -333,6 +321,7 @@ cts:dev_schemes rdf:type sh:NodeShape ; rdfs:label "dev schemes" ; rdfs:subClassOf cts:Transduction_Schemes ; + sh:rule cts:test_1 ; . cts:entity_extraction rdf:type owl:Class ; @@ -527,6 +516,27 @@ cts:preprocessing_1 rdf:type cts:preprocessing ; rdfs:label "preprocessing 1" ; . +cts:test_1 + rdf:type sh:SPARQLRule ; + rdfs:label "test 1" ; + sh:construct """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#> + +CONSTRUCT { + ?net1 a net:Instance. +} +WHERE { + ?net1 a net:Instance. +}""" ; +. cts:typify-modlist-entity rdf:type sh:SPARQLRule ; sh:construct """PREFIX owl: <http://www.w3.org/2002/07/owl#> diff --git a/cts/generation/classification/401.cts b/cts/generation/classification/401.cts deleted file mode 100644 index a90a295d..00000000 --- a/cts/generation/classification/401.cts +++ /dev/null @@ -1,38 +0,0 @@ -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 deleted file mode 100644 index 958d42d6..00000000 --- a/cts/generation/classification/402.cts +++ /dev/null @@ -1,35 +0,0 @@ -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 deleted file mode 100644 index 1b56e93d..00000000 --- a/cts/net_extension/entity_extraction/301.cts +++ /dev/null @@ -1,38 +0,0 @@ -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 deleted file mode 100644 index ed55c2db..00000000 --- a/cts/net_extension/entity_extraction/302.cts +++ /dev/null @@ -1,36 +0,0 @@ -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 deleted file mode 100644 index 2ff2b7de..00000000 --- a/cts/net_extension/entity_extraction/303.cts +++ /dev/null @@ -1,34 +0,0 @@ -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 deleted file mode 100644 index b5653999..00000000 --- a/cts/net_extension/entity_extraction/304.cts +++ /dev/null @@ -1,36 +0,0 @@ -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 deleted file mode 100644 index 7a4d7ec5..00000000 --- a/cts/net_extension/entity_extraction/305.cts +++ /dev/null @@ -1,36 +0,0 @@ -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 deleted file mode 100644 index 36f86e3a..00000000 --- a/cts/net_extension/entity_extraction/306.cts +++ /dev/null @@ -1,53 +0,0 @@ -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 deleted file mode 100644 index 115917df..00000000 --- a/cts/net_extension/entity_extraction/307.cts +++ /dev/null @@ -1,55 +0,0 @@ -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 deleted file mode 100644 index 2ae5ae43..00000000 --- a/cts/net_extension/entity_extraction/308.cts +++ /dev/null @@ -1,55 +0,0 @@ -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 deleted file mode 100644 index ffaccc76..00000000 --- a/cts/preprocessing/reification/201.cts +++ /dev/null @@ -1,20 +0,0 @@ -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 deleted file mode 100644 index 0c5cd9b1..00000000 --- a/cts/preprocessing/reification/202.cts +++ /dev/null @@ -1,25 +0,0 @@ -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 deleted file mode 100644 index 35784e82..00000000 --- a/cts/selection/101.cts +++ /dev/null @@ -1,16 +0,0 @@ -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 deleted file mode 100644 index d874d405..00000000 --- a/cts/selection/102.cts +++ /dev/null @@ -1,21 +0,0 @@ -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 ) -} diff --git a/extraction-rules.shapes.ttl b/extraction-rules.shapes.ttl deleted file mode 100644 index 7be7aecd..00000000 --- a/extraction-rules.shapes.ttl +++ /dev/null @@ -1,582 +0,0 @@ -# baseURI: http://unsel.unl-rdf.org/extraction-rules -# imports: http://datashapes.org/dash -# imports: http://unsel.rdf-unl.org/store/CCTP-SRSA-IP-20210625/SRSA-IP_STB_PHON_00300/current/sentence_0#ontology -# imports: https://unl.tetras-libre.fr/rdf/schema -# imports: https://unsel.tetras-libre.fr/tenet/config/parameters -# imports: https://unsel.tetras-libre.fr/tenet/frame/parameters -# imports: https://unsel.tetras-libre.fr/tenet/frame/requirement-ontology -# imports: https://unsel.tetras-libre.fr/tenet/frame/system-ontology -# imports: https://unsel.tetras-libre.fr/tenet/semantic-net - -@prefix : <http://unsel.unl-rdf.org/extraction-rules#> . -@prefix dash: <http://datashapes.org/dash#> . -@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 schema: <https://unl.tetras-libre.fr/rdf/schema#> . -@prefix sentence_0: <http://unsel.rdf-unl.org/store/CCTP-SRSA-IP-20210625/SRSA-IP_STB_PHON_00300/current/sentence_0#> . -@prefix sh: <http://www.w3.org/ns/shacl#> . -@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . - -<http://unsel.unl-rdf.org/extraction-rules> - rdf:type owl:Ontology ; - owl:imports <http://datashapes.org/dash> ; - owl:imports sentence_0:ontology ; - owl:imports <https://unl.tetras-libre.fr/rdf/schema> ; - owl:imports <https://unsel.tetras-libre.fr/tenet/config/parameters> ; - owl:imports <https://unsel.tetras-libre.fr/tenet/frame/parameters> ; - owl:imports <https://unsel.tetras-libre.fr/tenet/frame/requirement-ontology> ; - owl:imports <https://unsel.tetras-libre.fr/tenet/frame/system-ontology> ; - owl:imports <https://unsel.tetras-libre.fr/tenet/semantic-net> ; - owl:versionInfo "Created with TopBraid Composer" ; -. -<http://unsel.unl-rdf.org/extraction-rules#301> - rdf:type sh:SPARQLRule ; - sh:construct """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 -CONSTRUCT { - ?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)) ). -}""" ; - sh:order "301"^^xsd:decimal ; -. -<http://unsel.unl-rdf.org/extraction-rules#302> - rdf:type sh:SPARQLRule ; - sh:construct """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 -CONSTRUCT { - ?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). -}""" ; - sh:order "302"^^xsd:decimal ; -. -<http://unsel.unl-rdf.org/extraction-rules#303> - rdf:type sh:SPARQLRule ; - sh:construct """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 -CONSTRUCT { - ?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) -} - -""" ; - sh:order "303"^^xsd:decimal ; -. -<http://unsel.unl-rdf.org/extraction-rules#304> - rdf:type sh:SPARQLRule ; - sh:construct """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 -CONSTRUCT { - ?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)) ). -} - -""" ; - sh:order "304"^^xsd:decimal ; -. -<http://unsel.unl-rdf.org/extraction-rules#305> - rdf:type sh:SPARQLRule ; - sh:construct """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 -CONSTRUCT { - ?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)) ). -} - -""" ; - sh:order "305"^^xsd:decimal ; -. -<http://unsel.unl-rdf.org/extraction-rules#306> - rdf:type sh:SPARQLRule ; - sh:construct """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 -CONSTRUCT { - ?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). -} - -""" ; - sh:order "306"^^xsd:decimal ; -. -<http://unsel.unl-rdf.org/extraction-rules#307> - rdf:type sh:SPARQLRule ; - sh:construct """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) -CONSTRUCT { - ?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 ) -} - -""" ; - sh:order "307"^^xsd:decimal ; -. -<http://unsel.unl-rdf.org/extraction-rules#308> - rdf:type sh:SPARQLRule ; - sh:construct """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) -CONSTRUCT { - ?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 ) -} - -""" ; - sh:order "308"^^xsd:decimal ; -. -<http://unsel.unl-rdf.org/extraction-rules#401> - rdf:type sh:SPARQLRule ; - sh:construct """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 -CONSTRUCT { - ?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} -} - -""" ; - sh:order "401"^^xsd:decimal ; -. -<http://unsel.unl-rdf.org/extraction-rules#402> - rdf:type sh:SPARQLRule ; - sh:construct """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 -CONSTRUCT { - ?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). -} - -""" ; - sh:order "402"^^xsd:decimal ; -. -:bypass-reification - rdf:type sh:SPARQLRule ; - sh:construct """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 -CONSTRUCT { - ?node1 ?unlRel ?node2. -} -WHERE { - ?rel unl:has_source ?node1. - ?rel unl:has_target ?node2. - ?rel a ?unlRel. -} """ ; - sh:order "0"^^xsd:decimal ; -. -:extraction_rules - rdf:type owl:Class ; - rdfs:subClassOf owl:Thing ; -. -:generation - rdf:type rdfs:Class ; - rdfs:subClassOf sh:SPARQLRule ; -. -:link-to-scope-entry - rdf:type sh:SPARQLRule ; - sh:construct """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) -CONSTRUCT { - ?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. -} """ ; - sh:order "0"^^xsd:decimal ; -. -:net_extension - rdf:type rdfs:Class ; - rdfs:subClassOf sh:SPARQLRule ; -. -:preprocessing - rdf:type rdfs:Class ; - rdfs:subClassOf :extraction_rules ; -. -sh:SPARQLRule - rdfs:subClassOf owl:Thing ; -. -schema:UNL_Sentence - rdf:type sh:NodeShape ; - sh:rule <http://unsel.unl-rdf.org/extraction-rules#301> ; - sh:rule <http://unsel.unl-rdf.org/extraction-rules#302> ; - sh:rule <http://unsel.unl-rdf.org/extraction-rules#303> ; - sh:rule <http://unsel.unl-rdf.org/extraction-rules#304> ; - sh:rule <http://unsel.unl-rdf.org/extraction-rules#305> ; - sh:rule <http://unsel.unl-rdf.org/extraction-rules#306> ; - sh:rule <http://unsel.unl-rdf.org/extraction-rules#307> ; - sh:rule <http://unsel.unl-rdf.org/extraction-rules#308> ; - sh:rule <http://unsel.unl-rdf.org/extraction-rules#401> ; - sh:rule <http://unsel.unl-rdf.org/extraction-rules#402> ; - sh:rule :bypass-reification ; - sh:rule :link-to-scope-entry ; -. -- GitLab