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

New rule to deduce a relation from restriction (3)

parent 960d0d36
No related branches found
No related tags found
No related merge requests found
Showing
with 5780 additions and 89 deletions
......@@ -21,12 +21,10 @@ from transduction.naming_computer import define_individual_naming, define_relati
#==============================================================================
def __search_pattern(graph):
select_data_list = ['?subject_individual_net', '?predicate_property_net', '?object_class_net']
select_data_list = ['?subject_class_net', '?predicate_property_net', '?object_class_net']
clause_list = [
'?subject_individual_net a net:Individual_Net.',
'?subject_individual_net net:hasMotherClassNet ?composite_class_net.',
'?composite_class_net a net:Composite_Class_Net.',
'?composite_class_net net:hasRestriction ?restriction_net.',
'?subject_class_net a net:Composite_Class_Net.',
'?subject_class_net net:hasRestriction ?restriction_net.',
'?restriction_net a net:Restriction_Net.',
'?restriction_net net:hasRestrictionNetValue ?object_class_net.',
'?restriction_net net:hasRestrictionOnProperty ?predicate_property_net.'
......@@ -48,11 +46,19 @@ def __search_structure(graph):
result_set = graph.query(query_code)
return result_set
def __search_individual_from_restriction(graph, restriction_uri):
# To be defined
pass
def __search_relation_from_restriction(graph, restriction_uri):
def __search_individual_from_class(graph, class_net):
select_data_list = ['?individual_net']
clause_list = [
'?individual_net a net:Individual_Net.',
f'?individual_net net:hasMotherClassNet <{class_net}>.'
]
query_code = generate_select_query(graph, select_data_list, clause_list)
result_set = graph.query(query_code)
return result_set
def __search_subclass_of_class(graph, class_net):
# To be defined
pass
......@@ -69,12 +75,12 @@ def __get_structure(graph):
def __define_individual_label(net):
class_name = 'thing'
class_name_list = net.class_name
if len(class_name_list) > 0:
assert len(class_name_list) == 1, f'Houston, we have a problem: too many naming'
class_name = class_name_list[0]
return f'any {class_name}'
class_label = 'thing'
naming_list = net.naming
if len(naming_list) > 0:
assert len(naming_list) == 1, f'Houston, we have a problem: too many naming'
class_label = naming_list[0]
return f'any {class_label}'
def __propagate_relation(graph, target_net, base_leaf):
......@@ -154,18 +160,38 @@ def deduce_individual_and_relation_from_restriction(graph):
# -- Selection Analyzing (1)
rule_triple_list = []
for pattern in pattern_set:
subject_individual_net = net.IndividualNet(graph, uri=pattern.subject_individual_net)
subject_class_net = net.ClassNet(graph, uri=pattern.subject_class_net)
predicate_property_net = net.PropertyNet(graph, uri=pattern.predicate_property_net)
object_class_net = net.ClassNet(graph, uri=pattern.object_class_net)
# -- New Net Construction for (object) Individual
object_individual_net, individual_triple_list = __construct_individual_net(graph, object_class_net)
rule_triple_list += individual_triple_list
# -- Check for existing (subject) Individual
existing_subject_individuals = list(__search_individual_from_class(graph, pattern.subject_class_net))
# -- Check for existing (object) Individual
existing_object_individuals = list(__search_individual_from_class(graph, pattern.object_class_net))
# If either a subject or an object individual exists, then proceed
if existing_subject_individuals or existing_object_individuals:
# -- New Net Construction for Relation
# Handle subject individual
if existing_subject_individuals:
subject_individual_net = net.IndividualNet(graph, uri=existing_subject_individuals[0].individual_net)
else:
subject_individual_net, subject_individual_triple_list = __construct_individual_net(graph, subject_class_net)
rule_triple_list += subject_individual_triple_list
# Handle object individual
if existing_object_individuals:
object_individual_net = net.IndividualNet(graph, uri=existing_object_individuals[0].individual_net)
else:
object_individual_net, object_individual_triple_list = __construct_individual_net(graph, object_class_net)
rule_triple_list += object_individual_triple_list
# Create the relation
new_relation_net, relation_triple_list = __construct_relation_net(
graph, subject_individual_net, predicate_property_net, object_individual_net)
rule_triple_list += relation_triple_list
return rule_label, rule_triple_list
......@@ -471,19 +471,6 @@ net:axiom_disjointProperty_not-direct_direct_d2 a net:Axiom_Net ;
net:compositeProperty_not-direct_d2 ;
net:hasStructure "SSC-01-01" .
net:compositeClass_gravitation-bind-system_g a net:Composite_Class_Net ;
net:composeFrom net:atomClass_gravitation_g,
net:atomClass_system_s,
net:atomProperty_bind_b ;
net:coverBaseNode :leaf_gravitation_g ;
net:coverNode :leaf_bind-01_b,
:leaf_gravitation_g,
:leaf_system_s ;
net:hasMotherClassNet net:atomClass_gravitation_g ;
net:hasNaming "gravitation-bind-system" ;
net:hasRestriction net:restriction_bind-system_b ;
net:hasStructure "SSC-01-01" .
net:compositeClass_object-orbit-hasManner-direct-sun_o a net:Composite_Class_Net ;
net:composeFrom net:atomClass_object_o,
net:atomClass_sun_s2,
......@@ -666,6 +653,21 @@ net:relation_SolarSystem-hasPart-sun-SSC-01-01_p a net:Relation_Net ;
net:hasStructure "SSC-01-01" ;
net:hasSubjectNet net:individual_SolarSystem_p .
net:relation_gravitation-bind-system-SSC-01-01-bind-SolarSystem_g a net:Relation_Net ;
net:composeFrom net:atomProperty_bind_b,
net:individual_SolarSystem_p,
net:individual_gravitation-bind-system-SSC-01-01_g ;
net:coverBaseNode :leaf_gravitation_g ;
net:coverNode :leaf_bind-01_b,
:leaf_gravitation_g,
:leaf_system_p,
:leaf_system_s ;
net:hasNaming "gravitation-bind-system-SSC-01-01-bind-SolarSystem" ;
net:hasObjectNet net:individual_SolarSystem_p ;
net:hasPredicateNet net:atomProperty_bind_b ;
net:hasStructure "SSC-01-01" ;
net:hasSubjectNet net:individual_gravitation-bind-system-SSC-01-01_g .
net:type a owl:AnnotationProperty ;
rdfs:label "type "@fr ;
rdfs:subPropertyOf net:netProperty .
......@@ -842,6 +844,19 @@ net:atomClass_orbit_o2 a net:Atom_Class_Net,
net:hasNaming "orbit" ;
net:hasStructure "SSC-01-01" .
net:compositeClass_gravitation-bind-system_g a net:Composite_Class_Net ;
net:composeFrom net:atomClass_gravitation_g,
net:atomClass_system_s,
net:atomProperty_bind_b ;
net:coverBaseNode :leaf_gravitation_g ;
net:coverNode :leaf_bind-01_b,
:leaf_gravitation_g,
:leaf_system_s ;
net:hasMotherClassNet net:atomClass_gravitation_g ;
net:hasNaming "gravitation-bind-system" ;
net:hasRestriction net:restriction_bind-system_b ;
net:hasStructure "SSC-01-01" .
net:compositeClass_system-hasPart-object_s a net:Class_Net,
net:Composite_Class_Net ;
:role_domain net:atomClass_system_p,
......@@ -1114,6 +1129,16 @@ net:Property_Net a owl:Class ;
net:Value_Net a owl:Class ;
rdfs:subClassOf net:Net .
net:individual_gravitation-bind-system-SSC-01-01_g a net:Individual_Net ;
net:coverBaseNode :leaf_gravitation_g ;
net:coverNode :leaf_bind-01_b,
:leaf_gravitation_g,
:leaf_system_s ;
net:hasIndividualLabel "any gravitation-bind-system" ;
net:hasMotherClassNet net:compositeClass_gravitation-bind-system_g ;
net:hasNaming "gravitation-bind-system-SSC-01-01" ;
net:hasStructure "SSC-01-01" .
net:individual_object-SSC-01-01_o a net:Individual_Net ;
net:coverBaseNode :leaf_object_o ;
net:coverNode :leaf_object_o ;
......@@ -1199,9 +1224,6 @@ net:Axiom_Net a owl:Class ;
net:Composite_Property_Net a owl:Class ;
rdfs:subClassOf net:Property_Net .
net:Individual_Net a owl:Class ;
rdfs:subClassOf net:Net .
net:Net_Structure a owl:Class ;
rdfs:label "Semantic Net Structure" ;
rdfs:comment "A semantic net captures a set of nodes, and associates this set with type(s) and value(s)." .
......@@ -1216,22 +1238,6 @@ net:atomClass_gravitation_g a net:Atom_Class_Net,
net:hasNaming "gravitation" ;
net:hasStructure "SSC-01-01" .
net:atomProperty_bind_b a net:Atom_Property_Net ;
:role_ARG0 net:atomClass_gravitation_g ;
:role_ARG1 net:atomClass_system_s ;
net:coverBaseNode :leaf_bind-01_b ;
net:coverNode :leaf_bind-01_b ;
net:hasNaming "bind" ;
net:hasPropertyName "bind" ;
net:hasPropertyName01 "binding" ;
net:hasPropertyName10 "bind-by" ;
net:hasPropertyName12 "bind-of" ;
net:hasPropertyType owl:ObjectProperty ;
net:hasStructure "SSC-01-01" ;
net:isCoreRoleLinked "true" ;
net:targetArgumentNode :leaf_gravitation_g,
:leaf_system_s .
net:compositeProperty_orbit-hasManner-direct_o2 a net:Composite_Property_Net ;
:role_ARG0 net:atomClass_object_o ;
:role_ARG1 net:atomClass_sun_s2 ;
......@@ -1304,6 +1310,9 @@ ns3:FrameRole a ns2:Role,
rdfs:subClassOf :AMR_Core_Role ;
:label "ARG1" .
net:Individual_Net a owl:Class ;
rdfs:subClassOf net:Net .
net:atomProperty_direct_d a net:Atom_Property_Net ;
net:coverBaseNode :leaf_direct-02_d ;
net:coverNode :leaf_direct-02_d ;
......@@ -1328,18 +1337,28 @@ net:typeProperty a owl:AnnotationProperty ;
:AMR_Role a owl:Class ;
rdfs:subClassOf :AMR_Element .
:leaf_bind-01_b a :AMR_Leaf ;
:edge_b_g :leaf_gravitation_g ;
:edge_b_s :leaf_system_s ;
:hasConcept :concept_bind-01 ;
:hasVariable :variable_b .
sys:Out_Structure a owl:Class ;
rdfs:label "Output Ontology Structure" .
net:Composite_Class_Net a owl:Class ;
rdfs:subClassOf net:Class_Net .
net:atomProperty_bind_b a net:Atom_Property_Net ;
:role_ARG0 net:atomClass_gravitation_g ;
:role_ARG1 net:atomClass_system_s ;
net:coverBaseNode :leaf_bind-01_b ;
net:coverNode :leaf_bind-01_b ;
net:hasNaming "bind" ;
net:hasPropertyName "bind" ;
net:hasPropertyName01 "binding" ;
net:hasPropertyName10 "bind-by" ;
net:hasPropertyName12 "bind-of" ;
net:hasPropertyType owl:ObjectProperty ;
net:hasStructure "SSC-01-01" ;
net:isCoreRoleLinked "true" ;
net:targetArgumentNode :leaf_gravitation_g,
:leaf_system_s .
net:netProperty a owl:AnnotationProperty ;
rdfs:label "netProperty" .
......@@ -1348,10 +1367,6 @@ net:netProperty a owl:AnnotationProperty ;
:AMR_Structure a owl:Class .
:leaf_gravitation_g a :AMR_Leaf ;
:hasConcept :concept_gravitation ;
:hasVariable :variable_g .
sys:Entity a owl:Class ;
rdfs:subClassOf sys:Out_Structure .
......@@ -1403,6 +1418,12 @@ rdf:Property a owl:Class .
:AMR_Relation a owl:Class ;
rdfs:subClassOf :AMR_Structure .
:leaf_bind-01_b a :AMR_Leaf ;
:edge_b_g :leaf_gravitation_g ;
:edge_b_s :leaf_system_s ;
:hasConcept :concept_bind-01 ;
:hasVariable :variable_b .
:leaf_direct-02_d a :AMR_Leaf ;
:hasConcept :concept_direct-02 ;
:hasVariable :variable_d .
......@@ -1425,18 +1446,6 @@ net:atomClass_system_p a net:Atom_Class_Net,
net:hasNaming "system" ;
net:hasStructure "SSC-01-01" .
net:individual_SolarSystem_p a net:Individual_Net ;
:role_name net:value_SolarSystem_blankNode ;
net:coverBaseNode :leaf_system_p ;
net:coverNode :leaf_system_p ;
net:hasIndividualLabel "SolarSystem" ;
net:hasMotherClassNet net:atomClass_system_p,
net:atomClass_system_s,
net:compositeClass_system-hasPart-object_s,
net:compositeClass_system-hasPart-sun_s ;
net:hasNaming "SolarSystem" ;
net:hasStructure "SSC-01-01" .
net:compositeProperty_not-direct_d2 a net:Composite_Property_Net ;
:role_polarity net:value_negative_blankNode ;
net:composeFrom net:atomProperty_direct_d2 ;
......@@ -1453,11 +1462,6 @@ net:has_object a owl:AnnotationProperty ;
:AMR_Op_Role a owl:Class ;
rdfs:subClassOf :AMR_Role .
:leaf_system_p a :AMR_Leaf ;
:edge_p_name_SolarSystem :value_SolarSystem ;
:hasConcept :concept_system ;
:hasVariable :variable_p .
net:Class_Net a owl:Class ;
rdfs:subClassOf net:Net .
......@@ -1479,11 +1483,27 @@ net:atomProperty_direct_d2 a net:Atom_Property_Net,
net:isCoreRoleLinked "true" ;
net:targetArgumentNode :value_negative .
net:individual_SolarSystem_p a net:Individual_Net ;
:role_name net:value_SolarSystem_blankNode ;
net:coverBaseNode :leaf_system_p ;
net:coverNode :leaf_system_p ;
net:hasIndividualLabel "SolarSystem" ;
net:hasMotherClassNet net:atomClass_system_p,
net:atomClass_system_s,
net:compositeClass_system-hasPart-object_s,
net:compositeClass_system-hasPart-sun_s ;
net:hasNaming "SolarSystem" ;
net:hasStructure "SSC-01-01" .
:AMR_AnnotationProperty a owl:AnnotationProperty .
:AMR_Core_Role a owl:Class ;
rdfs:subClassOf :AMR_Role .
:leaf_gravitation_g a :AMR_Leaf ;
:hasConcept :concept_gravitation ;
:hasVariable :variable_g .
:leaf_hasPart_p9 a :AMR_Leaf ;
:edge_p9_ARG0_s :leaf_system_s ;
:edge_p9_ARG1_a :leaf_and_a ;
......@@ -1491,6 +1511,11 @@ net:atomProperty_direct_d2 a net:Atom_Property_Net,
:hasVariable :variable_p9 ;
:isReifiedLeaf true .
:leaf_system_p a :AMR_Leaf ;
:edge_p_name_SolarSystem :value_SolarSystem ;
:hasConcept :concept_system ;
:hasVariable :variable_p .
net:atomClass_system_s a net:Atom_Class_Net,
net:Class_Net,
net:Deprecated_Net ;
......@@ -1532,11 +1557,6 @@ net:atomProperty_hasPart_p9 a net:Atom_Property_Net ;
:AMR_Variable a owl:Class ;
rdfs:subClassOf :AMR_Element .
:leaf_system_s a :AMR_Leaf ;
:edge_s_p :leaf_system_p ;
:hasConcept :concept_system ;
:hasVariable :variable_s .
:leaf_object_o a :AMR_Leaf ;
:hasConcept :concept_object ;
:hasVariable :variable_o .
......@@ -1558,6 +1578,11 @@ net:atomClass_object_o a net:Atom_Class_Net,
:AMR_Leaf a owl:Class ;
rdfs:subClassOf :AMR_Structure .
:leaf_system_s a :AMR_Leaf ;
:edge_s_p :leaf_system_p ;
:hasConcept :concept_system ;
:hasVariable :variable_s .
:leaf_orbit-01_o2 a :AMR_Leaf ;
:edge_o2_o :leaf_object_o ;
:edge_o2_s2 :leaf_sun_s2 ;
......
......@@ -86,7 +86,7 @@ def test_search_pattern_deducer(graph):
print(f'\n ----- number of selection found: {len(pattern_set)}')
for row in pattern_set:
result_str = f'>>> '
result_str += f'{row.subject_individual_net.n3(graph.namespace_manager)}'
result_str += f'{row.subject_class_net.n3(graph.namespace_manager)}'
result_str += f' {row.predicate_property_net.n3(graph.namespace_manager)}'
result_str += f' {row.object_class_net.n3(graph.namespace_manager)}'
print(result_str)
......
@prefix ns1: <https://tenet.tetras-libre.fr/base-ontology#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
<https://tenet.tetras-libre.fr/extract-result#SolarSystem> a owl:Individual,
<https://tenet.tetras-libre.fr/extract-result#system>,
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-object>,
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> ;
rdfs:label "SolarSystem" ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#direct> a owl:ObjectProperty ;
rdfs:label "direct" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#gravitation-bind-system> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#bind> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#system> ],
<https://tenet.tetras-libre.fr/extract-result#gravitation> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#hasManner> a owl:ObjectProperty ;
rdfs:label "hasManner" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#not-direct> a owl:ObjectProperty ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object-SSC-01-01> a owl:Individual,
<https://tenet.tetras-libre.fr/extract-result#object> ;
rdfs:label "any object" ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-direct-sun> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#sun> ],
<https://tenet.tetras-libre.fr/extract-result#object> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-not-direct-sun> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-not-direct> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#sun> ],
<https://tenet.tetras-libre.fr/extract-result#object> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#sun-SSC-01-01> a owl:Individual,
<https://tenet.tetras-libre.fr/extract-result#sun> ;
rdfs:label "any sun" ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#bind> a owl:ObjectProperty ;
rdfs:label "bind" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#gravitation> a owl:Class ;
rdfs:label "gravitation" ;
rdfs:subClassOf ns1:Entity ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> a owl:ObjectProperty ;
rdfs:subPropertyOf <https://tenet.tetras-libre.fr/extract-result#orbit> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-not-direct> a owl:ObjectProperty ;
rdfs:subPropertyOf <https://tenet.tetras-libre.fr/extract-result#orbit> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-object> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#hasPart> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#object> ],
<https://tenet.tetras-libre.fr/extract-result#system> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#hasPart> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#sun> ],
<https://tenet.tetras-libre.fr/extract-result#system> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#hasPart> a owl:ObjectProperty ;
rdfs:label "hasPart" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#orbit> a owl:ObjectProperty ;
rdfs:label "orbit" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object> a owl:Class ;
rdfs:label "object" ;
rdfs:subClassOf ns1:Entity ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#sun> a owl:Class ;
rdfs:label "sun" ;
rdfs:subClassOf ns1:Entity ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#system> a owl:Class ;
rdfs:label "system" ;
rdfs:subClassOf ns1:Entity,
ns1:Undetermined_Thing ;
ns1:fromStructure "SSC-01-01" .
- INFO - [TENET] Extraction Processing
- INFO -
=== Process Initialization ===
- INFO - -- Process Setting
- INFO - ----- Corpus source: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_data/amrDocuments/dev/solar-system-01/ (amr)
- INFO - ----- Base output dir: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907
- INFO - ----- technical dir path: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907/technical-data/
- INFO - ----- Ontology target (id): https://tenet.tetras-libre.fr/demo/01/
- INFO - ----- Current path: /home/lamenji/Workspace/Tetras/tenet/tenet
- DEBUG - ----- Config file: /home/lamenji/Workspace/Tetras/tenet/tenet/owl_amr_config.xml
- DEBUG -
*** Config (Full Parameters) ***
-- Base Parameters
----- config file: /home/lamenji/Workspace/Tetras/tenet/tenet/owl_amr_config.xml
----- uuid: https://tenet.tetras-libre.fr/demo/01/
----- technical base name: tenet.tetras-libre.fr_demo_01
----- source corpus: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_data/amrDocuments/dev/solar-system-01/
----- target reference: base
----- process level: sentence
----- source type: amr
----- extraction scheme: owl_amr_scheme_1
-- Directories
----- base directory: ./
----- structure directory: ./structure/
----- CTS directory: ./scheme/
----- target frame directory: ./../input/targetFrameStructure/
----- input document directory:
----- base output dir: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907
----- output directory: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907/tenet.tetras-libre.fr_demo_01-20230907/
----- sentence output directory: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907/technical-data/
----- technical dir path: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907/technical-data/
-- Config File Definition
----- schema file: ./structure/amr-rdf-schema.ttl
----- semantic net file: ./structure/owl-snet-schema.ttl
----- config param file: ./structure/config-parameters.ttl
----- base ontology file: ./structure/base-ontology.ttl
----- CTS file: ./scheme/owl_amr_scheme_1.py
-- Useful References for Ontology
----- base URI: https://tenet.tetras-libre.fr/working
----- ontology suffix: -ontology.ttl
----- ontology seed suffix: -ontology-seed.ttl
-- Source File Definition
----- source sentence file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_data/amrDocuments/dev/solar-system-01/**/*.ttl
-- Target File Definition
----- frame ontology file: ./../input/targetFrameStructure/base-ontology.ttl
----- frame ontology seed file: ./../input/targetFrameStructure/base-ontology-seed.ttl
-- Output
----- ontology namespace: https://tenet.tetras-libre.fr/base-ontology/
----- output file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907/technical-data/tenet.tetras-libre.fr_demo_01.ttl
*** - ***
- DEBUG - -- Counting number of graph files (sentences)
- INFO - ----- Number of Graphs: 1
- INFO -
=== Extraction Processing ===
- INFO - Single-Processing Run
- INFO -
[P-1] *** extraction from sentence 1 ***
- INFO - [P-1] -- Work Structure Preparation
- DEBUG - [P-1] --- Graph Initialization
- DEBUG - [P-1] ----- Configuration Loading
- DEBUG - [P-1] -------- RDF Schema (320)
- DEBUG - [P-1] -------- Semantic Net Definition (488)
- DEBUG - [P-1] -------- Config Parameter Definition (522)
- DEBUG - [P-1] ----- Frame Ontology Loading
- DEBUG - [P-1] -------- Base Ontology produced as output (552)
- DEBUG - [P-1] --- Source Data Import
- DEBUG - [P-1] ----- Sentence Loading
- DEBUG - [P-1] -------- /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_data/amrDocuments/dev/solar-system-01/SSC-01-01.stog.amr.ttl (600)
- DEBUG - [P-1] --- Export work graph as turtle
- DEBUG - [P-1] ----- Work graph file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01.ttl
- INFO - [P-1] ----- Sentence (id): SSC-01-01
- INFO - [P-1] ----- Sentence (text): The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly.
- INFO - [P-1] -- Loading Extraction Scheme (owl_amr_scheme_1)
- DEBUG - [P-1] ----- Step number: 3
- INFO - [P-1] -- Loading Extraction Rules (amr_master_rule/*)
- DEBUG - [P-1] ----- Total rule number: 0
- INFO - [P-1] -- Step 1: Preprocessing
- INFO - [P-1] --- Sequence: Bug fixing for some known anomalies of AMR-LD data
- INFO - [P-1] ----- fix AMR bug (1): 5/5 new triples (605, 0:00:00.032567)
- INFO - [P-1] --- Sequence: AMR reification from AMR-Linked-Data to AMR (tenet) structure
- INFO - [P-1] ----- reclassify AMR-LD concept (1): 10/10 new triples (615, 0:00:00.148893)
- DEBUG - [P-1] ----- reclassify AMR-LD concept (2): 0/0 new triple (615, 0:00:00.086849)
- INFO - [P-1] ----- reclassify AMR-LD concept (3): 12/12 new triples (627, 0:00:00.048743)
- INFO - [P-1] ----- reclassify AMR-LD concept (4): 16/16 new triples (643, 0:00:00.088739)
- INFO - [P-1] ----- reclassify AMR-LD concept (5): 2/4 new triples (645, 0:00:00.051627)
- INFO - [P-1] ----- reify roles as concept: 10/10 new triples (655, 0:00:00.072283)
- INFO - [P-1] ----- reclassify existing variable: 45/45 new triples (700, 0:00:00.092468)
- INFO - [P-1] ----- add new variable for reified concept: 8/8 new triples (708, 0:00:00.065668)
- INFO - [P-1] ----- add AMR leaf for reclassified concept: 33/33 new triples (741, 0:00:00.020561)
- INFO - [P-1] ----- add AMR leaf for reified concept: 8/8 new triples (749, 0:00:00.013074)
- INFO - [P-1] ----- add AMR edge for core relation: 27/27 new triples (776, 0:00:00.089648)
- INFO - [P-1] ----- add AMR edge for reified concept: 12/12 new triples (788, 0:00:00.064984)
- INFO - [P-1] ----- add AMR edge for name relation: 5/5 new triples (793, 0:00:00.020700)
- DEBUG - [P-1] ----- add AMR edge for quant relation: 0/0 new triple (793, 0:00:00.028528)
- INFO - [P-1] ----- add AMR edge for polarity relation: 5/5 new triples (798, 0:00:00.046143)
- INFO - [P-1] ----- update AMR edge role 1: 15/15 new triples (813, 0:00:00.086301)
- INFO - [P-1] ----- add AMR root: 5/5 new triples (818, 0:00:00.012268)
- DEBUG - [P-1] --- Serializing graph to tenet.tetras-libre.fr_demo_01_Preprocessing
- DEBUG - [P-1] ----- step: Preprocessing
- DEBUG - [P-1] ----- id: https://tenet.tetras-libre.fr/demo/01/
- DEBUG - [P-1] ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Preprocessing.ttl
- DEBUG - [P-1] ----- base: http://https://tenet.tetras-libre.fr/demo/01//Preprocessing
- INFO - [P-1] ----- 218 triples extracted during Preprocessing step
- INFO - [P-1] -- Step 2: Transduction
- INFO - [P-1] --- Sequence: atomic extraction sequence
- INFO - [P-1] ----- extract atom classes: 30/30 new triples (848, 0:00:00.183850)
- INFO - [P-1] ----- extract atom individuals: 8/8 new triples (856, 0:00:00.057230)
- INFO - [P-1] ----- extract atomic properties: 75/75 new triples (931, 0:00:00.215462)
- INFO - [P-1] ----- extract atom values: 10/10 new triples (941, 0:00:00.052401)
- INFO - [P-1] ----- extract atom phenomena: 14/14 new triples (955, 0:00:00.079278)
- INFO - [P-1] ----- propagate atom relations: 24/68 new triples (979, 0:00:00.966830)
- INFO - [P-1] --- Sequence: classification sequence (1)
- DEBUG - [P-1] ----- classify modality phenomena: 0/0 new triple (979, 0:00:00.020232)
- INFO - [P-1] ----- reclassify argument property to class: 11/14 new triples (990, 0:00:00.071110)
- INFO - [P-1] --- Sequence: phenomena analyze sequence (1)
- INFO - [P-1] ----- analyze "polarity" phenomena (1): 32/36 new triples (1022, 0:00:00.098591)
- DEBUG - [P-1] ----- analyze "polarity" phenomena (2): 0/0 new triple (1022, 0:00:00.017179)
- DEBUG - [P-1] ----- analyze "polarity" phenomena (3): 0/0 new triple (1022, 0:00:00.015483)
- DEBUG - [P-1] ----- analyze "polarity" phenomena (4): 0/0 new triple (1022, 0:00:00.040661)
- DEBUG - [P-1] ----- analyze "polarity" phenomena (5): 0/0 new triple (1022, 0:00:00.038285)
- DEBUG - [P-1] ----- analyze modifier phenomena (mod): 0/0 new triple (1022, 0:00:00.008402)
- DEBUG - [P-1] ----- classify modality phenomena: 0/0 new triple (1022, 0:00:00.020498)
- INFO - [P-1] --- Sequence: phenomena analyze sequence (2)
- INFO - [P-1] ----- analyze "or" phenomena (1): 1/1 new triple (1023, 0:00:00.078090)
- INFO - [P-1] ----- analyze "or" phenomena (2): 55/82 new triples (1078, 0:00:00.261511)
- INFO - [P-1] ----- analyze "and" phenomena (1): 2/14 new triples (1080, 0:00:00.149177)
- DEBUG - [P-1] ----- analyze "and" phenomena (2): 0/0 new triple (1080, 0:00:00.011176)
- INFO - [P-1] --- Sequence: composite class extraction sequence
- INFO - [P-1] ----- extract composite classes (1): 127/138 new triples (1207, 0:00:00.568371)
- DEBUG - [P-1] ----- extract composite classes (2): 0/0 new triple (1207, 0:00:00.031109)
- INFO - [P-1] --- Sequence: classification sequence (2)
- INFO - [P-1] ----- classify class net as entity from core arguments: 10/181 new triples (1217, 0:00:00.255142)
- DEBUG - [P-1] ----- classify class net as entity from :part relation: 0/0 new triple (1217, 0:00:00.009949)
- DEBUG - [P-1] ----- classify class net as entity from degree arguments: 0/0 new triple (1217, 0:00:00.016688)
- INFO - [P-1] ----- Associate mother to class net from :domain relation: 5/34 new triples (1222, 0:00:00.080006)
- DEBUG - [P-1] ----- Propagate individuals to net with same base node: 0/10 new triple (1222, 0:00:00.025253)
- INFO - [P-1] ----- Propagate individuals to net with domain link: 3/60 new triples (1225, 0:00:00.128922)
- INFO - [P-1] --- Sequence: heuristic dedeuction sequence
- INFO - [P-1] ----- deduce individual and relation from restriction: 40/40 new triples (1265, 0:00:00.228320)
- DEBUG - [P-1] --- Serializing graph to tenet.tetras-libre.fr_demo_01_Transduction
- DEBUG - [P-1] ----- step: Transduction
- DEBUG - [P-1] ----- id: https://tenet.tetras-libre.fr/demo/01/
- DEBUG - [P-1] ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Transduction.ttl
- DEBUG - [P-1] ----- base: http://https://tenet.tetras-libre.fr/demo/01//Transduction
- INFO - [P-1] ----- 447 triples extracted during Transduction step
- INFO - [P-1] -- Step 3: Generation
- INFO - [P-1] --- Sequence: OWL Generation Sequence
- INFO - [P-1] ----- generate OWL class: 52/55 new triples (1317, 0:00:00.589613)
- INFO - [P-1] ----- generate OWL property: 29/29 new triples (1346, 0:00:00.342292)
- INFO - [P-1] ----- generate OWL individual: 14/15 new triples (1360, 0:00:00.307726)
- DEBUG - [P-1] --- Serializing graph to tenet.tetras-libre.fr_demo_01_Generation
- DEBUG - [P-1] ----- step: Generation
- DEBUG - [P-1] ----- id: https://tenet.tetras-libre.fr/demo/01/
- DEBUG - [P-1] ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Generation.ttl
- DEBUG - [P-1] ----- base: http://https://tenet.tetras-libre.fr/demo/01//Generation
- INFO - [P-1] ----- 95 triples extracted during Generation step
- DEBUG - [P-1] --- Serializing graph to factoid file (/home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_factoid.ttl)
- DEBUG - [P-1] ----- Number of factoids: 99
- DEBUG - [P-1] ----- Graph base: http://https://tenet.tetras-libre.fr/demo/01//factoid
- INFO - [P-1] Success (99 extracted triple(s))
- INFO -
=== Final Ontology Generation ===
- INFO - -- Making complete factoid graph by merging the result factoids
- INFO - ----- Total factoid number: 99
- INFO - -- Serializing graph to factoid string
- INFO - ----- Graph base: http://https://tenet.tetras-libre.fr/demo/01//factoid
- INFO - -- Serializing graph to factoid file
- INFO - ----- Ontology Turtle File: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907/SolarSystemDev01_factoid.ttl
- INFO -
=== Done ===
@prefix ns1: <https://tenet.tetras-libre.fr/base-ontology#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
<https://tenet.tetras-libre.fr/extract-result#SolarSystem> a owl:Individual,
<https://tenet.tetras-libre.fr/extract-result#system>,
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-object>,
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> ;
rdfs:label "SolarSystem" ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#direct> a owl:ObjectProperty ;
rdfs:label "direct" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#gravitation-bind-system> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#bind> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#system> ],
<https://tenet.tetras-libre.fr/extract-result#gravitation> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#hasManner> a owl:ObjectProperty ;
rdfs:label "hasManner" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#not-direct> a owl:ObjectProperty ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object-SSC-01-01> a owl:Individual,
<https://tenet.tetras-libre.fr/extract-result#object> ;
rdfs:label "any object" ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-direct-sun> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#sun> ],
<https://tenet.tetras-libre.fr/extract-result#object> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-not-direct-sun> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-not-direct> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#sun> ],
<https://tenet.tetras-libre.fr/extract-result#object> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#sun-SSC-01-01> a owl:Individual,
<https://tenet.tetras-libre.fr/extract-result#sun> ;
rdfs:label "any sun" ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#bind> a owl:ObjectProperty ;
rdfs:label "bind" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#gravitation> a owl:Class ;
rdfs:label "gravitation" ;
rdfs:subClassOf ns1:Entity ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> a owl:ObjectProperty ;
rdfs:subPropertyOf <https://tenet.tetras-libre.fr/extract-result#orbit> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-not-direct> a owl:ObjectProperty ;
rdfs:subPropertyOf <https://tenet.tetras-libre.fr/extract-result#orbit> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-object> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#hasPart> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#object> ],
<https://tenet.tetras-libre.fr/extract-result#system> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#hasPart> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#sun> ],
<https://tenet.tetras-libre.fr/extract-result#system> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#hasPart> a owl:ObjectProperty ;
rdfs:label "hasPart" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#orbit> a owl:ObjectProperty ;
rdfs:label "orbit" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object> a owl:Class ;
rdfs:label "object" ;
rdfs:subClassOf ns1:Entity ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#sun> a owl:Class ;
rdfs:label "sun" ;
rdfs:subClassOf ns1:Entity ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#system> a owl:Class ;
rdfs:label "system" ;
rdfs:subClassOf ns1:Entity,
ns1:Undetermined_Thing ;
ns1:fromStructure "SSC-01-01" .
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment