Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
tenet
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Tetras MARS
tenet
Commits
341dc4d0
Commit
341dc4d0
authored
3 years ago
by
Aurélien Lamercerie
Browse files
Options
Downloads
Patches
Plain Diff
Update typing of composite list
parent
477b33c7
Branches
Branches containing commit
Tags
Tags containing commit
No related merge requests found
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
config/semantic-net.ttl
+7
-7
7 additions, 7 deletions
config/semantic-net.ttl
config/transduction-schemes.ttl
+151
-144
151 additions, 144 deletions
config/transduction-schemes.ttl
with
158 additions
and
151 deletions
config/semantic-net.ttl
+
7
−
7
View file @
341dc4d0
...
...
@@ -130,9 +130,9 @@ net:has_instance
rdfs:
label
"entity instance"
;
rdfs:
subPropertyOf
net:
objectValue
;
.
net:
has_
mainClass
net:
has_
item
rdf:
type
rdf:
Property
;
rdfs:
label
"has
main class
"
;
rdfs:
label
"has
item
"
;
rdfs:
subPropertyOf
net:
has_object
;
.
net:
has_mother_class
...
...
@@ -150,6 +150,11 @@ net:has_object
rdfs:
label
"relation"
;
rdfs:
subPropertyOf
net:
netProperty
;
.
net:
has_parent
rdf:
type
rdf:
Property
;
rdfs:
label
"has parent"
;
rdfs:
subPropertyOf
net:
has_object
;
.
net:
has_parent_class
rdf:
type
rdf:
Property
;
rdfs:
label
"parent class"
;
...
...
@@ -170,11 +175,6 @@ net:has_structure
rdfs:
label
"Linguistic Structure (in UNL Document)"
;
rdfs:
subPropertyOf
net:
netProperty
;
.
net:
has_subClass
rdf:
type
rdf:
Property
;
rdfs:
label
"has sub class"
;
rdfs:
subPropertyOf
net:
has_object
;
.
net:
has_target
rdf:
type
rdf:
Property
;
rdfs:
label
"has target"
;
...
...
This diff is collapsed.
Click to expand it.
config/transduction-schemes.ttl
+
151
−
144
View file @
341dc4d0
...
...
@@ -57,15 +57,17 @@ CONSTRUCT {
?mainInstanceUri rdf:type ?subEntity23Uri.
}
WHERE {
# net1:
entity class l
ist
# net1:
Composite L
ist
?net1 a net:Instance.
?net1 net:type net:entity_class_list.
?net1 net:type net:list.
?net1 net:listOf net:composite.
# -- old --- ?net1 net:type net:entity_class_list.
?net1 net:has_structure ?req.
?net1 net:entityClass ?entityClass.
?net1 net:has_node ?uw2, ?uw3.
?net1 net:has_
mainClass
?mainEntityObject.
?net1 net:has_
parent
?mainEntityObject.
?mainEntityObject net:has_concept ?mainEntity.
?net1 net:has_
subClass
?subEntityObject2, ?subEntityObject3.
?net1 net:has_
item
?subEntityObject2, ?subEntityObject3.
?subEntityObject2 net:concept ?subEntity2.
?subEntityObject2 net:has_node ?uw2.
?subEntityObject3 net:has_concept ?subEntity3.
...
...
@@ -124,15 +126,17 @@ CONSTRUCT {
?mainInstanceUri rdf:type ?subEntity23Uri.
}
WHERE {
# net1:
entity class l
ist
# net1:
Composite L
ist
?net1 a net:Instance.
?net1 net:type net:entity_class_list.
?net1 net:type net:list.
?net1 net:listOf net:composite.
# -- old --- ?net1 net:type net:entity_class_list.
?net1 net:has_structure ?req.
?net1 net:entityClass ?entityClass.
?net1 net:has_node ?uw2, ?uw3.
?net1 net:has_
mainClass
?mainEntityObject.
?net1 net:has_
parent
?mainEntityObject.
?mainEntityObject net:has_concept ?mainEntity.
?net1 net:has_
subClass
?subEntityObject2, ?subEntityObject3.
?net1 net:has_
item
?subEntityObject2, ?subEntityObject3.
?subEntityObject2 net:has_concept ?subEntity2.
?subEntityObject2 net:has_node ?uw2.
?subEntityObject3 net:has_concept ?subEntity3.
...
...
@@ -235,56 +239,6 @@ WHERE {
}"""
;
sh:
order
3.1
;
.
cts:
add-list-of-entity-classes
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#>
# -- Add Entity classes in System Ontology
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.
# Instantiation (extension)
?mainInstanceUri rdf:type ?subEntityUri.
?mainInstanceUri sys:from_structure ?req.
}
WHERE {
# net1: entity class list
?net1 a net:Instance.
?net1 net:type net:entity_class_list.
?net1 net:has_structure ?req.
?net1 net:entityClass ?entityClass.
?net1 net:has_mainClass ?mainEntityObject.
?mainEntityObject net:has_concept ?mainEntity.
?net1 net:has_subClass ?subEntityObject.
?subEntityObject net:has_concept ?subEntity.
?subEntityObject net:has_instance ?mainInstance.
# 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).
# URI (for instance)
BIND (concat(?s1, '_', ?mainInstance) AS ?s4).
BIND (uri(?s4) AS ?mainInstanceUri).
}"""
;
sh:
order
3.2
;
.
cts:
add-state-property
rdf:
type
sh:
SPARQLRule
;
rdfs:
label
"add-event"
;
...
...
@@ -382,10 +336,9 @@ cts:batch_execution
sh:
rule
cts:
add-conjunctive-entity-classes
;
sh:
rule
cts:
add-disjunctive-entity-classes
;
sh:
rule
cts:
add-event
;
sh:
rule
cts:
add-list-of-entity-classes
;
sh:
rule
cts:
add-state-property
;
sh:
rule
cts:
bypass-reification
;
sh:
rule
cts:
complement-
list-of-entity
-class
es
;
sh:
rule
cts:
complement-
composite
-class
;
sh:
rule
cts:
compose-agt-verb-obj-as-simple-event
;
sh:
rule
cts:
compose-aoj-verb-obj-as-simple-state-property
;
sh:
rule
cts:
compose-atom-with-list-by-mod-1
;
...
...
@@ -400,6 +353,7 @@ cts:batch_execution
sh:
rule
cts:
extend-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:
instantiate-atom-net
;
...
...
@@ -436,7 +390,7 @@ WHERE {
} """
;
sh:
order
1.1
;
.
cts:
complement-
list-of-entity
-class
es
cts:
complement-
composite
-class
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#>
...
...
@@ -457,9 +411,10 @@ CONSTRUCT {
WHERE {
# net1: entity class list
?net1 a net:Instance.
?net1 net:type net:entity_class_list.
?net1 net:type net:list.
?net1 net:listOf net:composite.
?net1 net:entityClass ?entityClass.
?net1 net:has_
subClass
?subEntityObject.
?net1 net:has_
item
?subEntityObject.
?subEntityObject net:has_concept ?subEntity.
?subEntityObject net:has_feature ?featureObject.
# object: feature
...
...
@@ -639,30 +594,24 @@ PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#>
# -- Compose an atom net and a list net (with distinct item classes)
CONSTRUCT {
# Object: composite (A)
?newObject12 a net:Object.
?newObject12 net:objectType net:composite.
?newObject12 net:has_node ?uw1, ?uw2.
?newObject12 net:has_mother_class ?net1Mother.
# -- TODO --- ?newObject12 net:has_parent_class ?net1Class.
?newObject12 net:has_concept ?subConceptA.
?newObject12 net:has_feature ?net2ItemA.
# Object: composite (B)
?newObject13 a net:Object.
?newObject13 net:objectType net:composite.
?newObject13 net:has_node ?uw1, ?uw3.
?newObject13 net:has_mother_class ?net1Mother.
# -- TODO --- ?newObject13 net:has_parent_class ?net1Class.
?newObject13 net:has_concept ?subConceptB.
?newObject13 net:has_feature ?net2ItemB.
# Net: Entity ClassList
# Object: Composite
?newObject a net:Object.
?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_concept ?subConcept.
?newObject net:has_feature ?net2Item.
# Net: Composite List
?newNet a net:Instance.
?newNet net:type net:entity_class_list.
?newNet net:type net:list.
?newNet net:type ?listSubType.
?newNet net:listOf net:composite.
?newNet net:has_structure ?req.
?newNet net:has_node ?uw1, ?uw2, ?uw3.
?newNet net:entityClass ?net1ParentClass.
?newNet net:has_
mainClass
?net1Object.
?newNet net:has_
subClass ?newObject12,
?newObject
13
.
?newNet net:has_
parent
?net1Object.
?newNet net:has_
item
?newObject.
}
WHERE {
# net1: atom
...
...
@@ -679,36 +628,33 @@ WHERE {
# net2: list
?net2 a net:Instance.
?net2 net:type net:list.
?net2 net:listOf ?listItemClass.
?net2 net:type ?listSubType.
?net2 net:listOf net:atom.
?net2 net:has_structure ?req.
?net2 net:has_node ?uw2, ?uw3.
?net2 net:has_item ?net2ItemA.
?net2ItemA net:has_node ?uw2.
?net2ItemA net:has_concept ?net2ConceptA.
?net2 net:has_item ?net2ItemB.
?net2ItemB net:has_node ?uw3.
?net2ItemB net:has_concept ?net2ConceptB.
?net2 net:has_item ?net2Item.
?net2Item net:has_node ?uw3.
?net2Item net:has_parent_class ?net2ParentClass.
?net2Item net:has_concept ?net2Concept.
# Filter
FILTER NOT EXISTS { ?net2 net:has_node ?uw1 }.
FILTER ( ?net1ParentClass != ?
listItem
Class ).
FILTER ( ?net1ParentClass != ?
net2Parent
Class ).
# Label: Id, concept
?uw1 unl:has_id ?uw1Id.
?uw2 unl:has_id ?uw2Id.
?uw3 unl:has_id ?uw3Id.
BIND (concat( ?net2ConceptA, '_', ?net1Concept) AS ?subConceptA).
BIND (concat( ?net2ConceptB, '_', ?net1Concept) AS ?subConceptB).
BIND (concat( ?net2Concept, '_', ?net1Concept) AS ?subConcept).
# URI (for Object)
cprm:Config_Parameters cprm:netURI ?netURI.
cprm:Config_Parameters cprm:objectRef ?objectRef.
BIND (concat( ?netURI, ?objectRef) AS ?o1).
BIND (concat(?o1, ?uw1Id, '-', ?uw2Id) AS ?o2).
BIND (concat(?o1, ?uw1Id, '-', ?uw3Id) AS ?o3).
BIND (uri(?o2) AS ?newObject12).
BIND (uri(?o3) AS ?newObject13).
# URI (for ClassList Net)
BIND (concat(?o1, ?uw1Id, '-', ?uw3Id) AS ?o2).
BIND (uri(?o2) AS ?newObject).
# URI (for List Net)
cprm:Config_Parameters cprm:netURI ?netURI.
net:class_list rdfs:label ?classListLabel.
BIND (concat( ?netURI, ?classListLabel, '_') AS ?n1).
net:list rdfs:label ?listLabel.
net:composite rdfs:label ?compositeLabel.
BIND (concat( ?netURI, ?listLabel, '_', ?compositeLabel, '_') AS ?n1).
BIND (concat(?n1, ?uw1Id, '-', ?uw2Id) AS ?n2).
BIND (uri(?n2) AS ?newNet).
}"""
;
...
...
@@ -729,14 +675,16 @@ PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#>
# -- Compose an atom net and an list net (with same item classes)
CONSTRUCT {
# Net:
Entity Class
List
# Net:
Composite
List
?newNet a net:Instance.
?newNet net:type net:entity_class_list.
?newNet net:type net:list.
?newNet net:type ?listSubType.
?newNet net:listOf net:composite.
?newNet net:has_structure ?req.
?newNet net:has_node ?uw1, ?uw2, ?uw3.
?newNet net:entityClass ?net1ParentClass.
?newNet net:has_
mainClass
?net1Object.
?newNet net:has_
subClass ?object2, ?object3
.
?newNet net:has_
parent
?net1Object.
?newNet net:has_
item ?net2Item
.
}
WHERE {
# net1: atom
...
...
@@ -751,23 +699,27 @@ WHERE {
# net2: list
?net2 a net:Instance.
?net2 net:type net:list.
?net2 net:listOf
?listItemClass
.
?net2 net:listOf
net:atom
.
?net2 net:has_structure ?req.
?net2 net:has_node ?uw2, ?uw3.
?net2 net:has_item ?object2, ?object3.
?net2 net:has_item ?net2Item.
?net2Item net:has_node ?uw3.
?net2Item net:has_parent_class ?net2ParentClass.
?net2Item net:has_concept ?net2Concept.
# Filter
FILTER
( ?uw1 != ?uw3 )
.
FILTER ( ?net1ParentClass = ?
listItem
Class ).
FILTER
NOT EXISTS { ?net2 net:has_node ?uw1 }
.
FILTER ( ?net1ParentClass = ?
net2Parent
Class ).
# Label: Id, subEntity
?uw1 unl:has_id ?uw1Id.
?uw2 unl:has_id ?uw2Id.
?uw3 unl:has_id ?uw3Id.
# URI (for
Class
List Net)
# URI (for List Net)
cprm:Config_Parameters cprm:netURI ?netURI.
net:class_list rdfs:label ?classListLabel.
BIND (concat( ?netURI, ?classListLabel, '_') AS ?s1).
BIND (concat(?s1, ?uw1Id, '-', ?uw2Id) AS ?s2).
BIND (uri(?s2) AS ?newNet).
net:list rdfs:label ?listLabel.
net:composite rdfs:label ?compositeLabel.
BIND (concat( ?netURI, ?listLabel, '_', ?compositeLabel, '_') AS ?n1).
BIND (concat(?n1, ?uw1Id, '-', ?uw2Id) AS ?n2).
BIND (uri(?n2) AS ?newNet).
}"""
;
sh:
order
2.3
3
;
.
...
...
@@ -1032,7 +984,7 @@ CONSTRUCT {
?newNet a net:Instance.
?newNet net:type net:list.
?newNet net:type net:unary_list.
?newNet net:listOf
?
net
1ParentClass
.
?newNet net:listOf net
:atom
.
?newNet net:has_structure ?req.
?newNet net:has_node ?uw1.
?newNet net:has_item ?object1.
...
...
@@ -1057,9 +1009,8 @@ WHERE {
?uw1 unl:has_id ?uw1Id.
cprm:Config_Parameters cprm:netURI ?netURI.
net:list rdfs:label ?listLabel.
BIND (strbefore(?uw1Label, '(') AS ?concept1).
# -- old --- BIND (strbefore(?uw2Label, '(') AS ?concept2).
BIND (concat( ?netURI, ?listLabel, '_') AS ?s1).
net:atom rdfs:label ?atomLabel.
BIND (concat( ?netURI, ?listLabel, '_', ?atomLabel, '_') AS ?s1).
BIND (concat(?s1, ?uw1Id) AS ?s2).
BIND (uri(?s2) AS ?newNet).
}"""
;
...
...
@@ -1191,8 +1142,12 @@ WHERE {
?net1 net:has_atom ?atomObject1.
?atomObject1 net:has_parent_class ?atomParentClass.
?atomObject1 net:has_concept ?atomConcept.
# Filter: entity not present in a class list
FILTER NOT EXISTS { ?net2 net:has_subClass ?atomObject1}
# Filter: atom not present in a composite list
FILTER NOT EXISTS {
?net2 net:type net:list.
?net2 net:listOf net:composite.
?net2 net:has_item ?atomObject1.
}
# URI: class
sys:Structure sys:has_frame_uri ?frameURI.
BIND (concat( ?frameURI, ?atomParentClass) AS ?s1).
...
...
@@ -1247,6 +1202,57 @@ WHERE {
}"""
;
sh:
order
3.1
;
.
cts:
generate-composite-class-from-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#>
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#>
# -- Add Entity classes in System Ontology
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.
# Instantiation (extension)
?mainInstanceUri rdf:type ?subEntityUri.
?mainInstanceUri sys:from_structure ?req.
}
WHERE {
# net1: Composite List
?net1 a net:Instance.
?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.
# 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).
# URI (for instance)
BIND (concat(?s1, '_', ?mainInstance) AS ?s4).
BIND (uri(?s4) AS ?mainInstanceUri).
}"""
;
sh:
order
3.2
;
.
cts:
generation
rdf:
type
owl:
Class
;
rdf:
type
sh:
NodeShape
;
...
...
@@ -1255,15 +1261,15 @@ cts:generation
sh:
rule
cts:
add-conjunctive-entity-classes
;
sh:
rule
cts:
add-disjunctive-entity-classes
;
sh:
rule
cts:
add-event
;
sh:
rule
cts:
add-list-of-entity-classes
;
sh:
rule
cts:
add-state-property
;
sh:
rule
cts:
complement-
list-of-entity
-class
es
;
sh:
rule
cts:
complement-
composite
-class
;
sh:
rule
cts:
compute-class-uri-of-net-object
;
sh:
rule
cts:
compute-domain-range-of-event-object-properties
;
sh:
rule
cts:
compute-domain-range-of-state-property-object-properties
;
sh:
rule
cts:
compute-instance-uri-of-net-object
;
sh:
rule
cts:
generate-atom-class
;
sh:
rule
cts:
generate-atom-instance
;
sh:
rule
cts:
generate-composite-class-from-list-net
;
.
cts:
init-conjunctive-list-net
rdf:
type
sh:
SPARQLRule
;
...
...
@@ -1283,7 +1289,7 @@ CONSTRUCT {
?newNet a net:Instance.
?newNet net:type net:list.
?newNet net:type net:conjunctive_list.
?newNet net:listOf
?
net
1ParentClass
.
?newNet net:listOf net
:atom
.
?newNet net:has_structure ?req.
?newNet net:has_node ?uw1.
?newNet net:has_item ?object1.
...
...
@@ -1307,9 +1313,8 @@ WHERE {
?uw1 unl:has_id ?uw1Id.
cprm:Config_Parameters cprm:netURI ?netURI.
net:list rdfs:label ?listLabel.
BIND (strbefore(?uw1Label, '(') AS ?concept1).
# -- old --- BIND (strbefore(?uw2Label, '(') AS ?concept2).
BIND (concat( ?netURI, ?listLabel, '_') AS ?s1).
net:atom rdfs:label ?atomLabel.
BIND (concat( ?netURI, ?listLabel, '_', ?atomLabel, '_') AS ?s1).
BIND (concat(?s1, ?uw1Id) AS ?s2).
BIND (uri(?s2) AS ?newNet).
}"""
;
...
...
@@ -1333,7 +1338,7 @@ CONSTRUCT {
?newNet a net:Instance.
?newNet net:type net:list.
?newNet net:type net:disjunctive_list.
?newNet net:listOf
?
net
1ParentClass
.
?newNet net:listOf net
:atom
.
?newNet net:has_structure ?req.
?newNet net:has_node ?uw1.
?newNet net:has_item ?object1.
...
...
@@ -1357,9 +1362,8 @@ WHERE {
?uw1 unl:has_id ?uw1Id.
cprm:Config_Parameters cprm:netURI ?netURI.
net:list rdfs:label ?listLabel.
BIND (strbefore(?uw1Label, '(') AS ?concept1).
# -- old --- BIND (strbefore(?uw2Label, '(') AS ?concept2).
BIND (concat( ?netURI, ?listLabel, '_') AS ?s1).
net:atom rdfs:label ?atomLabel.
BIND (concat( ?netURI, ?listLabel, '_', ?atomLabel, '_') AS ?s1).
BIND (concat(?s1, ?uw1Id) AS ?s2).
BIND (uri(?s2) AS ?newNet).
}"""
;
...
...
@@ -1416,17 +1420,18 @@ PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#>
# -- Instantiate composite in list by extension of instances from parent element
CONSTRUCT {
?
sub
Object
2
net:has_instance ?parentInstance.
?
item
Object net:has_instance ?parentInstance.
}
WHERE {
# net2: list of composite items
?net2 a net:Instance.
?net2 net:type net:entity_class_list.
?net2 net:has_mainClass ?parentObject.
# net1: Composite List
?net1 a net:Instance.
?net1 net:type net:list.
?net1 net:listOf net:composite.
?net1 net:has_parent ?parentObject.
?parentObject net:has_instance ?parentInstance.
?net
2
net:has_
subClass ?sub
Object
2
.
?net
1
net:has_
item ?item
Object.
# Filter
FILTER NOT EXISTS { ?
sub
Object
2
net:has_instance ?anyInstance } .
FILTER NOT EXISTS { ?
item
Object net:has_instance ?anyInstance } .
}"""
;
sh:
order
2.3
41
;
.
...
...
@@ -1448,21 +1453,23 @@ CONSTRUCT {
?net2SubObject net:has_instance ?parentInstance.
}
WHERE {
# net1:
list of c
omposite
items
# net1:
C
omposite
Liste
?net1 a net:Instance.
?net1 net:type net:entity_class_list.
?net1 net:type net:list.
?net1 net:listOf net:composite.
?net1 net:has_structure ?sameReq.
?net1 net:has_
mainClass
?parentObject.
?net1 net:has_
parent
?parentObject.
?parentObject net:has_instance ?parentInstance.
?net1 net:has_
subClass
?net1SubObject.
?net1 net:has_
item
?net1SubObject.
?net1SubObject net:has_concept ?sameEntity.
# net2:
a
nother
l
ist
# net2:
A
nother
L
ist
?net2 a net:Instance.
?net2 net:type net:entity_class_list.
?net2 net:type net:list.
?net2 net:listOf net:composite.
?net2 net:has_structure ?sameReq.
?net2 net:has_
mainClass
?net2MainObject.
?net2 net:has_
parent
?net2MainObject.
?net2MainObject net:has_concept ?sameEntity.
?net2 net:has_
subClass
?net2SubObject.
?net2 net:has_
item
?net2SubObject.
# Filter
FILTER NOT EXISTS { ?net2SubObject net:has_instance ?anyInstance } .
}"""
;
...
...
This diff is collapsed.
Click to expand it.
Aurélien Lamercerie
@alam
mentioned in issue
#8 (closed)
·
3 years ago
mentioned in issue
#8 (closed)
mentioned in issue #8
Toggle commit list
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment