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
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Tetras MARS
tenet
Commits
da26b1e1
Commit
da26b1e1
authored
3 years ago
by
Aurélien Lamercerie
Browse files
Options
Downloads
Patches
Plain Diff
Add entityIntance in CTS
parent
0e6aeed5
No related branches found
No related tags found
No related merge requests found
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
config/semantic-net.ttl
+5
-0
5 additions, 0 deletions
config/semantic-net.ttl
config/transduction-schemes.ttl
+109
-9
109 additions, 9 deletions
config/transduction-schemes.ttl
with
114 additions
and
9 deletions
config/semantic-net.ttl
+
5
−
0
View file @
da26b1e1
...
@@ -70,6 +70,11 @@ net:entityClass
...
@@ -70,6 +70,11 @@ net:entityClass
rdfs:
label
"entity class"
;
rdfs:
label
"entity class"
;
rdfs:
subPropertyOf
net:
value
;
rdfs:
subPropertyOf
net:
value
;
.
.
net:
entityInstance
rdf:
type
rdf:
Property
;
rdfs:
label
"entity instance"
;
rdfs:
subPropertyOf
net:
value
;
.
net:
entity_class_list
net:
entity_class_list
rdf:
type
owl:
Class
;
rdf:
type
owl:
Class
;
rdfs:
label
"entityClassList"
;
rdfs:
label
"entityClassList"
;
...
...
This diff is collapsed.
Click to expand it.
config/transduction-schemes.ttl
+
109
−
9
View file @
da26b1e1
...
@@ -24,6 +24,67 @@ cts:Transduction_Schemes
...
@@ -24,6 +24,67 @@ cts:Transduction_Schemes
rdfs:
label
"Transduction Schemes"
;
rdfs:
label
"Transduction Schemes"
;
rdfs:
subClassOf
owl:
Thing
;
rdfs:
subClassOf
owl:
Thing
;
.
.
cts:
add-conjunctive-entity-classes
rdf:
type
sh:
SPARQLRule
;
rdfs:
label
"add-conjunctive-entity-classes"
;
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 Disjunctive Entity classes in System Ontology
CONSTRUCT {
?subEntity23Uri rdfs:subClassOf ?mainEntityUri.
?subEntity23Uri rdfs:label ?subEntity23.
?subEntity23Uri
owl:equivalentClass [ a owl:Class ;
owl:intersectionOf ( ?subEntity2Uri ?subEntity3Uri ) ] .
}
WHERE {
# net1: entity class list
?net1 a net:Instance.
?net1 net:type net:entity_class_list.
?net1 net:entityClass ?entityClass.
?net1 net:node ?uw2.
?net1 net:node ?uw3.
?net1 net:class1 ?mainEntity.
?net1 net:class2 ?subEntity2.
?net1 net:class2 ?subEntity3.
# extension: disjunction of UW
?uw2 unl:and ?uw3.
# Label(s) / URI
?uw2 rdfs:label ?uw2Label.
?uw3 rdfs:label ?uw3Label.
BIND (strbefore(?uw2Label, '(') AS ?concept2)
BIND (strbefore(?uw3Label, '(') AS ?concept3)
BIND (concat(?concept2, '-or-', ?concept3) AS ?concept23)
FILTER ( STRSTARTS(?subEntity2, ?concept2) ).
FILTER ( STRSTARTS(?subEntity3, ?concept3) ).
# -- old --- BIND (concat(?concept2, '_', ?mainEntity) AS ?subEntity2).
# -- old --- BIND (concat(?concept3, '_', ?mainEntity) AS ?subEntity3).
BIND (concat(?concept23, '_', ?mainEntity) AS ?subEntity23).
cprm:Config_Parameters cprm:baseURI ?baseURI.
fprm:System_Ontology fprm:frameURI ?frameURI.
BIND (concat( ?frameURI, ?entityClass) AS ?s1).
BIND (concat(?s1, '_', ?mainEntity) AS ?s2).
BIND (concat(?s1, '_', ?subEntity2) AS ?s3).
BIND (concat(?s1, '_', ?subEntity3) AS ?s4).
BIND (concat(?s1, '_', ?subEntity23) AS ?s5).
BIND (uri(?s2) AS ?mainEntityUri).
BIND (uri(?s3) AS ?subEntity2Uri).
BIND (uri(?s4) AS ?subEntity3Uri).
BIND (uri(?s5) AS ?subEntity23Uri).
# --old --- FILTER NOT EXISTS { ?net2 net:class2 ?mainEntity }.
# --old --- FILTER NOT EXISTS { ?subEntity23Uri owl:equivalentClass ?c }.
}"""
;
sh:
order
"204"
^^
xsd:
decimal
;
.
cts:
add-disjunctive-entity-classes
cts:
add-disjunctive-entity-classes
rdf:
type
sh:
SPARQLRule
;
rdf:
type
sh:
SPARQLRule
;
rdfs:
label
"add-disjunctive-entity-classes"
;
rdfs:
label
"add-disjunctive-entity-classes"
;
...
@@ -315,7 +376,7 @@ WHERE {
...
@@ -315,7 +376,7 @@ WHERE {
BIND (concat(?s1, ?mainEntity, '-', ?concept2) AS ?s2).
BIND (concat(?s1, ?mainEntity, '-', ?concept2) AS ?s2).
BIND (uri(?s2) AS ?newNet).
BIND (uri(?s2) AS ?newNet).
}"""
;
}"""
;
sh:
order
"1
06
"
^^
xsd:
decimal
;
sh:
order
"1
21
"
^^
xsd:
decimal
;
.
.
cts:
compose-entity-modlist-2
cts:
compose-entity-modlist-2
rdf:
type
sh:
SPARQLRule
;
rdf:
type
sh:
SPARQLRule
;
...
@@ -384,7 +445,7 @@ WHERE {
...
@@ -384,7 +445,7 @@ WHERE {
BIND (concat(?s1, ?mainEntity, '-', ?subEntity2) AS ?s2).
BIND (concat(?s1, ?mainEntity, '-', ?subEntity2) AS ?s2).
BIND (uri(?s2) AS ?newNet).
BIND (uri(?s2) AS ?newNet).
}"""
;
}"""
;
sh:
order
"1
07
"
^^
xsd:
decimal
;
sh:
order
"1
22
"
^^
xsd:
decimal
;
.
.
cts:
compose-entity-modlist-3
cts:
compose-entity-modlist-3
rdf:
type
sh:
SPARQLRule
;
rdf:
type
sh:
SPARQLRule
;
...
@@ -450,7 +511,7 @@ WHERE {
...
@@ -450,7 +511,7 @@ WHERE {
BIND (concat(?s1, ?mainEntity, '-', ?subEntity2) AS ?s2).
BIND (concat(?s1, ?mainEntity, '-', ?subEntity2) AS ?s2).
BIND (uri(?s2) AS ?newNet).
BIND (uri(?s2) AS ?newNet).
}"""
;
}"""
;
sh:
order
"1
08
"
^^
xsd:
decimal
;
sh:
order
"1
23
"
^^
xsd:
decimal
;
.
.
cts:
create-entity-net
cts:
create-entity-net
rdf:
type
sh:
SPARQLRule
;
rdf:
type
sh:
SPARQLRule
;
...
@@ -513,6 +574,7 @@ cts:entity_extraction
...
@@ -513,6 +574,7 @@ cts:entity_extraction
sh:
rule
cts:
create-entity-net
;
sh:
rule
cts:
create-entity-net
;
sh:
rule
cts:
extend-mod-list
;
sh:
rule
cts:
extend-mod-list
;
sh:
rule
cts:
init-mod-list
;
sh:
rule
cts:
init-mod-list
;
sh:
rule
cts:
instantiate-entity-net
;
sh:
rule
cts:
typify-modlist-entity
;
sh:
rule
cts:
typify-modlist-entity
;
sh:
rule
cts:
typify-modlist-feature
;
sh:
rule
cts:
typify-modlist-feature
;
.
.
...
@@ -593,9 +655,9 @@ WHERE {
...
@@ -593,9 +655,9 @@ WHERE {
# extension: disjunction of UW
# extension: disjunction of UW
?uw1 (unl:or|unl:and) ?uw2.
?uw1 (unl:or|unl:and) ?uw2.
# UW: type UW-Occurrence and substructure of req sentence
# UW: type UW-Occurrence and substructure of req sentence
?uw1 rdf:type unl:UW_Occurrence.
# -- old --- ?uw1 rdf:type unl:UW_Occurrence.
# -- old --- ?uw1 unl:is_substructure_of ?req.
?uw2 rdf:type unl:UW_Occurrence.
?uw2 rdf:type unl:UW_Occurrence.
?uw1 unl:is_substructure_of ?req.
?uw2 unl:is_substructure_of ?req.
?uw2 unl:is_substructure_of ?req.
# Label(s) / URI
# Label(s) / URI
?uw1 rdfs:label ?uw1Label.
?uw1 rdfs:label ?uw1Label.
...
@@ -603,15 +665,15 @@ WHERE {
...
@@ -603,15 +665,15 @@ WHERE {
BIND (strbefore(?uw1Label, '(') AS ?concept1)
BIND (strbefore(?uw1Label, '(') AS ?concept1)
BIND (strbefore(?uw2Label, '(') AS ?concept2)
BIND (strbefore(?uw2Label, '(') AS ?concept2)
}"""
;
}"""
;
sh:
order
"1
03
"
^^
xsd:
decimal
;
sh:
order
"1
12
"
^^
xsd:
decimal
;
.
.
cts:
generation
cts:
generation
rdf:
type
owl:
Class
;
rdf:
type
owl:
Class
;
rdf:
type
sh:
NodeShape
;
rdf:
type
sh:
NodeShape
;
rdfs:
label
"generation"
;
rdfs:
label
"generation"
;
rdfs:
subClassOf
cts:
Transduction_Schemes
;
rdfs:
subClassOf
cts:
Transduction_Schemes
;
sh:
rule
cts:
add-conjunctive-entity-classes
;
sh:
rule
cts:
add-disjunctive-entity-classes
;
sh:
rule
cts:
add-disjunctive-entity-classes
;
sh:
rule
cts:
add-disjunctive-entity-classes-2--old
;
sh:
rule
cts:
add-entity-classes
;
sh:
rule
cts:
add-entity-classes
;
sh:
rule
cts:
add-list-of-entity-classes
;
sh:
rule
cts:
add-list-of-entity-classes
;
.
.
...
@@ -656,6 +718,44 @@ WHERE {
...
@@ -656,6 +718,44 @@ WHERE {
BIND (concat( ?netURI, ?modListLabel, '_') AS ?s1).
BIND (concat( ?netURI, ?modListLabel, '_') AS ?s1).
BIND (concat(?s1, ?concept1) AS ?s2).
BIND (concat(?s1, ?concept1) AS ?s2).
BIND (uri(?s2) AS ?semNet).
BIND (uri(?s2) AS ?semNet).
}"""
;
sh:
order
"111"
^^
xsd:
decimal
;
.
cts:
instantiate-entity-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#>
# -- Create Entity net
CONSTRUCT {
?net1 net:entityInstance ?instanceName.
}
WHERE {
# net1: entity
?net1 a net:Instance.
?net1 net:type net:entity.
?net1 net:node ?uw1.
?net1 net:entityClass ?entityClass1.
?net1 net:concept ?concept1.
# condition: agt/obj(uw0, uw1)
?uw0 (unl:agt | unl:obj) ?uw1.
# UW: type UW-Occurrence and substructure of req sentence
?uw0 rdf:type unl:UW_Occurrence.
?uw0 unl:is_substructure_of ?req.
# -- old ---- ?uw1 rdf:type unl:UW_Occurrence.
# -- old ---- ?uw1 unl:is_substructure_of ?req.
# -- old ---- ?uw1 unl:is_occurrence_of ?lexTrg.
# Label(s) / URI
BIND (concat( ?entityClass1, '_', ?concept1) AS ?s1).
BIND (concat(?s1, '_instance') AS ?instanceName).
}"""
;
}"""
;
sh:
order
"102"
^^
xsd:
decimal
;
sh:
order
"102"
^^
xsd:
decimal
;
.
.
...
@@ -764,7 +864,7 @@ WHERE {
...
@@ -764,7 +864,7 @@ WHERE {
# Filter
# Filter
FILTER ( regex(str(?uw1Label),str(?entityRestriction)) ).
FILTER ( regex(str(?uw1Label),str(?entityRestriction)) ).
}"""
;
}"""
;
sh:
order
"1
04
"
^^
xsd:
decimal
;
sh:
order
"1
13
"
^^
xsd:
decimal
;
.
.
cts:
typify-modlist-feature
cts:
typify-modlist-feature
rdf:
type
sh:
SPARQLRule
;
rdf:
type
sh:
SPARQLRule
;
...
@@ -802,5 +902,5 @@ WHERE {
...
@@ -802,5 +902,5 @@ WHERE {
# Filter
# Filter
FILTER ( regex(str(?uw1Label),str(?featureRestriction)) ).
FILTER ( regex(str(?uw1Label),str(?featureRestriction)) ).
}"""
;
}"""
;
sh:
order
"1
05
"
^^
xsd:
decimal
;
sh:
order
"1
14
"
^^
xsd:
decimal
;
.
.
This diff is collapsed.
Click to expand it.
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