From 892b12e5d0a21a473445bb4a9fedfbd1ce33d922 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Lamercerie?= <aurelien.lamercerie@tetras-libre.fr> Date: Fri, 8 Sep 2023 16:20:03 +0200 Subject: [PATCH] New Generator Rule: OWL Relation Generation (2) --- .../owl_generation/owl_relation_generator.py | 46 +++++-- tenet/scheme/owl_amr_scheme_1.py | 3 +- .../devGraph-relations-to-generate.result.ttl | 9 +- .../SolarSystemDev01_factoid.ttl | 114 ++++++++--------- .../technical-data/tenet.log | 107 ++++++++-------- ...net.tetras-libre.fr_demo_01_Generation.ttl | 116 +++++++++--------- .../tenet.tetras-libre.fr_demo_01_factoid.ttl | 114 ++++++++--------- 7 files changed, 274 insertions(+), 235 deletions(-) diff --git a/tenet/scheme/amr_master_rule/owl_generation/owl_relation_generator.py b/tenet/scheme/amr_master_rule/owl_generation/owl_relation_generator.py index 7aa256ec..a3f60d76 100644 --- a/tenet/scheme/amr_master_rule/owl_generation/owl_relation_generator.py +++ b/tenet/scheme/amr_master_rule/owl_generation/owl_relation_generator.py @@ -29,8 +29,13 @@ from transduction.query_builder import ( def __search_relation_pattern(graph): # SPARQL query construction - select_data_list = ['?relation_net'] - clause_list = [(f'?relation_net a net:Relation_Net.')] + select_data_list = ['?relation_net', '?subject_net', '?predicate_net', '?object_net'] + clause_list = [ + f'?relation_net a net:Relation_Net.', + f'?relation_net net:hasSubjectNet ?subject_net.', + f'?relation_net net:hasPredicateNet ?predicate_net.', + f'?relation_net net:hasObjectNet ?object_net.' + ] query_code = generate_select_query(graph, select_data_list, clause_list) # SPARQL query execution @@ -47,14 +52,28 @@ def __search_relation_pattern(graph): # -- Base Method to compute URI # ------------------------------------------ +# def __compute_individual_uri(individual_net): +# return rdflib.URIRef("http://example.org/defaultIndividual") + def __compute_individual_uri(individual_net): - # TODO: À développer plus tard. Retourne un URI par défaut pour l'instant. - return rdflib.URIRef("http://example.org/defaultIndividual") + if isinstance(individual_net.individual_uri, list) and len(individual_net.individual_uri) > 0: + class_uri = individual_net.individual_uri[0] + else: # computation of individual_uri + net_naming = individual_net.get_attribute_first_value(individual_net.naming) + individual_uri = produce_uriref(individual_net.support_graph, f'ext-out:{net_naming}') + return individual_uri + +# def __compute_property_uri(property_net): +# return rdflib.URIRef("http://example.org/defaultProperty") def __compute_property_uri(property_net): - # TODO: À développer plus tard. Retourne un URI par défaut pour l'instant. - return rdflib.URIRef("http://example.org/defaultProperty") + if isinstance(property_net.property_uri, list) and len(property_net.property_uri) > 0: + property_uri = property_net.property_uri[0] + else: # computation of property_uri + net_naming = property_net.get_attribute_first_value(property_net.naming) + property_uri = produce_uriref(property_net.support_graph, f'ext-out:{net_naming}') + return property_uri # -- Base Method to define triple @@ -67,11 +86,13 @@ def __define_relation_triple(subject, predicate, object): # -- Methods to generate OWL triple # ----------------------------------- -def __generate_owl_triple_definition(graph, relation_net): - # Fetch related nets - subject_net = relation_net - predicate_net = relation_net - object_net = relation_net +def __generate_owl_triple_definition( + graph, subject_net, predicate_net, object_net): + + # -- + subject_net = net.IndividualNet(graph, uri=subject_net) + predicate_net = net.PropertyNet(graph, uri=predicate_net) + object_net = net.IndividualNet(graph, uri=object_net) # Compute URIs for each component subject_uri = __compute_individual_uri(subject_net) @@ -98,7 +119,8 @@ def generate_owl_relation(graph): pattern_set = __search_relation_pattern(graph) for pattern in pattern_set: - triple_list = __generate_owl_triple_definition(graph, pattern.relation_net) + triple_list = __generate_owl_triple_definition( + graph, pattern.subject_net, pattern.predicate_net, pattern.object_net) rule_triple_list += triple_list return rule_label, rule_triple_list diff --git a/tenet/scheme/owl_amr_scheme_1.py b/tenet/scheme/owl_amr_scheme_1.py index 49f4155a..5c17ce47 100644 --- a/tenet/scheme/owl_amr_scheme_1.py +++ b/tenet/scheme/owl_amr_scheme_1.py @@ -129,7 +129,8 @@ heuristic_deduction_sequence = ['heuristic dedeuction sequence', owl_generation_sequence = ['OWL Generation Sequence', rule.generate_owl_class, rule.generate_owl_property, - rule.generate_owl_individual + rule.generate_owl_individual, + rule.generate_owl_relation ] diff --git a/tests/dev_owl_rule_tests/test_data/devGraph-relations-to-generate.result.ttl b/tests/dev_owl_rule_tests/test_data/devGraph-relations-to-generate.result.ttl index d29f744b..3d754e35 100644 --- a/tests/dev_owl_rule_tests/test_data/devGraph-relations-to-generate.result.ttl +++ b/tests/dev_owl_rule_tests/test_data/devGraph-relations-to-generate.result.ttl @@ -1,7 +1,7 @@ @prefix : <https://amr.tetras-libre.fr/rdf/schema#> . @prefix cprm: <https://tenet.tetras-libre.fr/config/parameters#> . @prefix net: <https://tenet.tetras-libre.fr/semantic-net#> . -@prefix ns1: <http://example.org/> . +@prefix ns1: <https://tenet.tetras-libre.fr/extract-result#> . @prefix ns11: <http://amr.isi.edu/rdf/amr-terms#> . @prefix ns2: <http://amr.isi.edu/rdf/core-amr#> . @prefix ns3: <http://amr.isi.edu/frames/ld/v1.2.2/> . @@ -425,6 +425,8 @@ cprm:targetOntologyURI a rdf:Property ; rdfs:range xsd:string ; rdfs:subPropertyOf cprm:configParamProperty . +ns1:gravitation-SSC-01-01 ns1:bind ns1:SolarSystem . + <https://tenet.tetras-libre.fr/semantic-net> a owl:Ontology . net:Logical_Set_Net a owl:Class ; @@ -673,8 +675,6 @@ ns4:planet a ns2:NamedEntity ; ns2:AMR a owl:Class ; rdfs:subClassOf :AMR_Linked_Data . -ns1:defaultIndividual ns1:defaultProperty ns1:defaultIndividual . - :AMR_Root a owl:Class ; rdfs:subClassOf :AMR_Structure . @@ -800,6 +800,9 @@ sys:Feature a owl:Class ; sys:Out_AnnotationProperty a owl:AnnotationProperty . +ns1:SolarSystem ns1:hasPart ns1:object-SSC-01-01, + ns1:sun-SSC-01-01 . + net:Feature a owl:Class ; rdfs:subClassOf net:Net_Structure . diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-20230908/SolarSystemDev01_factoid.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-20230908/SolarSystemDev01_factoid.ttl index 0de660a6..92c96354 100644 --- a/tests/main_tests/test_owl_output/SolarSystemDev01-20230908/SolarSystemDev01_factoid.ttl +++ b/tests/main_tests/test_owl_output/SolarSystemDev01-20230908/SolarSystemDev01_factoid.ttl @@ -1,119 +1,123 @@ @prefix ns1: <https://tenet.tetras-libre.fr/base-ontology#> . +@prefix ns2: <https://tenet.tetras-libre.fr/extract-result#> . @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 ; +ns2: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-SSC-01-01> a owl:Individual, - <https://tenet.tetras-libre.fr/extract-result#gravitation-bind-system> ; +ns2:gravitation-SSC-01-01 a owl:Individual, + ns2:gravitation-bind-system ; rdfs:label "any gravitation" ; - ns1:fromStructure "SSC-01-01" . + ns1:fromStructure "SSC-01-01" ; + ns2:bind ns2:SolarSystem . -<https://tenet.tetras-libre.fr/extract-result#hasManner> a owl:ObjectProperty ; +ns2: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 ; +ns2: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>, - <https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-direct-sun>, - <https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-not-direct-sun> ; - rdfs:label "any 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" . +ns2:SolarSystem a owl:Individual, + ns2:system, + ns2:system-hasPart-object, + ns2:system-hasPart-sun ; + rdfs:label "SolarSystem" ; + ns1:fromStructure "SSC-01-01" ; + ns2:hasPart ns2:object-SSC-01-01, + ns2:sun-SSC-01-01 . -<https://tenet.tetras-libre.fr/extract-result#bind> a owl:ObjectProperty ; +ns2: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 ; +ns2:gravitation a owl:Class ; rdfs:label "gravitation" ; rdfs:subClassOf ns1:Entity ; ns1:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#gravitation-bind-system> a owl:Class ; +ns2: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> ; + owl:onProperty ns2:bind ; + owl:someValuesFrom ns2:system ], + ns2:gravitation ; + ns1:fromStructure "SSC-01-01" . + +ns2:object-SSC-01-01 a owl:Individual, + ns2:object, + ns2:object-orbit-hasManner-direct-sun, + ns2:object-orbit-hasManner-not-direct-sun ; + rdfs:label "any object" ; ns1:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-direct-sun> a owl:Class ; +ns2: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> ; + owl:onProperty ns2:orbit-hasManner-direct ; + owl:someValuesFrom ns2:sun ], + ns2:object ; ns1:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-not-direct-sun> a owl:Class ; +ns2: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> ; + owl:onProperty ns2:orbit-hasManner-not-direct ; + owl:someValuesFrom ns2:sun ], + ns2:object ; + ns1:fromStructure "SSC-01-01" . + +ns2:orbit-hasManner-direct a owl:ObjectProperty ; + rdfs:subPropertyOf ns2:orbit ; 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> ; +ns2:orbit-hasManner-not-direct a owl:ObjectProperty ; + rdfs:subPropertyOf ns2: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> ; +ns2:sun-SSC-01-01 a owl:Individual, + ns2:sun ; + rdfs:label "any sun" ; ns1:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#system-hasPart-object> a owl:Class ; +ns2: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> ; + owl:onProperty ns2:hasPart ; + owl:someValuesFrom ns2:object ], + ns2:system ; ns1:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> a owl:Class ; +ns2: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> ; + owl:onProperty ns2:hasPart ; + owl:someValuesFrom ns2:sun ], + ns2:system ; ns1:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#hasPart> a owl:ObjectProperty ; +ns2: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 ; +ns2: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 ; +ns2: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 ; +ns2: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 ; +ns2:system a owl:Class ; rdfs:label "system" ; rdfs:subClassOf ns1:Entity, ns1:Undetermined_Thing ; diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-20230908/technical-data/tenet.log b/tests/main_tests/test_owl_output/SolarSystemDev01-20230908/technical-data/tenet.log index 9629dc92..642f6a2b 100644 --- a/tests/main_tests/test_owl_output/SolarSystemDev01-20230908/technical-data/tenet.log +++ b/tests/main_tests/test_owl_output/SolarSystemDev01-20230908/technical-data/tenet.log @@ -76,25 +76,25 @@ - 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.015421) +- INFO - [P-1] ----- fix AMR bug (1): 5/5 new triples (605, 0:00:00.020734) - 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.080709) -- DEBUG - [P-1] ----- reclassify AMR-LD concept (2): 0/0 new triple (615, 0:00:00.044051) -- INFO - [P-1] ----- reclassify AMR-LD concept (3): 12/12 new triples (627, 0:00:00.030094) -- INFO - [P-1] ----- reclassify AMR-LD concept (4): 16/16 new triples (643, 0:00:00.045990) -- INFO - [P-1] ----- reclassify AMR-LD concept (5): 2/4 new triples (645, 0:00:00.040377) -- INFO - [P-1] ----- reify roles as concept: 10/10 new triples (655, 0:00:00.058610) -- INFO - [P-1] ----- reclassify existing variable: 45/45 new triples (700, 0:00:00.096800) -- INFO - [P-1] ----- add new variable for reified concept: 8/8 new triples (708, 0:00:00.055498) -- INFO - [P-1] ----- add AMR leaf for reclassified concept: 33/33 new triples (741, 0:00:00.023910) -- INFO - [P-1] ----- add AMR leaf for reified concept: 8/8 new triples (749, 0:00:00.011742) -- INFO - [P-1] ----- add AMR edge for core relation: 27/27 new triples (776, 0:00:00.087139) -- INFO - [P-1] ----- add AMR edge for reified concept: 12/12 new triples (788, 0:00:00.065064) -- INFO - [P-1] ----- add AMR edge for name relation: 5/5 new triples (793, 0:00:00.025519) -- DEBUG - [P-1] ----- add AMR edge for quant relation: 0/0 new triple (793, 0:00:00.020558) -- INFO - [P-1] ----- add AMR edge for polarity relation: 5/5 new triples (798, 0:00:00.026026) -- INFO - [P-1] ----- update AMR edge role 1: 15/15 new triples (813, 0:00:00.071903) -- INFO - [P-1] ----- add AMR root: 5/5 new triples (818, 0:00:00.011116) +- INFO - [P-1] ----- reclassify AMR-LD concept (1): 10/10 new triples (615, 0:00:00.082527) +- DEBUG - [P-1] ----- reclassify AMR-LD concept (2): 0/0 new triple (615, 0:00:00.046103) +- INFO - [P-1] ----- reclassify AMR-LD concept (3): 12/12 new triples (627, 0:00:00.027606) +- INFO - [P-1] ----- reclassify AMR-LD concept (4): 16/16 new triples (643, 0:00:00.052660) +- INFO - [P-1] ----- reclassify AMR-LD concept (5): 2/4 new triples (645, 0:00:00.029949) +- INFO - [P-1] ----- reify roles as concept: 10/10 new triples (655, 0:00:00.035906) +- INFO - [P-1] ----- reclassify existing variable: 45/45 new triples (700, 0:00:00.021791) +- INFO - [P-1] ----- add new variable for reified concept: 8/8 new triples (708, 0:00:00.043916) +- INFO - [P-1] ----- add AMR leaf for reclassified concept: 33/33 new triples (741, 0:00:00.018901) +- INFO - [P-1] ----- add AMR leaf for reified concept: 8/8 new triples (749, 0:00:00.014984) +- INFO - [P-1] ----- add AMR edge for core relation: 27/27 new triples (776, 0:00:00.084435) +- INFO - [P-1] ----- add AMR edge for reified concept: 12/12 new triples (788, 0:00:00.065675) +- INFO - [P-1] ----- add AMR edge for name relation: 5/5 new triples (793, 0:00:00.018358) +- DEBUG - [P-1] ----- add AMR edge for quant relation: 0/0 new triple (793, 0:00:00.025163) +- INFO - [P-1] ----- add AMR edge for polarity relation: 5/5 new triples (798, 0:00:00.029763) +- INFO - [P-1] ----- update AMR edge role 1: 15/15 new triples (813, 0:00:00.067787) +- INFO - [P-1] ----- add AMR root: 5/5 new triples (818, 0:00:00.011561) - 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/ @@ -103,40 +103,40 @@ - 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.153564) -- INFO - [P-1] ----- extract atom individuals: 8/8 new triples (856, 0:00:00.048222) -- INFO - [P-1] ----- extract atomic properties: 75/75 new triples (931, 0:00:00.198808) -- INFO - [P-1] ----- extract atom values: 10/10 new triples (941, 0:00:00.048026) -- INFO - [P-1] ----- extract atom phenomena: 14/14 new triples (955, 0:00:00.071701) -- INFO - [P-1] ----- propagate atom relations: 24/68 new triples (979, 0:00:01.331220) +- INFO - [P-1] ----- extract atom classes: 30/30 new triples (848, 0:00:00.156714) +- INFO - [P-1] ----- extract atom individuals: 8/8 new triples (856, 0:00:00.049079) +- INFO - [P-1] ----- extract atomic properties: 75/75 new triples (931, 0:00:00.207583) +- INFO - [P-1] ----- extract atom values: 10/10 new triples (941, 0:00:00.056586) +- INFO - [P-1] ----- extract atom phenomena: 14/14 new triples (955, 0:00:00.063514) +- INFO - [P-1] ----- propagate atom relations: 24/68 new triples (979, 0:00:01.047294) - INFO - [P-1] --- Sequence: classification sequence (1) -- DEBUG - [P-1] ----- classify modality phenomena: 0/0 new triple (979, 0:00:00.030817) -- INFO - [P-1] ----- reclassify argument property to class: 11/14 new triples (990, 0:00:00.089195) +- DEBUG - [P-1] ----- classify modality phenomena: 0/0 new triple (979, 0:00:00.020573) +- INFO - [P-1] ----- reclassify argument property to class: 11/14 new triples (990, 0:00:00.075570) - INFO - [P-1] --- Sequence: phenomena analyze sequence (1) -- INFO - [P-1] ----- analyze "polarity" phenomena (1): 32/36 new triples (1022, 0:00:00.117582) -- DEBUG - [P-1] ----- analyze "polarity" phenomena (2): 0/0 new triple (1022, 0:00:00.018019) -- DEBUG - [P-1] ----- analyze "polarity" phenomena (3): 0/0 new triple (1022, 0:00:00.016401) -- DEBUG - [P-1] ----- analyze "polarity" phenomena (4): 0/0 new triple (1022, 0:00:00.035798) -- DEBUG - [P-1] ----- analyze "polarity" phenomena (5): 0/0 new triple (1022, 0:00:00.039828) -- DEBUG - [P-1] ----- analyze modifier phenomena (mod): 0/0 new triple (1022, 0:00:00.008696) -- DEBUG - [P-1] ----- classify modality phenomena: 0/0 new triple (1022, 0:00:00.019519) +- INFO - [P-1] ----- analyze "polarity" phenomena (1): 32/36 new triples (1022, 0:00:00.102451) +- DEBUG - [P-1] ----- analyze "polarity" phenomena (2): 0/0 new triple (1022, 0:00:00.016337) +- DEBUG - [P-1] ----- analyze "polarity" phenomena (3): 0/0 new triple (1022, 0:00:00.016750) +- DEBUG - [P-1] ----- analyze "polarity" phenomena (4): 0/0 new triple (1022, 0:00:00.038235) +- DEBUG - [P-1] ----- analyze "polarity" phenomena (5): 0/0 new triple (1022, 0:00:00.040128) +- DEBUG - [P-1] ----- analyze modifier phenomena (mod): 0/0 new triple (1022, 0:00:00.008334) +- DEBUG - [P-1] ----- classify modality phenomena: 0/0 new triple (1022, 0:00:00.019297) - INFO - [P-1] --- Sequence: phenomena analyze sequence (2) -- INFO - [P-1] ----- analyze "or" phenomena (1): 1/1 new triple (1023, 0:00:00.071323) -- INFO - [P-1] ----- analyze "or" phenomena (2): 55/82 new triples (1078, 0:00:00.286773) -- INFO - [P-1] ----- analyze "and" phenomena (1): 2/14 new triples (1080, 0:00:00.281081) -- DEBUG - [P-1] ----- analyze "and" phenomena (2): 0/0 new triple (1080, 0:00:00.022078) +- INFO - [P-1] ----- analyze "or" phenomena (1): 1/1 new triple (1023, 0:00:00.076121) +- INFO - [P-1] ----- analyze "or" phenomena (2): 55/82 new triples (1078, 0:00:00.262627) +- INFO - [P-1] ----- analyze "and" phenomena (1): 2/14 new triples (1080, 0:00:00.151709) +- DEBUG - [P-1] ----- analyze "and" phenomena (2): 0/0 new triple (1080, 0:00:00.011420) - INFO - [P-1] --- Sequence: composite class extraction sequence -- INFO - [P-1] ----- extract composite classes (1): 127/138 new triples (1207, 0:00:00.553363) -- DEBUG - [P-1] ----- extract composite classes (2): 0/0 new triple (1207, 0:00:00.029625) +- INFO - [P-1] ----- extract composite classes (1): 127/138 new triples (1207, 0:00:00.490171) +- DEBUG - [P-1] ----- extract composite classes (2): 0/0 new triple (1207, 0:00:00.032944) - 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.255023) -- DEBUG - [P-1] ----- classify class net as entity from :part relation: 0/0 new triple (1217, 0:00:00.009070) -- DEBUG - [P-1] ----- classify class net as entity from degree arguments: 0/0 new triple (1217, 0:00:00.018742) -- INFO - [P-1] ----- Associate mother to class net from :domain relation: 5/34 new triples (1222, 0:00:00.088250) -- DEBUG - [P-1] ----- Propagate individuals to net with same base node: 0/10 new triple (1222, 0:00:00.027594) -- INFO - [P-1] ----- Propagate individuals to net with domain link: 3/60 new triples (1225, 0:00:00.126402) +- INFO - [P-1] ----- classify class net as entity from core arguments: 10/181 new triples (1217, 0:00:00.255602) +- DEBUG - [P-1] ----- classify class net as entity from :part relation: 0/0 new triple (1217, 0:00:00.010647) +- DEBUG - [P-1] ----- classify class net as entity from degree arguments: 0/0 new triple (1217, 0:00:00.019184) +- INFO - [P-1] ----- Associate mother to class net from :domain relation: 5/34 new triples (1222, 0:00:00.084087) +- DEBUG - [P-1] ----- Propagate individuals to net with same base node: 0/10 new triple (1222, 0:00:00.028742) +- INFO - [P-1] ----- Propagate individuals to net with domain link: 3/60 new triples (1225, 0:00:00.107290) - INFO - [P-1] --- Sequence: heuristic dedeuction sequence -- INFO - [P-1] ----- deduce individual and relation from restriction: 65/69 new triples (1290, 0:00:00.443904) +- INFO - [P-1] ----- deduce individual and relation from restriction: 65/69 new triples (1290, 0:00:00.356834) - 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/ @@ -145,23 +145,24 @@ - INFO - [P-1] ----- 472 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 (1342, 0:00:00.608542) -- INFO - [P-1] ----- generate OWL property: 29/29 new triples (1371, 0:00:00.280977) -- INFO - [P-1] ----- generate OWL individual: 20/21 new triples (1391, 0:00:00.240824) +- INFO - [P-1] ----- generate OWL class: 52/55 new triples (1342, 0:00:00.639166) +- INFO - [P-1] ----- generate OWL property: 29/29 new triples (1371, 0:00:00.294864) +- INFO - [P-1] ----- generate OWL individual: 20/21 new triples (1391, 0:00:00.214574) +- INFO - [P-1] ----- generate OWL relation (property): 3/3 new triples (1394, 0:00:00.101722) - 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-20230908/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] ----- 101 triples extracted during Generation step +- INFO - [P-1] ----- 104 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-20230908/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_factoid.ttl) -- DEBUG - [P-1] ----- Number of factoids: 105 +- DEBUG - [P-1] ----- Number of factoids: 108 - DEBUG - [P-1] ----- Graph base: http://https://tenet.tetras-libre.fr/demo/01//factoid -- INFO - [P-1] Success (105 extracted triple(s)) +- INFO - [P-1] Success (108 extracted triple(s)) - INFO - === Final Ontology Generation === - INFO - -- Making complete factoid graph by merging the result factoids -- INFO - ----- Total factoid number: 105 +- INFO - ----- Total factoid number: 108 - INFO - -- Serializing graph to factoid string - INFO - ----- Graph base: http://https://tenet.tetras-libre.fr/demo/01//factoid - INFO - -- Serializing graph to factoid file diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-20230908/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Generation.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-20230908/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Generation.ttl index f34fdb9a..fca371ed 100644 --- a/tests/main_tests/test_owl_output/SolarSystemDev01-20230908/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Generation.ttl +++ b/tests/main_tests/test_owl_output/SolarSystemDev01-20230908/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Generation.ttl @@ -1,6 +1,7 @@ @prefix : <https://amr.tetras-libre.fr/rdf/schema#> . @prefix cprm: <https://tenet.tetras-libre.fr/config/parameters#> . @prefix net: <https://tenet.tetras-libre.fr/semantic-net#> . +@prefix ns1: <https://tenet.tetras-libre.fr/extract-result#> . @prefix ns11: <http://amr.isi.edu/rdf/amr-terms#> . @prefix ns2: <http://amr.isi.edu/rdf/core-amr#> . @prefix ns3: <http://amr.isi.edu/frames/ld/v1.2.2/> . @@ -420,44 +421,26 @@ cprm:targetOntologyURI a rdf:Property ; rdfs:range xsd:string ; rdfs:subPropertyOf cprm:configParamProperty . -<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" ; - sys:fromStructure "SSC-01-01" . - -<https://tenet.tetras-libre.fr/extract-result#direct> a owl:ObjectProperty ; +ns1:direct a owl:ObjectProperty ; rdfs:label "direct" ; rdfs:subPropertyOf sys:Out_ObjectProperty ; sys:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#gravitation-SSC-01-01> a owl:Individual, - <https://tenet.tetras-libre.fr/extract-result#gravitation-bind-system> ; +ns1:gravitation-SSC-01-01 a owl:Individual, + ns1:gravitation-bind-system ; rdfs:label "any gravitation" ; - sys:fromStructure "SSC-01-01" . + sys:fromStructure "SSC-01-01" ; + ns1:bind ns1:SolarSystem . -<https://tenet.tetras-libre.fr/extract-result#hasManner> a owl:ObjectProperty ; +ns1:hasManner a owl:ObjectProperty ; rdfs:label "hasManner" ; rdfs:subPropertyOf sys:Out_ObjectProperty ; sys:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#not-direct> a owl:ObjectProperty ; +ns1:not-direct a owl:ObjectProperty ; rdfs:subPropertyOf sys:Out_ObjectProperty ; sys: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>, - <https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-direct-sun>, - <https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-not-direct-sun> ; - rdfs:label "any object" ; - sys: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" ; - sys:fromStructure "SSC-01-01" . - <https://tenet.tetras-libre.fr/semantic-net> a owl:Ontology . net:Logical_Set_Net a owl:Class ; @@ -834,57 +817,78 @@ sys:Out_AnnotationProperty a owl:AnnotationProperty . sys:Undetermined_Thing a owl:Class ; rdfs:subClassOf sys:Out_Structure . -<https://tenet.tetras-libre.fr/extract-result#bind> a owl:ObjectProperty ; +ns1:SolarSystem a owl:Individual, + ns1:system, + ns1:system-hasPart-object, + ns1:system-hasPart-sun ; + rdfs:label "SolarSystem" ; + sys:fromStructure "SSC-01-01" ; + ns1:hasPart ns1:object-SSC-01-01, + ns1:sun-SSC-01-01 . + +ns1:bind a owl:ObjectProperty ; rdfs:label "bind" ; rdfs:subPropertyOf sys:Out_ObjectProperty ; sys:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#gravitation> a owl:Class ; +ns1:gravitation a owl:Class ; rdfs:label "gravitation" ; rdfs:subClassOf sys:Entity ; sys:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#gravitation-bind-system> a owl:Class ; +ns1: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> ; + owl:onProperty ns1:bind ; + owl:someValuesFrom ns1:system ], + ns1:gravitation ; sys:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-direct-sun> a owl:Class ; +ns1:object-SSC-01-01 a owl:Individual, + ns1:object, + ns1:object-orbit-hasManner-direct-sun, + ns1:object-orbit-hasManner-not-direct-sun ; + rdfs:label "any object" ; + sys:fromStructure "SSC-01-01" . + +ns1: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> ; + owl:onProperty ns1:orbit-hasManner-direct ; + owl:someValuesFrom ns1:sun ], + ns1:object ; sys:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-not-direct-sun> a owl:Class ; +ns1: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> ; + owl:onProperty ns1:orbit-hasManner-not-direct ; + owl:someValuesFrom ns1:sun ], + ns1:object ; + sys:fromStructure "SSC-01-01" . + +ns1:orbit-hasManner-direct a owl:ObjectProperty ; + rdfs:subPropertyOf ns1:orbit ; sys: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:orbit-hasManner-not-direct a owl:ObjectProperty ; + rdfs:subPropertyOf ns1:orbit ; sys: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:sun-SSC-01-01 a owl:Individual, + ns1:sun ; + rdfs:label "any sun" ; sys:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#system-hasPart-object> a owl:Class ; +ns1: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> ; + owl:onProperty ns1:hasPart ; + owl:someValuesFrom ns1:object ], + ns1:system ; sys:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> a owl:Class ; +ns1: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> ; + owl:onProperty ns1:hasPart ; + owl:someValuesFrom ns1:sun ], + ns1:system ; sys:fromStructure "SSC-01-01" . net:Feature a owl:Class ; @@ -1208,12 +1212,12 @@ ns2:or a ns2:Concept ; :value_SolarSystem a :AMR_Value ; rdfs:label "SolarSystem" . -<https://tenet.tetras-libre.fr/extract-result#hasPart> a owl:ObjectProperty ; +ns1:hasPart a owl:ObjectProperty ; rdfs:label "hasPart" ; rdfs:subPropertyOf sys:Out_ObjectProperty ; sys:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#orbit> a owl:ObjectProperty ; +ns1:orbit a owl:ObjectProperty ; rdfs:label "orbit" ; rdfs:subPropertyOf sys:Out_ObjectProperty ; sys:fromStructure "SSC-01-01" . @@ -1413,17 +1417,17 @@ ns3:FrameRole a ns2:Role, rdfs:subClassOf :AMR_Core_Role ; :label "ARG1" . -<https://tenet.tetras-libre.fr/extract-result#object> a owl:Class ; +ns1:object a owl:Class ; rdfs:label "object" ; rdfs:subClassOf sys:Entity ; sys:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#sun> a owl:Class ; +ns1:sun a owl:Class ; rdfs:label "sun" ; rdfs:subClassOf sys:Entity ; sys:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#system> a owl:Class ; +ns1:system a owl:Class ; rdfs:label "system" ; rdfs:subClassOf sys:Entity, sys:Undetermined_Thing ; diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-20230908/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_factoid.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-20230908/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_factoid.ttl index 0de660a6..92c96354 100644 --- a/tests/main_tests/test_owl_output/SolarSystemDev01-20230908/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_factoid.ttl +++ b/tests/main_tests/test_owl_output/SolarSystemDev01-20230908/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_factoid.ttl @@ -1,119 +1,123 @@ @prefix ns1: <https://tenet.tetras-libre.fr/base-ontology#> . +@prefix ns2: <https://tenet.tetras-libre.fr/extract-result#> . @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 ; +ns2: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-SSC-01-01> a owl:Individual, - <https://tenet.tetras-libre.fr/extract-result#gravitation-bind-system> ; +ns2:gravitation-SSC-01-01 a owl:Individual, + ns2:gravitation-bind-system ; rdfs:label "any gravitation" ; - ns1:fromStructure "SSC-01-01" . + ns1:fromStructure "SSC-01-01" ; + ns2:bind ns2:SolarSystem . -<https://tenet.tetras-libre.fr/extract-result#hasManner> a owl:ObjectProperty ; +ns2: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 ; +ns2: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>, - <https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-direct-sun>, - <https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-not-direct-sun> ; - rdfs:label "any 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" . +ns2:SolarSystem a owl:Individual, + ns2:system, + ns2:system-hasPart-object, + ns2:system-hasPart-sun ; + rdfs:label "SolarSystem" ; + ns1:fromStructure "SSC-01-01" ; + ns2:hasPart ns2:object-SSC-01-01, + ns2:sun-SSC-01-01 . -<https://tenet.tetras-libre.fr/extract-result#bind> a owl:ObjectProperty ; +ns2: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 ; +ns2:gravitation a owl:Class ; rdfs:label "gravitation" ; rdfs:subClassOf ns1:Entity ; ns1:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#gravitation-bind-system> a owl:Class ; +ns2: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> ; + owl:onProperty ns2:bind ; + owl:someValuesFrom ns2:system ], + ns2:gravitation ; + ns1:fromStructure "SSC-01-01" . + +ns2:object-SSC-01-01 a owl:Individual, + ns2:object, + ns2:object-orbit-hasManner-direct-sun, + ns2:object-orbit-hasManner-not-direct-sun ; + rdfs:label "any object" ; ns1:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-direct-sun> a owl:Class ; +ns2: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> ; + owl:onProperty ns2:orbit-hasManner-direct ; + owl:someValuesFrom ns2:sun ], + ns2:object ; ns1:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-not-direct-sun> a owl:Class ; +ns2: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> ; + owl:onProperty ns2:orbit-hasManner-not-direct ; + owl:someValuesFrom ns2:sun ], + ns2:object ; + ns1:fromStructure "SSC-01-01" . + +ns2:orbit-hasManner-direct a owl:ObjectProperty ; + rdfs:subPropertyOf ns2:orbit ; 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> ; +ns2:orbit-hasManner-not-direct a owl:ObjectProperty ; + rdfs:subPropertyOf ns2: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> ; +ns2:sun-SSC-01-01 a owl:Individual, + ns2:sun ; + rdfs:label "any sun" ; ns1:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#system-hasPart-object> a owl:Class ; +ns2: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> ; + owl:onProperty ns2:hasPart ; + owl:someValuesFrom ns2:object ], + ns2:system ; ns1:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> a owl:Class ; +ns2: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> ; + owl:onProperty ns2:hasPart ; + owl:someValuesFrom ns2:sun ], + ns2:system ; ns1:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#hasPart> a owl:ObjectProperty ; +ns2: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 ; +ns2: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 ; +ns2: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 ; +ns2: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 ; +ns2:system a owl:Class ; rdfs:label "system" ; rdfs:subClassOf ns1:Entity, ns1:Undetermined_Thing ; -- GitLab