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

Renaming and update script to prepare extraction data (and some minor modifications of CTS)

parent 247f5f96
Branches
Tags
No related merge requests found
......@@ -5,3 +5,4 @@ devtemp*.py
corpus/CCTP-SRSA-IP*
.project
*.ttl.tbc
output.ttl
This diff is collapsed.
......@@ -35,16 +35,6 @@ net:class
rdfs:label "class" ;
rdfs:subClassOf net:Type ;
.
net:class1
rdf:type rdf:Property ;
rdfs:label "class1 "@fr ;
rdfs:subPropertyOf net:value ;
.
net:class2
rdf:type rdf:Property ;
rdfs:label "class2 "@fr ;
rdfs:subPropertyOf net:value ;
.
net:class_list
rdf:type owl:Class ;
rdfs:label "classList" ;
......@@ -105,6 +95,16 @@ net:has_feature
rdfs:label "has feature" ;
rdfs:subPropertyOf net:relation ;
.
net:has_mainClass
rdf:type rdf:Property ;
rdfs:label "has main class" ;
rdfs:subPropertyOf net:relation ;
.
net:has_subClass
rdf:type rdf:Property ;
rdfs:label "has sub class" ;
rdfs:subPropertyOf net:relation ;
.
net:listGuiding
rdf:type rdf:Property ;
rdfs:label "Guiding connector of a list (or, and)" ;
......
......@@ -56,13 +56,13 @@ WHERE {
?net1 net:entityClass ?entityClass.
?net1 net:node ?uw2.
?net1 net:node ?uw3.
?net1 net:class1 ?mainEntity.
?net1 net:class2 ?subEntity2.
?net1 net:class2 ?subEntity3.
?net1 net:has_mainClass ?mainEntity.
?net1 net:has_subClass ?subEntity2.
?net1 net:has_subClass ?subEntity3.
?net1 net:entityInstance ?mainInstance.
# extension: disjunction of UW
?uw2 unl:and ?uw3.
# --old --- FILTER NOT EXISTS { ?net2 net:class2 ?mainEntity }.
# --old --- FILTER NOT EXISTS { ?net2 net:has_subClass ?mainEntity }.
# --old --- FILTER NOT EXISTS { ?subEntity23Uri owl:equivalentClass ?c }.
# Label(s) / URI (for classes)
?uw2 rdfs:label ?uw2Label.
......@@ -125,13 +125,13 @@ WHERE {
?net1 net:entityClass ?entityClass.
?net1 net:node ?uw2.
?net1 net:node ?uw3.
?net1 net:class1 ?mainEntity.
?net1 net:class2 ?subEntity2.
?net1 net:class2 ?subEntity3.
?net1 net:has_mainClass ?mainEntity.
?net1 net:has_subClass ?subEntity2.
?net1 net:has_subClass ?subEntity3.
?net1 net:entityInstance ?mainInstance.
# extension: disjunction of UW
?uw2 unl:or ?uw3.
# --old --- FILTER NOT EXISTS { ?net2 net:class2 ?mainEntity }.
# --old --- FILTER NOT EXISTS { ?net2 net:has_subClass ?mainEntity }.
# --old --- FILTER NOT EXISTS { ?subEntity23Uri owl:equivalentClass ?c }.
# Label(s) / URI (for classes)
?uw2 rdfs:label ?uw2Label.
......@@ -162,68 +162,6 @@ WHERE {
}""" ;
sh:order 513.1 ;
.
cts:add-disjunctive-entity-classes-2--old
rdf:type sh:SPARQLRule ;
rdfs:label "add-disjunctive-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:unionOf ( ?subEntity2Uri ?subEntity3Uri ) ] .
}
WHERE {
# net1: entity class list
?net1 a net:Instance.
?net1 net:type net:entity_class_list.
?net1 net:node ?uw2.
?net1 net:node ?uw3.
?net1 net:class1 ?mainEntity1.
?net1 net:class2 ?subEntity2.
?net1 net:class3 ?subEntity3.
# net2: entity class list
?net2 a net:Instance.
?net2 net:type net:entity_class_list.
?net2 net:entityClass ?entityClass.
?net2 net:class1 ?mainEntity2.
?net2 net:class2 ?subEntityNet2.
# extension: disjunction of UW
?uw2 unl:or ?uw3.
# Label(s) / URI
?uw2 rdfs:label ?uw2Label.
?uw3 rdfs:label ?uw3Label.
BIND (strbefore(?uw2Label, '(') AS ?concept2)
BIND (strbefore(?uw3Label, '(') AS ?concept3)
BIND (concat(?subEntity2, '-or-', ?subEntity3) AS ?concept23).
FILTER ( ?concept2 = ?subEntity2 )
FILTER ( ?concep3 = ?subEntity3 )
# -- old --- BIND (concat(?concept2, '_', ?mainEntity1) AS ?subEntity2).
# -- old --- BIND (concat(?concept3, '_', ?mainEntity1) AS ?subEntity3).
BIND (concat(?concept23, '_', ?mainEntity1) AS ?subEntity23).
BIND (concat(?s1, '_', ?mainEntity1) 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).
FILTER ( ?mainEntity1 = ?subEntityNet2).
}""" ;
sh:order "999"^^xsd:decimal ;
.
cts:add-entity-classes
rdf:type sh:SPARQLRule ;
rdfs:label "add-entity-classes" ;
......@@ -251,11 +189,12 @@ WHERE {
# net1: entity
?net1 a net:Instance.
?net1 net:type net:entity.
?net1 net:entityClass ?entityClass.
?net1 net:concept ?mainEntity.
?net1 net:entityInstance ?mainInstance.
?net1 net:has_entity ?entityObject1.
?entityObject1 net:entityClass ?entityClass.
?entityObject1 net:concept ?mainEntity.
?entityObject1 net:entityInstance ?mainInstance.
# Filter: entity not present in a class list
FILTER NOT EXISTS { ?net2 net:class2 ?mainEntity}
FILTER NOT EXISTS { ?net2 net:has_subClass ?mainEntity}
# URI (for classes)
cprm:Config_Parameters cprm:baseURI ?baseURI.
fprm:System_Ontology fprm:frameURI ?frameURI.
......@@ -337,10 +276,10 @@ WHERE {
?net1 a net:Instance.
?net1 net:type net:entity_class_list.
?net1 net:entityClass ?entityClass.
?net1 net:class1 ?mainEntity.
?net1 net:class2 ?subEntity.
?net1 net:has_mainClass ?mainEntity.
?net1 net:has_subClass ?subEntity.
?net1 net:entityInstance ?mainInstance.
# Filter -- old --- FILTER NOT EXISTS { ?net2 net:class2 ?mainEntity}
# Filter -- old --- FILTER NOT EXISTS { ?net2 net:has_subClass ?mainEntity}
# URI (for classes)
# -- old --- BIND (concat(?concept2, '_', ?mainEntity) AS ?subEntity).
# -- old --- cprm:Config_Parameters cprm:baseURI ?baseURI.
......@@ -405,7 +344,7 @@ WHERE {
?net1 a net:Instance.
?net1 net:type net:entity_class_list.
?net1 net:entityClass ?entityClass.
?net1 net:class2 ?subEntity.
?net1 net:has_subClass ?subEntity.
?net1 net:has_feature ?featureObject.
# object: feature
?featureObject a net:Object.
......@@ -461,9 +400,9 @@ CONSTRUCT {
?newNet net:node ?uw3.
?newNet net:entityClass ?entityClass.
# -- old --- ?newNet net:featureClass ?featureClass.
?newNet net:class1 ?mainEntity.
?newNet net:class2 ?subEntity2.
?newNet net:class2 ?subEntity3.
?newNet net:has_mainClass ?mainEntity.
?newNet net:has_subClass ?subEntity2.
?newNet net:has_subClass ?subEntity3.
?newNet net:has_feature ?newFeature2.
?newNet net:has_feature ?newFeature3.
}
......@@ -473,8 +412,9 @@ WHERE {
?net1 net:type net:entity.
?net1 net:structure ?req.
?net1 net:node ?uw1.
?net1 net:entityClass ?entityClass.
?net1 net:concept ?mainEntity.
?net1 net:has_entity ?entityObject1.
?entityObject1 net:entityClass ?entityClass.
?entityObject1 net:concept ?mainEntity.
# condition: mod(net1, net2)
?uw1 unl:mod ?uw2.
# net2: complement modList
......@@ -556,9 +496,9 @@ CONSTRUCT {
?newNet net:node ?uw3.
?newNet net:entityClass ?entityClass1.
# -- old --- ?newNet net:featureClass ?entityClass2.
?newNet net:class1 ?mainEntity.
?newNet net:class2 ?subEntity2.
?newNet net:class2 ?subEntity3.
?newNet net:has_mainClass ?mainEntity.
?newNet net:has_subClass ?subEntity2.
?newNet net:has_subClass ?subEntity3.
?newNet net:has_feature ?newFeature2.
?newNet net:has_feature ?newFeature3.
}
......@@ -568,8 +508,9 @@ WHERE {
?net1 net:type net:entity.
?net1 net:structure ?req.
?net1 net:node ?uw1.
?net1 net:entityClass ?entityClass1.
?net1 net:concept ?mainEntity.
?net1 net:has_entity ?entityObject1.
?entityObject1 net:entityClass ?entityClass1.
?entityObject1 net:concept ?mainEntity.
# condition: mod(net1, net2)
?uw1 unl:mod ?uw2.
# net2: entity modList
......@@ -643,9 +584,9 @@ CONSTRUCT {
?newNet net:node ?uw3.
?newNet net:entityClass ?entityClass1.
# -- old --- ?newNet net:featureClass \"None\".
?newNet net:class1 ?mainEntity.
?newNet net:class2 ?subEntity2.
?newNet net:class2 ?subEntity3.
?newNet net:has_mainClass ?mainEntity.
?newNet net:has_subClass ?subEntity2.
?newNet net:has_subClass ?subEntity3.
}
WHERE {
# net1: agent
......@@ -653,8 +594,9 @@ WHERE {
?net1 net:type net:entity.
?net1 net:structure ?req.
?net1 net:node ?uw1.
?net1 net:entityClass ?entityClass1.
?net1 net:concept ?mainEntity.
?net1 net:has_entity ?entityObject1.
?entityObject1 net:entityClass ?entityClass1.
?entityObject1 net:concept ?mainEntity.
# condition: mod(net1, net2)
?uw1 unl:mod ?uw2.
# net2: entity modList
......@@ -708,12 +650,18 @@ PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#>
# -- Create Entity net
CONSTRUCT {
?semNet a net:Instance.
?semNet net:type net:entity.
?semNet net:structure ?req.
?semNet net:node ?uw1.
?semNet net:entityClass ?entityClass.
?semNet net:concept ?concept1.
# Object: entity
?newEntity a net:Object.
?newEntity net:objectType sys:Entity.
?newEntity net:node ?uw1.
?newEntity net:entityClass ?entityClass.
?newEntity net:concept ?concept1.
# Net: Entity
?newNet a net:Instance.
?newNet net:type net:entity.
?newNet net:structure ?req.
?newNet net:node ?uw1.
?newNet net:has_entity ?newEntity.
}
WHERE {
# Entity (from System Ontology)
......@@ -724,16 +672,23 @@ WHERE {
?uw1 rdf:type unl:UW_Occurrence.
?uw1 unl:is_substructure_of ?req.
# ------ ?uw1 unl:is_occurrence_of ?lexTrg.
# Label(s) / URI
# Filter
?uw1 rdfs:label ?uw1Label.
FILTER ( regex(str(?uw1Label),str(?entityRestriction)) ).
# Label: Id, concept
?uw1 unl:has_id ?uw1Id.
cprm:Config_Parameters cprm:netURI ?netURI
BIND (strbefore(?uw1Label, '(') AS ?concept1).
BIND (concat( ?netURI, ?entityClass, '_') AS ?s1).
BIND (concat(?s1, ?uw1Id) AS ?s2).
BIND (uri(?s2) AS ?semNet).
# Filter
FILTER ( regex(str(?uw1Label),str(?entityRestriction)) ).
# URI (for Entity Object)
cprm:Config_Parameters cprm:netURI ?netURI.
cprm:Config_Parameters cprm:objectRef ?objectRef.
BIND (concat( ?netURI, ?objectRef) AS ?e1).
BIND (concat(?e1, ?uw1Id) AS ?e2).
BIND (uri(?e2) AS ?newEntity).
# URI (for Entity Net)
cprm:Config_Parameters cprm:netURI ?netURI.
BIND (concat( ?netURI, ?entityClass, '_') AS ?n1).
BIND (concat(?n1, ?uw1Id) AS ?n2).
BIND (uri(?n2) AS ?newNet).
}""" ;
sh:order "201"^^xsd:decimal ;
.
......@@ -838,96 +793,6 @@ cts:entity_extraction_1
rdf:type cts:entity_extraction ;
rdfs:label "entity extraction 1" ;
.
cts:extend-instantiation-to-subclasses--old
rdf:type sh:SPARQLRule ;
rdfs:label "Extend Instantiatiation to Entity SubClasses" ;
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 {
?mainInstanceUri a ?mainEntityUri.
?mainInstanceUri a ?subEntityUri.
?mainInstanceUri rdfs:label ?mainInstance.
}
WHERE {
# net1: entity class list
?net1 a net:Instance.
?net1 net:type net:entity_class_list.
?net1 net:entityClass ?entityClass.
?net1 net:class1 ?mainEntity.
?net1 net:class2 ?subEntity.
?net1 net:entityInstance ?mainInstance.
# URI (for classes)
cprm:Config_Parameters cprm:baseURI ?baseURI.
fprm:System_Ontology fprm:frameURI ?frameURI.
fprm:System_Entity rdfs:label ?entityLabel.
BIND (concat( ?frameURI, ?entityClass) AS ?s1).
BIND (concat(?s1, '_', ?mainEntity) AS ?s2).
BIND (concat(?s1, '_', ?subEntity) AS ?s3).
BIND (concat(?s1, '_', ?mainInstance) AS ?s4).
BIND (uri( ?s1) AS ?entityUri).
BIND (uri(?s2) AS ?mainEntityUri).
BIND (uri(?s3) AS ?subEntityUri).
BIND (uri(?s4) AS ?mainInstanceUri).
}""" ;
sh:order "999"^^xsd:decimal ;
.
cts:extend-list-of-entity-classes--old
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#>
# -- Extend Entity classes in System Ontology
CONSTRUCT {
?subEntityUri rdfs:subClassOf ?mainEntityUri.
?subEntityUri rdfs:label ?subEntity.
}
WHERE {
# net1: entity class list
?net1 a net:Instance.
?net1 net:type net:entity_class_list.
?net1 net:entityClass ?entityClass.
?net1 net:class1 ?mainEntity1.
?net1 net:class2 ?subEntity1.
# net2: entity class list
?net2 a net:Instance.
?net2 net:type net:entity_class_list.
?net2 net:class1 ?mainEntity2.
?net2 net:class2 ?subEntity2.
# Label(s) / URI
BIND (concat(?mainEntity1, '_', ?mainEntity2) AS ?mainEntity).
BIND (concat(?subEntityConcept1, '_', ?mainEntity1) AS ?subEntity).
cprm:Config_Parameters cprm:baseURI ?baseURI.
fprm:System_Ontology fprm:frameURI ?frameURI.
fprm:System_Entity rdfs:label ?entityLabel.
BIND (concat( ?frameURI, ?entityClass) AS ?s1).
BIND (concat(?s1, '_', ?mainEntity) AS ?s2).
BIND (concat(?s1, '_', ?subEntity) AS ?s3).
BIND (uri( ?s1) AS ?entityUri).
BIND (uri(?s2) AS ?mainEntityUri).
BIND (uri(?s3) AS ?subEntityUri).
# -- old --- FILTER ( ?mainEntity1 = ?subEntity2 ).
# -- old --- FILTER ( ?mainEntity1 != ?subEntity2 ).
}""" ;
sh:order "999"^^xsd:decimal ;
.
cts:extend-mod-list
rdf:type sh:SPARQLRule ;
sh:construct """PREFIX owl: <http://www.w3.org/2002/07/owl#>
......@@ -1054,19 +919,20 @@ CONSTRUCT {
?net2 net:entityInstance ?instanceName1.
}
WHERE {
# net2: entity with instance
# net1: entity with instance
?net1 a net:Instance.
?net1 net:type net:entity.
?net1 net:entityClass ?sameClass.
?net1 net:structure ?sameReq.
?net1 net:concept ?sameEntity.
?net1 net:entityInstance ?instanceName1.
# net2: another entity classList
?net1 net:has_entity ?entityObject1.
?entityObject1 net:entityClass ?sameClass.
?entityObject1 net:concept ?sameEntity.
?entityObject1 net:entityInstance ?instanceName1.
# net2: entity classList
?net2 a net:Instance.
?net2 net:type net:entity_class_list.
?net2 net:entityClass ?sameClass.
?net2 net:structure ?sameReq.
?net2 net:class1 ?sameEntity.
?net2 net:has_mainClass ?sameEntity.
# Filter
FILTER NOT EXISTS { ?net2 net:entityInstance ?instanceName2 } .
}""" ;
......@@ -1095,60 +961,19 @@ WHERE {
?net1 net:type net:entity_class_list.
?net1 net:entityClass ?sameClass.
?net1 net:structure ?sameReq.
?net1 net:class2 ?sameEntity.
?net1 net:has_subClass ?sameEntity.
?net1 net:entityInstance ?instanceName1.
# net2: another entity classList
?net2 a net:Instance.
?net2 net:type net:entity_class_list.
?net2 net:entityClass ?sameClass.
?net2 net:structure ?sameReq.
?net2 net:class1 ?sameEntity.
?net2 net:has_mainClass ?sameEntity.
# Filter
FILTER NOT EXISTS { ?net2 net:entityInstance ?instanceName2 } .
}""" ;
sh:order "225"^^xsd:decimal ;
.
cts:instantiate-entity-classes--old
rdf:type sh:SPARQLRule ;
rdfs:label "Instantiate 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 Entity classes in System Ontology
CONSTRUCT {
?mainInstanceUri a ?mainEntityUri.
?mainInstanceUri rdfs:label ?mainInstance.
}
WHERE {
# net1: entity
?net1 a net:Instance.
?net1 net:type net:entity.
?net1 net:entityClass ?entityClass.
?net1 net:concept ?mainEntity.
?net1 net:entityInstance ?mainInstance.
# Label(s) / URI
cprm:Config_Parameters cprm:baseURI ?baseURI.
fprm:System_Ontology fprm:frameURI ?frameURI.
fprm:System_Entity rdfs:label ?entityLabel.
BIND (concat( ?frameURI, ?entityClass) AS ?s1).
BIND (concat(?s1, '_', ?mainEntity) AS ?s2).
BIND (concat(?s1, '_', ?mainInstance) AS ?s3).
BIND (uri( ?s1) AS ?entityUri).
BIND (uri(?s2) AS ?mainEntityUri).
BIND (uri(?s3) AS ?mainInstanceUri).
# Filter: entity not present in a class list
FILTER NOT EXISTS { ?net2 net:class2 ?mainEntity}
}""" ;
sh:order "999"^^xsd:decimal ;
.
cts:instantiate-entity-net
rdf:type sh:SPARQLRule ;
sh:construct """PREFIX owl: <http://www.w3.org/2002/07/owl#>
......@@ -1164,15 +989,15 @@ PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#>
# -- Create Entity net
CONSTRUCT {
?net1 net:entityInstance ?instanceName.
# Object: entity
?entityObject1 net:entityInstance ?instanceName.
}
WHERE {
# net1: entity
# net1: entity (with entity object)
?net1 a net:Instance.
?net1 net:type net:entity.
?net1 net:node ?uw1.
?net1 net:entityClass ?entityClass1.
?net1 net:concept ?concept1.
?net1 net:has_entity ?entityObject1.
# condition: agt/obj(uw0, uw1)
?uw0 (unl:agt | unl:obj) ?uw1.
# UW: type UW-Occurrence and substructure of req sentence
......@@ -1181,7 +1006,7 @@ WHERE {
# -- old ---- ?uw1 rdf:type unl:UW_Occurrence.
# -- old ---- ?uw1 unl:is_substructure_of ?req.
# -- old ---- ?uw1 unl:is_occurrence_of ?lexTrg.
# Label(s) / URI
# Label: id, name
?uw1 unl:has_id ?uw1Id.
BIND (?uw1Id AS ?instanceName).
}""" ;
......
......@@ -2,10 +2,9 @@
# -*-coding:Utf-8 -*
#==============================================================================
# TENET: extract
# TENET: prepare work data
#------------------------------------------------------------------------------
# Command to extract data from corpus and generate targetted ontology
# following frame ontology
# Prepare work data for extraction processing.
#==============================================================================
#==============================================================================
......@@ -27,7 +26,7 @@ CORPUS_DIR = "corpus/"
CTS_DIR = "cts/"
# Config Definition
dash_file = "http://datashapes.org/dash.ttl"
dash_file = "dash-data-shapes.ttl" # data from "http://datashapes.org/dash.ttl"
schema_file = "unl-rdf-schema.ttl"
semantic_net_file = "semantic-net.ttl"
cts_file = "transduction-schemes.ttl"
......@@ -38,8 +37,8 @@ f_param_file = "ontology-parameters.ttl"
# Dev Tests
base_uri = "https://unsel.tetras-libre.fr/tenet/working"
corpus = "CCTP-SRSA-IP-20210831/"
req_file = "SRSA-IP_STB_PHON_00100.ttl"
corpus_1 = "CCTP-SRSA-IP-20210831-R300/"
corpus_40 = "CCTP-SRSA-IP-20210831/"
#==============================================================================
......@@ -56,50 +55,49 @@ def read_query(cts_group, query_ref):
# Graph Initialization
#==============================================================================
def load_config(g):
def load_config(work_graph):
print("-- Configuration Loading:")
file_ref = CONFIG_DIR + schema_file
g.parse(file_ref)
print("----- RDF Schema (" + str(len(g)) + ")")
work_graph.parse(file_ref)
print("----- RDF Schema (" + str(len(work_graph)) + ")")
file_ref = CONFIG_DIR + semantic_net_file
g.parse(file_ref)
print("----- Semantic Net Definition (" + str(len(g)) + ")")
work_graph.parse(file_ref)
print("----- Semantic Net Definition (" + str(len(work_graph)) + ")")
file_ref = dash_file
g.parse(file_ref)
print("----- Data Shapes Dash (" + str(len(g)) + ")")
file_ref = CONFIG_DIR + dash_file
work_graph.parse(file_ref)
print("----- Data Shapes Dash (" + str(len(work_graph)) + ")")
file_ref = CONFIG_DIR + c_param_file
g.parse(file_ref)
print("----- Config Parameter Definition (" + str(len(g)) + ")")
work_graph.parse(file_ref)
print("----- Config Parameter Definition (" + str(len(work_graph)) + ")")
def load_frame(g):
def load_frame(work_graph):
print("-- Frame Ontology Loading:")
file_ref = FRAME_DIR + req_onto_file
g.parse(file_ref)
print("----- Requirement Frame Ontology (" + str(len(g)) + ")")
work_graph.parse(file_ref)
print("----- Requirement Frame Ontology (" + str(len(work_graph)) + ")")
file_ref = FRAME_DIR + sys_onto_file
g.parse(file_ref)
print("----- System Frame Ontology (" + str(len(g)) + ")")
work_graph.parse(file_ref)
print("----- System Frame Ontology (" + str(len(work_graph)) + ")")
file_ref = FRAME_DIR + f_param_file
g.parse(file_ref)
print("----- Ontology Parameters (" + str(len(g)) + ")")
work_graph.parse(file_ref)
print("----- Ontology Parameters (" + str(len(work_graph)) + ")")
def load_sentences(g):
def load_sentences(work_graph, corpus):
print("-- Sentence Loading:")
#file_ref = CORPUS_DIR + corpus + sentence_file
target_ref = CORPUS_DIR + corpus + '**/*.ttl'
for file_ref in glob.glob(target_ref, recursive = True):
g.parse(file_ref)
print("----- " + file_ref + " (" + str(len(g)) + ")")
work_graph.parse(file_ref)
print("----- " + file_ref + " (" + str(len(work_graph)) + ")")
......@@ -107,12 +105,12 @@ def load_sentences(g):
# CT Schemes for Transduction Process
#==============================================================================
def load_cts(g):
def load_cts(work_graph):
print("-- CTS Loading:")
file_ref = CONFIG_DIR + cts_file
g.parse(file_ref)
print("----- All Schemes (" + str(len(g)) + ")")
work_graph.parse(file_ref)
print("----- All Schemes (" + str(len(work_graph)) + ")")
......@@ -120,10 +118,10 @@ def load_cts(g):
# Result (export)
#==============================================================================
def export_result(g):
def export_result(work_graph):
export_file = 'output.ttl'
print("-- Export result as turtle: " + export_file)
g.serialize(destination=export_file, base=base_uri, format='turtle')
work_graph.serialize(destination=export_file, base=base_uri, format='turtle')
......@@ -136,18 +134,18 @@ def run():
print("Tenet Processing")
print("\n" + "- Graph Initialization")
g = Graph()
load_config(g)
load_frame(g)
work_graph = Graph()
load_config(work_graph)
load_frame(work_graph)
print("\n" + "- Preparation of Transduction Process")
load_cts(g)
load_cts(work_graph)
print("\n" + "- Data Source Imports")
load_sentences(g)
load_sentences(work_graph, corpus_1)
print("\n" + "- Result")
export_result(g)
export_result(work_graph)
except:
print("!!! An exception occurred !!!")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment