diff --git a/config/transduction-schemes.ttl b/config/transduction-schemes.ttl index 1d23f133b74ce42e99fbd7723fd6cd3beab7185d..c57a2119a327f707a252f04685d9047ec57d0897 100644 --- a/config/transduction-schemes.ttl +++ b/config/transduction-schemes.ttl @@ -403,8 +403,8 @@ cts:batch_execution sh:rule cts:init-conjunctive-list-net ; sh:rule cts:init-disjunctive-list-net ; sh:rule cts:instantiate-atom-net ; - sh:rule cts:instantiate-classlist-by-extension-1 ; - sh:rule cts:instantiate-classlist-by-extension-2 ; + 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 ; . @@ -639,7 +639,7 @@ PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#> # -- Compose an atom net and a list net (with distinct item classes) CONSTRUCT { - # Object: entity 2 + # Object: composite (A) ?newObject12 a net:Object. ?newObject12 net:objectType net:composite. ?newObject12 net:has_node ?uw1, ?uw2. @@ -647,7 +647,7 @@ CONSTRUCT { # -- TODO --- ?newObject12 net:has_parent_class ?net1Class. ?newObject12 net:has_concept ?subConceptA. ?newObject12 net:has_feature ?net2ItemA. - # Object: entity 3 + # Object: composite (B) ?newObject13 a net:Object. ?newObject13 net:objectType net:composite. ?newObject13 net:has_node ?uw1, ?uw3. @@ -1112,8 +1112,7 @@ cts:entity_extraction sh:rule cts:extend-list-net ; sh:rule cts:init-conjunctive-list-net ; sh:rule cts:instantiate-atom-net ; - sh:rule cts:instantiate-classlist-by-extension-1 ; - sh:rule cts:instantiate-classlist-by-extension-2 ; + sh:rule cts:instantiate-composite-in-list-by-extension-2 ; . cts:event_extraction rdf:type owl:Class ; @@ -1193,7 +1192,7 @@ WHERE { ?atomObject1 net:has_parent_class ?atomParentClass. ?atomObject1 net:has_concept ?atomConcept. # Filter: entity not present in a class list - FILTER NOT EXISTS { ?net2 net:class2 ?atomConcept} + FILTER NOT EXISTS { ?net2 net:has_subClass ?atomObject1} # URI: class sys:Structure sys:has_frame_uri ?frameURI. BIND (concat( ?frameURI, ?atomParentClass) AS ?s1). @@ -1402,7 +1401,7 @@ WHERE { }""" ; sh:order 2.12 ; . -cts:instantiate-classlist-by-extension-1 +cts:instantiate-composite-in-list-by-extension-1 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#> @@ -1415,30 +1414,23 @@ 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#> -# -- Instantiate entities in class list by extension of instances (2) +# -- Instantiate composite in list by extension of instances from parent element CONSTRUCT { - ?subObject2 net:has_instance ?instanceName1. + ?subObject2 net:has_instance ?parentInstance. } WHERE { - # net1: atom with instance - ?net1 a net:Instance. - ?net1 net:type net:atom. - ?net1 net:has_structure ?sameReq. - ?net1 net:has_atom ?sameObject1. - ?sameObject1 net:has_instance ?instanceName1. - # net2: entity classList + # net2: list of composite items ?net2 a net:Instance. ?net2 net:type net:entity_class_list. - ?net2 net:entityClass ?sameClass. - ?net2 net:has_structure ?sameReq. - ?net2 net:has_mainClass ?sameObject1. + ?net2 net:has_mainClass ?parentObject. + ?parentObject net:has_instance ?parentInstance. ?net2 net:has_subClass ?subObject2. # Filter - FILTER NOT EXISTS { ?subObject2 net:has_instance ?instanceName2 } . + FILTER NOT EXISTS { ?subObject2 net:has_instance ?anyInstance } . }""" ; - sh:order 2.34 ; + sh:order 2.341 ; . -cts:instantiate-classlist-by-extension-2 +cts:instantiate-composite-in-list-by-extension-2 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#> @@ -1453,29 +1445,28 @@ PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#> # -- Instantiate entities in class list by extension of instances (2) CONSTRUCT { - ?subObject2 net:has_instance ?instanceName1. + ?net2SubObject net:has_instance ?parentInstance. } WHERE { - # net2: entity classList with instance + # net1: list of composite items ?net1 a net:Instance. ?net1 net:type net:entity_class_list. - ?net1 net:entityClass ?sameClass. ?net1 net:has_structure ?sameReq. - ?net1 net:has_subClass ?entityObject1. - ?entityObject1 net:has_concept ?sameEntity. - ?entityObject1 net:has_instance ?instanceName1. - # net2: another entity classList + ?net1 net:has_mainClass ?parentObject. + ?parentObject net:has_instance ?parentInstance. + ?net1 net:has_subClass ?net1SubObject. + ?net1SubObject net:has_concept ?sameEntity. + # net2: another list ?net2 a net:Instance. ?net2 net:type net:entity_class_list. - ?net2 net:entityClass ?sameClass. ?net2 net:has_structure ?sameReq. - ?net2 net:has_mainClass ?entityObject2. - ?entityObject2 net:has_concept ?sameEntity. - ?net2 net:has_subClass ?subObject2. + ?net2 net:has_mainClass ?net2MainObject. + ?net2MainObject net:has_concept ?sameEntity. + ?net2 net:has_subClass ?net2SubObject. # Filter - FILTER NOT EXISTS { ?subObject2 net:has_instance ?instanceName2 } . + FILTER NOT EXISTS { ?net2SubObject net:has_instance ?anyInstance } . }""" ; - sh:order 2.35 ; + sh:order 2.342 ; . cts:link-to-scope-entry rdf:type sh:SPARQLRule ;