Skip to content
Snippets Groups Projects
Commit 477b33c7 authored by Aurélien Lamercerie's avatar Aurélien Lamercerie
Browse files

Update CTS to improve instantiation of composite list

parent 04790189
No related branches found
No related tags found
No related merge requests found
......@@ -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 ;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment