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

Some useful update for generic CTS

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