diff --git a/config/semantic-net.ttl b/config/semantic-net.ttl index ce40e75b6d92ca54d61c4db753a1371282fdc7de..f488ec67b13ed4ba25e078acbe1895cabae83593 100644 --- a/config/semantic-net.ttl +++ b/config/semantic-net.ttl @@ -55,11 +55,6 @@ net:class rdfs:label "class" ; rdfs:subClassOf net:Type ; . -net:classUri - rdf:type rdf:Property ; - rdfs:label "class uri" ; - rdfs:subPropertyOf net:objectValue ; -. net:class_list rdf:type owl:Class ; rdfs:label "classList" ; @@ -110,6 +105,16 @@ net:has_atom rdfs:label "has atom" ; rdfs:subPropertyOf net:has_object ; . +net:has_class + rdf:type rdf:Property ; + rdfs:label "is class" ; + rdfs:subPropertyOf net:objectValue ; +. +net:has_class_uri + rdf:type rdf:Property ; + rdfs:label "class uri" ; + rdfs:subPropertyOf net:objectValue ; +. net:has_concept rdf:type rdf:Property ; rdfs:label "concept "@fr ; @@ -130,6 +135,11 @@ net:has_instance rdfs:label "entity instance" ; rdfs:subPropertyOf net:objectValue ; . +net:has_instance_uri + rdf:type rdf:Property ; + rdfs:label "instance uri" ; + rdfs:subPropertyOf net:objectValue ; +. net:has_item rdf:type rdf:Property ; rdfs:label "has item" ; @@ -160,6 +170,11 @@ net:has_parent_class rdfs:label "parent class" ; rdfs:subPropertyOf net:objectValue ; . +net:has_parent_class_uri + rdf:type rdf:Property ; + rdfs:label "parent class uri" ; + rdfs:subPropertyOf net:objectValue ; +. net:has_possible_domain rdf:type rdf:Property ; rdfs:label "has possible domain" ; @@ -185,11 +200,6 @@ net:has_verb rdfs:label "has verb" ; rdfs:subPropertyOf net:has_atom ; . -net:instanceUri - rdf:type rdf:Property ; - rdfs:label "instance uri" ; - rdfs:subPropertyOf net:objectValue ; -. net:list rdf:type owl:Class ; rdfs:label "list" ; @@ -238,11 +248,6 @@ net:objectValue rdfs:label "valuations"@fr ; rdfs:subPropertyOf net:objectProperty ; . -net:parentClassUri - rdf:type rdf:Property ; - rdfs:label "parent class uri" ; - rdfs:subPropertyOf net:objectValue ; -. net:state_property rdf:type owl:Class ; rdfs:label "stateProperty" ; diff --git a/config/transduction-schemes.ttl b/config/transduction-schemes.ttl index cbc29dc4740cafaa7b5d212dfa8a9a70f66e6d13..3a11d2048ea3fc42063341d425e9e4a151ae48e1 100644 --- a/config/transduction-schemes.ttl +++ b/config/transduction-schemes.ttl @@ -63,10 +63,11 @@ WHERE { ?net1 net:listOf net:composite. # -- old --- ?net1 net:type net:entity_class_list. ?net1 net:has_structure ?req. - ?net1 net:entityClass ?entityClass. + # -- old --- ?net1 net:entityClass ?entityClass. ?net1 net:has_node ?uw2, ?uw3. - ?net1 net:has_parent ?mainEntityObject. - ?mainEntityObject net:has_concept ?mainEntity. + ?net1 net:has_parent ?parentObject. + ?parentObject net:has_parent_class ?parentClass. # -- old --- ?entityClass + ?parentObject net:has_concept ?mainEntity. ?net1 net:has_item ?subEntityObject2, ?subEntityObject3. ?subEntityObject2 net:concept ?subEntity2. ?subEntityObject2 net:has_node ?uw2. @@ -84,7 +85,7 @@ WHERE { BIND (concat(?concept23, '_', ?mainEntity) AS ?subEntity23). # URI (for classes) sys:Structure sys:has_frame_uri ?frameURI. - BIND (concat( ?frameURI, ?entityClass) AS ?s1). + BIND (concat( ?frameURI, ?parentClass) AS ?s1). BIND (concat(?s1, '#', ?mainEntity) AS ?s2). BIND (concat(?s1, '#', ?subEntity2) AS ?s3). BIND (concat(?s1, '#', ?subEntity3) AS ?s4). @@ -132,10 +133,11 @@ WHERE { ?net1 net:listOf net:composite. # -- old --- ?net1 net:type net:entity_class_list. ?net1 net:has_structure ?req. - ?net1 net:entityClass ?entityClass. + # -- old --- ?net1 net:entityClass ?entityClass. ?net1 net:has_node ?uw2, ?uw3. - ?net1 net:has_parent ?mainEntityObject. - ?mainEntityObject net:has_concept ?mainEntity. + ?net1 net:has_parent ?parentObject. + ?parentObject net:has_parent_class ?parentClass. # -- old --- ?entityClass + ?parentObject net:has_concept ?mainEntity. ?net1 net:has_item ?subEntityObject2, ?subEntityObject3. ?subEntityObject2 net:has_concept ?subEntity2. ?subEntityObject2 net:has_node ?uw2. @@ -153,7 +155,7 @@ WHERE { BIND (concat(?concept23, '_', ?mainEntity) AS ?subEntity23). # URI (for classes) sys:Structure sys:has_frame_uri ?frameURI. - BIND (concat( ?frameURI, ?entityClass) AS ?s1). + BIND (concat( ?frameURI, ?parentClass) AS ?s1). BIND (concat(?s1, '#', ?mainEntity) AS ?s2). BIND (concat(?s1, '#', ?subEntity2) AS ?s3). BIND (concat(?s1, '#', ?subEntity3) AS ?s4). @@ -214,12 +216,12 @@ WHERE { ?actorObject1 net:has_parent_class ?actorClass. ?actorObject1 net:has_concept ?actorConcept. ?actorObject1 net:has_instance ?actorInstance. - ?actorObject1 net:instanceUri ?actorInstanceUri. + ?actorObject1 net:has_instance_uri ?actorInstanceUri. ?net1 net:has_target ?targetObject1. ?targetObject1 net:has_parent_class ?targetClass. ?targetObject1 net:has_concept ?targetConcept. ?targetObject1 net:has_instance ?targetInstance. - ?targetObject1 net:instanceUri ?targetInstanceUri. + ?targetObject1 net:has_instance_uri ?targetInstanceUri. # Label: event BIND (concat(?actorConcept, '-', ?verbConcept) AS ?e1). BIND (concat(?e1, '-', ?targetConcept) AS ?eventLabel). @@ -348,19 +350,19 @@ cts:batch_execution sh:rule cts:compute-domain-range-of-state-property-object-properties ; sh:rule cts:compute-instance-uri-of-net-object ; sh:rule cts:create-atom-net ; - sh:rule cts:create-unary-list-net ; + sh:rule cts:create-unary-atom-list-net ; sh:rule cts:define-uw-id ; - sh:rule cts:extend-list-net ; + sh:rule cts:extend-atom-list-net ; sh:rule cts:generate-atom-class ; sh:rule cts:generate-atom-instance ; sh:rule cts:generate-composite-class-from-list-net ; - sh:rule cts:init-conjunctive-list-net ; - sh:rule cts:init-disjunctive-list-net ; + sh:rule cts:init-conjunctive-atom-list-net ; + sh:rule cts:init-disjunctive-atom-list-net ; sh:rule cts:instantiate-atom-net ; sh:rule cts:instantiate-composite-in-list-by-extension-1 ; sh:rule cts:instantiate-composite-in-list-by-extension-2 ; sh:rule cts:link-to-scope-entry ; - sh:rule cts:specify-axis-of-list-net ; + sh:rule cts:specify-axis-of-atom-list-net ; . cts:batch_execution_1 rdf:type cts:batch_execution ; @@ -413,7 +415,9 @@ WHERE { ?net1 a net:Instance. ?net1 net:type net:list. ?net1 net:listOf net:composite. - ?net1 net:entityClass ?entityClass. + # -- old --- ?net1 net:entityClass ?entityClass. + ?net1 net:has_parent ?parentObject. + ?parentObject net:has_parent_class ?parentClass. # -- old --- ?entityClass ?net1 net:has_item ?subEntityObject. ?subEntityObject net:has_concept ?subEntity. ?subEntityObject net:has_feature ?featureObject. @@ -425,7 +429,7 @@ WHERE { ?featureObject net:has_concept ?featureConcept. # URI: entity class sys:Structure sys:has_frame_uri ?frameURI. - BIND (concat( ?frameURI, ?entityClass) AS ?c1). + BIND (concat( ?frameURI, ?parentClass) AS ?c1). BIND (concat(?c1, '#', ?subEntity) AS ?c2). BIND (uri(?c2) AS ?subEntityUri). # URI: feature class @@ -599,7 +603,8 @@ CONSTRUCT { ?newObject net:objectType net:composite. ?newObject net:has_node ?uw1, ?uw3. ?newObject net:has_mother_class ?net1Mother. - # -- TODO --- ?newObject net:has_parent_class ?net1Class. + ?newObject net:has_parent_class ?net1Class. + ?newObject net:has_class ?subConcept. ?newObject net:has_concept ?subConcept. ?newObject net:has_feature ?net2Item. # Net: Composite List @@ -622,6 +627,7 @@ WHERE { ?net1 net:has_atom ?net1Object. ?net1Object net:has_mother_class ?net1Mother. ?net1Object net:has_parent_class ?net1ParentClass. + ?net1Object net:has_class ?net1Class. ?net1Object net:has_concept ?net1Concept. # condition: mod(net1, net2) ?uw1 unl:mod ?uw2. @@ -740,18 +746,18 @@ PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#> # -- Compute useful URI CONSTRUCT { # Net Object URI - ?object net:parentClassUri ?parentClassUri. - ?object net:classUri ?objectClassUri. + ?object net:has_parent_class_uri ?parentClassUri. + ?object net:has_class_uri ?objectClassUri. } WHERE { # object ?object a net:Object. - ?object net:has_parent_class ?objectClass. - ?object net:has_concept ?objectConcept. + ?object net:has_parent_class ?objectParentClass. + ?object net:has_class ?objectClass. # URI (for classes) sys:Structure sys:has_frame_uri ?frameURI. - BIND (concat( ?frameURI, ?objectClass) AS ?s1). - BIND (concat(?s1, '#', ?objectConcept) AS ?s2). + BIND (concat( ?frameURI, ?objectParentClass) AS ?s1). + BIND (concat(?s1, '#', ?objectClass) AS ?s2). BIND (uri( ?s1) AS ?parentClassUri). BIND (uri(?s2) AS ?objectClassUri). }""" ; @@ -890,16 +896,16 @@ PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#> # -- Compute useful URI CONSTRUCT { # Net Object URI - ?object net:instanceUri ?objectInstanceUri. + ?object net:has_instance_uri ?objectInstanceUri. } WHERE { # object ?object a net:Object. - ?object net:has_parent_class ?objectClass. + ?object net:has_parent_class ?objectParentClass. ?object net:has_instance ?objectInstance. # URI (for classes and instance) sys:Structure sys:has_frame_uri ?frameURI. - BIND (concat( ?frameURI, ?objectClass) AS ?s1). + BIND (concat( ?frameURI, ?objectParentClass) AS ?s1). BIND (concat(?s1, '_', ?objectInstance) AS ?s3). BIND (uri(?s3) AS ?objectInstanceUri). }""" ; @@ -926,6 +932,7 @@ CONSTRUCT { ?newObject net:has_node ?uw1. ?newObject net:has_mother_class ?atomMother. ?newObject net:has_parent_class ?atomClass. + ?newObject net:has_class ?concept1. ?newObject net:has_concept ?concept1. # Net ?newNet a net:Instance. @@ -937,7 +944,6 @@ CONSTRUCT { } WHERE { # Atom Description (from System Ontology) - # -- old --- ?targetClass rdfs:subClassOf sys:Entity. ?targetClass rdfs:subClassOf* sys:Structure. ?targetClass sys:has_mother_class ?atomMother. ?targetClass sys:is_class ?atomClass. @@ -966,7 +972,7 @@ WHERE { }""" ; sh:order 2.11 ; . -cts:create-unary-list-net +cts:create-unary-atom-list-net 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#> @@ -979,8 +985,9 @@ 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#> -# -- Initialize a ModList net +# -- Create an unary Atom List net CONSTRUCT { + # Net: Atom List ?newNet a net:Instance. ?newNet net:type net:list. ?newNet net:type net:unary_list. @@ -990,7 +997,7 @@ CONSTRUCT { ?newNet net:has_item ?object1. } WHERE { - # Net: atom + # Net: Atom ?net1 a net:Instance. ?net1 net:type net:atom. ?net1 net:atomOf ?net1Mother. @@ -1060,8 +1067,8 @@ cts:entity_extraction sh:rule cts:compose-atom-with-list-by-mod-1 ; sh:rule cts:compose-atom-with-list-by-mod-2 ; sh:rule cts:create-atom-net ; - sh:rule cts:extend-list-net ; - sh:rule cts:init-conjunctive-list-net ; + sh:rule cts:extend-atom-list-net ; + sh:rule cts:init-conjunctive-atom-list-net ; sh:rule cts:instantiate-atom-net ; sh:rule cts:instantiate-composite-in-list-by-extension-2 ; . @@ -1072,7 +1079,7 @@ cts:event_extraction rdfs:subClassOf cts:net_extension ; sh:rule cts:compose-agt-verb-obj-as-simple-event ; . -cts:extend-list-net +cts:extend-atom-list-net 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#> @@ -1085,20 +1092,22 @@ 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#> -# -- Extend a ModList net +# -- Extend an Atom List net CONSTRUCT { + # Update Atom List net (net1) ?net1 net:has_node ?uw2. ?net1 net:has_item ?object2. } WHERE { - # net1: list + # Net1: Atom List ?net1 a net:Instance. ?net1 net:type net:list. + ?net1 net:listOf net:atom. ?net1 net:has_structure ?req. ?net1 net:has_node ?uw1. # extension: disjunction of UW ?uw1 (unl:or|unl:and) ?uw2. - # net2: atom + # Net2: Atom ?net2 a net:Instance. ?net2 net:type net:atom. ?net2 net:has_structure ?req. @@ -1140,7 +1149,8 @@ WHERE { ?net1 net:type net:atom. ?net1 net:has_structure ?req. ?net1 net:has_atom ?atomObject1. - ?atomObject1 net:has_parent_class ?atomParentClass. + ?atomObject1 net:has_parent_class_uri ?parentUri. + ?atomObject1 net:has_class_uri ?newClassUri. ?atomObject1 net:has_concept ?atomConcept. # Filter: atom not present in a composite list FILTER NOT EXISTS { @@ -1149,11 +1159,11 @@ WHERE { ?net2 net:has_item ?atomObject1. } # URI: class - sys:Structure sys:has_frame_uri ?frameURI. - BIND (concat( ?frameURI, ?atomParentClass) AS ?s1). - BIND (concat(?s1, '#', ?atomConcept) AS ?s2). - BIND (uri( ?s1) AS ?parentUri). - BIND (uri(?s2) AS ?newClassUri). + # -- old --- sys:Structure sys:has_frame_uri ?frameURI. + # -- old --- BIND (concat( ?frameURI, ?atomParentClass) AS ?s1). + # -- old --- BIND (concat(?s1, '#', ?atomConcept) AS ?s2). + # -- old --- BIND (uri( ?s1) AS ?parentUri). + # -- old --- BIND (uri(?s2) AS ?newClassUri). }""" ; sh:order 3.1 ; . @@ -1215,17 +1225,15 @@ 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#> -# -- Add Entity classes in System Ontology +# -- Add Composite Class in System Ontology (from Composite List net) CONSTRUCT { # Classification - ?subEntityUri rdfs:subClassOf ?mainEntityUri. - ?subEntityUri rdfs:label ?subEntity. - ?subEntityUri sys:from_structure ?req. - # -- old --- ?mainEntityUri rdfs:subClassOf ?entityUri. - # -- old --- ?mainEntityUri rdfs:label ?mainEntity. + ?newClassUri rdfs:subClassOf ?parentUri. + ?newClassUri rdfs:label ?compositeConcept. + ?newClassUri sys:from_structure ?req. # Instantiation (extension) - ?mainInstanceUri rdf:type ?subEntityUri. - ?mainInstanceUri sys:from_structure ?req. + ?instanceUri rdf:type ?newClassUri. + ?instanceUri sys:from_structure ?req. } WHERE { # net1: Composite List @@ -1233,23 +1241,24 @@ WHERE { ?net1 net:type net:list. ?net1 net:listOf net:composite. ?net1 net:has_structure ?req. - ?net1 net:entityClass ?entityClass. - ?net1 net:has_parent ?mainEntityObject. - ?mainEntityObject net:has_concept ?mainEntity. - ?net1 net:has_item ?subEntityObject. - ?subEntityObject net:has_concept ?subEntity. - ?subEntityObject net:has_instance ?mainInstance. + # -- old --- ?net1 net:entityClass ?entityClass. + ?net1 net:has_parent ?parentObject. # -- old --- ?mainEntityObject. + ?parentObject net:has_parent_class ?parentClass. # -- old --- ?entityClass. + ?parentObject net:has_concept ?parentConcept. # -- old --- ?mainEntity. + ?net1 net:has_item ?compositeObject. + ?compositeObject net:has_concept ?compositeConcept. #-- old --- ?subEntity + ?compositeObject net:has_instance ?compositeInstance. # Filter -- old --- FILTER NOT EXISTS { ?net2 net:has_subClass ?mainEntity} # URI (for classes) sys:Structure sys:has_frame_uri ?frameURI. - BIND (concat( ?frameURI, ?entityClass) AS ?s1). - BIND (concat(?s1, '#', ?mainEntity) AS ?s2). - BIND (concat(?s1, '#', ?subEntity) AS ?s3). - BIND (uri(?s2) AS ?mainEntityUri). - BIND (uri(?s3) AS ?subEntityUri). + BIND (concat( ?frameURI, ?parentClass) AS ?s1). + BIND (concat(?s1, '#', ?parentConcept) AS ?s2). + BIND (concat(?s1, '#', ?compositeConcept) AS ?s3). + BIND (uri(?s2) AS ?parentUri). # -- old --- ?mainEntityUri). + BIND (uri(?s3) AS ?newClassUri). # -- old --- ?subEntityUri). # URI (for instance) - BIND (concat(?s1, '_', ?mainInstance) AS ?s4). - BIND (uri(?s4) AS ?mainInstanceUri). + BIND (concat(?s1, '_', ?compositeInstance) AS ?s4). + BIND (uri(?s4) AS ?instanceUri). }""" ; sh:order 3.2 ; . @@ -1271,7 +1280,7 @@ cts:generation sh:rule cts:generate-atom-instance ; sh:rule cts:generate-composite-class-from-list-net ; . -cts:init-conjunctive-list-net +cts:init-conjunctive-atom-list-net 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#> @@ -1284,8 +1293,9 @@ 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#> -# -- Initialize a ModList net +# -- Initialize a conjunctive Atom List net CONSTRUCT { + # Net: Atom List ?newNet a net:Instance. ?newNet net:type net:list. ?newNet net:type net:conjunctive_list. @@ -1295,7 +1305,7 @@ CONSTRUCT { ?newNet net:has_item ?object1. } WHERE { - # Net: atom + # Net: Atom ?net1 a net:Instance. ?net1 net:type net:atom. ?net1 net:atomOf ?net1Mother. @@ -1320,7 +1330,7 @@ WHERE { }""" ; sh:order 2.21 ; . -cts:init-disjunctive-list-net +cts:init-disjunctive-atom-list-net 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#> @@ -1333,8 +1343,9 @@ 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#> -# -- Initialize a ModList net +# -- Initialize a disjunctive Atom List net CONSTRUCT { + # Net: Atom List ?newNet a net:Instance. ?newNet net:type net:list. ?newNet net:type net:disjunctive_list. @@ -1344,7 +1355,7 @@ CONSTRUCT { ?newNet net:has_item ?object1. } WHERE { - # Net: atom + # Net: Atom ?net1 a net:Instance. ?net1 net:type net:atom. ?net1 net:atomOf ?net1Mother. @@ -1453,7 +1464,7 @@ CONSTRUCT { ?net2SubObject net:has_instance ?parentInstance. } WHERE { - # net1: Composite Liste + # net1: Composite List ?net1 a net:Instance. ?net1 net:type net:list. ?net1 net:listOf net:composite. @@ -1524,7 +1535,7 @@ cts:preprocessing sh:rule cts:define-uw-id ; sh:rule cts:link-to-scope-entry ; . -cts:specify-axis-of-list-net +cts:specify-axis-of-atom-list-net 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#> @@ -1537,17 +1548,19 @@ 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#> -# -- Specify the class of items in the list +# -- Specify axis of Atom List net CONSTRUCT { + # Update Atom List net (net1) ?net1 net:listBy ?unlRel. } WHERE { # UW: type UW-Occurrence and substructure of req sentence ?uw0 rdf:type unl:UW_Occurrence. ?uw0 unl:is_substructure_of ?req. - # net: modList + # Net: Atom List ?net1 a net:Instance. ?net1 net:type net:list. + ?net1 net:listOf net:atom. ?net1 net:has_node ?uw1. # selection: target UW of modifier (mod) ?uw0 ?unlRel ?uw1.