From 477a6464913ecc4c0c34a48c012cc3426d8e26d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Lamercerie?= <aurelien.lamercerie@tetras-libre.fr> Date: Wed, 17 May 2023 19:43:21 +0200 Subject: [PATCH] Add transduction rules (extractor, phenomena analyzer) as AMR master rule --- tenet/scheme/amr_master_rule/__init__.py | 2 +- .../__init__.py | 0 .../owl_property_generator.py | 0 .../transduction/atom_class_extractor.py | 8 +- .../composite_class_extractor_1.py | 3 +- .../composite_class_extractor_2.py | 7 +- .../transduction/phenomena_and_analyzer_1.py | 138 ++ .../transduction/phenomena_and_analyzer_2.py | 138 ++ .../phenomena_modality_classifier.py | 79 + .../phenomena_polarity_analyzer_1.py | 2 +- .../phenomena_polarity_analyzer_2.py | 4 +- .../phenomena_polarity_analyzer_3.py | 119 ++ .../phenomena_polarity_analyzer_4.py | 125 ++ .../phenomena_polarity_analyzer_5.py | 125 ++ .../transduction/property_class_classifier.py | 92 + tenet/tenet.log | 122 +- .../SolarSystemDev01_factoid.ttl | 23 +- .../technical-data/tenet.log | 118 +- .../tenet.tetras-libre.fr_demo_01_factoid.ttl | 23 +- ...net.tetras-libre.fr_demo_01_generation.ttl | 84 +- ...t.tetras-libre.fr_demo_01_transduction.ttl | 53 +- .../document-01/document-01.stog.amr.dot | 33 + .../document-01/document-01.stog.amr.nt | 58 + .../document-01/document-01.stog.amr.penman | 18 + .../document-01/document-01.stog.amr.png | Bin 0 -> 65519 bytes .../document-01/document-01.stog.amr.svg | 208 ++ .../document-01/document-01.stog.amr.ttl | 99 + .../document.sentence.txt | 1 + .../full-ontology.ttl | 162 ++ .../ontologies-1/ontologies.ttl | 870 ++++++++ .../ontologies-1/ontologies_factoid.ttl | 162 ++ .../ontologies-1/ontologies_generation.ttl | 1745 +++++++++++++++++ .../ontologies-1/ontologies_preprocessing.ttl | 1144 +++++++++++ .../ontologies-1/ontologies_transduction.ttl | 1606 +++++++++++++++ .../onto-by-sentence/tenet.log | 854 ++++++++ 35 files changed, 8010 insertions(+), 215 deletions(-) rename tenet/scheme/amr_master_rule/{generation => owl_generation}/__init__.py (100%) rename tenet/scheme/amr_master_rule/{generation => owl_generation}/owl_property_generator.py (100%) create mode 100644 tenet/scheme/amr_master_rule/transduction/phenomena_and_analyzer_1.py create mode 100644 tenet/scheme/amr_master_rule/transduction/phenomena_and_analyzer_2.py create mode 100644 tenet/scheme/amr_master_rule/transduction/phenomena_modality_classifier.py create mode 100644 tenet/scheme/amr_master_rule/transduction/phenomena_polarity_analyzer_3.py create mode 100644 tenet/scheme/amr_master_rule/transduction/phenomena_polarity_analyzer_4.py create mode 100644 tenet/scheme/amr_master_rule/transduction/phenomena_polarity_analyzer_5.py create mode 100644 tenet/scheme/amr_master_rule/transduction/property_class_classifier.py create mode 100644 tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.dot create mode 100644 tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.nt create mode 100644 tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.penman create mode 100644 tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.png create mode 100644 tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.svg create mode 100644 tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.ttl create mode 100644 tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document.sentence.txt create mode 100644 tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/full-ontology.ttl create mode 100644 tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/ontologies-1/ontologies.ttl create mode 100644 tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/ontologies-1/ontologies_factoid.ttl create mode 100644 tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/ontologies-1/ontologies_generation.ttl create mode 100644 tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/ontologies-1/ontologies_preprocessing.ttl create mode 100644 tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/ontologies-1/ontologies_transduction.ttl create mode 100644 tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/tenet.log diff --git a/tenet/scheme/amr_master_rule/__init__.py b/tenet/scheme/amr_master_rule/__init__.py index b4e65e0d..0e95ad8e 100644 --- a/tenet/scheme/amr_master_rule/__init__.py +++ b/tenet/scheme/amr_master_rule/__init__.py @@ -17,6 +17,6 @@ from scheme.amr_master_rule.transduction.phenomena_mod_analyzer_1 import * from scheme.amr_master_rule.transduction.phenomena_or_analyzer_1 import * from scheme.amr_master_rule.transduction.phenomena_or_analyzer_2 import * -from scheme.amr_master_rule.generation.owl_property_generator import * +from scheme.amr_master_rule.owl_generation.owl_property_generator import * from scheme.amr_master_rule import * diff --git a/tenet/scheme/amr_master_rule/generation/__init__.py b/tenet/scheme/amr_master_rule/owl_generation/__init__.py similarity index 100% rename from tenet/scheme/amr_master_rule/generation/__init__.py rename to tenet/scheme/amr_master_rule/owl_generation/__init__.py diff --git a/tenet/scheme/amr_master_rule/generation/owl_property_generator.py b/tenet/scheme/amr_master_rule/owl_generation/owl_property_generator.py similarity index 100% rename from tenet/scheme/amr_master_rule/generation/owl_property_generator.py rename to tenet/scheme/amr_master_rule/owl_generation/owl_property_generator.py diff --git a/tenet/scheme/amr_master_rule/transduction/atom_class_extractor.py b/tenet/scheme/amr_master_rule/transduction/atom_class_extractor.py index f40fc45f..2c9356f1 100644 --- a/tenet/scheme/amr_master_rule/transduction/atom_class_extractor.py +++ b/tenet/scheme/amr_master_rule/transduction/atom_class_extractor.py @@ -140,12 +140,8 @@ def extract_atom_class(graph): rule_triple_list = [] for pattern in pattern_set: - # -- New Net Construction (from 3 nets) - new_class, triple_list = __construct_atom_class_net( - graph, pattern.leaf, pattern.conceptName) - - # -- Resulting List Update - # class_net_list.append(new_class) + # -- New Net Construction + new_class, triple_list = __construct_atom_class_net(graph, pattern.leaf, pattern.conceptName) rule_triple_list += triple_list return rule_label, rule_triple_list \ No newline at end of file diff --git a/tenet/scheme/amr_master_rule/transduction/composite_class_extractor_1.py b/tenet/scheme/amr_master_rule/transduction/composite_class_extractor_1.py index 31e94971..b2fb5229 100644 --- a/tenet/scheme/amr_master_rule/transduction/composite_class_extractor_1.py +++ b/tenet/scheme/amr_master_rule/transduction/composite_class_extractor_1.py @@ -24,6 +24,7 @@ def __search_pattern(graph): select_data_list = ['?property_net', '?class_net_0', '?class_net_1'] clause_list = [f'?property_net a [rdfs:subClassOf* net:Property_Net].', f'FILTER NOT EXISTS {{ ?property_net a net:Deprecated_Net. }}', + f'FILTER NOT EXISTS {{ ?property_net a net:Action_Property_Net. }}', f'?class_net_0 a [rdfs:subClassOf* net:Class_Net].', f'FILTER NOT EXISTS {{ ?class_net_0 a net:Deprecated_Net. }}', f'?class_net_1 a [rdfs:subClassOf* net:Class_Net].', @@ -99,7 +100,7 @@ def __construct_composite_class_net( graph, base_class_net, core_property_net, target_class_net): # -- Net Composition - composite_class_net = net.CompositePropertyNet(graph) + composite_class_net = net.CompositeClassNet(graph) composite_class_net.compose(base_class_net, core_property_net, target_class_net) # -- Data Computation diff --git a/tenet/scheme/amr_master_rule/transduction/composite_class_extractor_2.py b/tenet/scheme/amr_master_rule/transduction/composite_class_extractor_2.py index 997f7e05..216db854 100644 --- a/tenet/scheme/amr_master_rule/transduction/composite_class_extractor_2.py +++ b/tenet/scheme/amr_master_rule/transduction/composite_class_extractor_2.py @@ -24,6 +24,7 @@ def __search_pattern(graph): select_data_list = ['?property_net', '?class_net_1', '?class_net_2'] clause_list = [f'?property_net a [rdfs:subClassOf* net:Property_Net].', f'FILTER NOT EXISTS {{ ?property_net a net:Deprecated_Net. }}', + f'FILTER NOT EXISTS {{ ?property_net a net:Action_Property_Net. }}', f'?class_net_1 a [rdfs:subClassOf* net:Class_Net].', f'FILTER NOT EXISTS {{ ?class_net_1 a net:Deprecated_Net. }}', f'?class_net_2 a [rdfs:subClassOf* net:Class_Net].', @@ -95,11 +96,11 @@ def __construct_restriction_net(graph, property_net_1, property_net_2): -def __construct_composite_class_net_from_3_nets( +def __construct_composite_class_net( graph, base_class_net, core_property_net, target_class_net): # -- Net Composition - composite_class_net = net.CompositePropertyNet(graph) + composite_class_net = net.CompositeClassNet(graph) composite_class_net.compose(base_class_net, core_property_net, target_class_net) # -- Data Computation @@ -151,7 +152,7 @@ def extract_composite_class_2(graph): # print(f' *** DEVTEST *** {selection_2.class_net}') # -- New Net Construction (from 3 nets) - new_class, triple_list = __construct_composite_class_net_from_3_nets( + new_class, triple_list = __construct_composite_class_net( graph, class_net_1, property_net, class_net_2) # -- Resulting List Update diff --git a/tenet/scheme/amr_master_rule/transduction/phenomena_and_analyzer_1.py b/tenet/scheme/amr_master_rule/transduction/phenomena_and_analyzer_1.py new file mode 100644 index 00000000..c2dc0da6 --- /dev/null +++ b/tenet/scheme/amr_master_rule/transduction/phenomena_and_analyzer_1.py @@ -0,0 +1,138 @@ +#!/usr/bin/python3.10 +# -*-coding:Utf-8 -* + +#============================================================================== +# TENET: Rule to conjunctive phenomena and (rule 1) +#------------------------------------------------------------------------------ +# Net Expansion AMR rule to analyse conjunctive phenomena (and) +# Rule: property(_, and_phenomena) => relation(property, argument) +#============================================================================== + +from rdflib import Graph + +import transduction +from transduction import net +from transduction.query_builder import generate_select_query +from transduction.rdfterm_computer import produce_uriref, produce_literal + + +#============================================================================== +# Pattern Search: property(_, and_phenomena) +#============================================================================== + +CONJUNCTION_PHENOMENA_URI = 'amr:phenomena_conjunction_and' + +def __search_pattern(graph): + select_data_list = ['?property_net', '?net_relation', '?phenomena_net'] + clause_list = [f'?property_net a [rdfs:subClassOf* net:Property_Net].', + f'?phenomena_net a [rdfs:subClassOf* net:Phenomena_Net].', + f'?phenomena_net net:hasPhenomenaType {CONJUNCTION_PHENOMENA_URI}.', + f'?net_relation a [rdfs:subClassOf* net:Relation].', + f'?property_net ?net_relation ?phenomena_net.'] + query_code = generate_select_query(graph, select_data_list, clause_list) + result_set = graph.query(query_code) + return query_code, result_set + + + +#============================================================================== +# Useful Additional Search +#============================================================================== + +def __search_op_class_pattern(graph, phenomena_net_uri, num): + assert 1 <= num <= 9, f'invalid number ({num})' + select_data_list = ['?class_net'] + clause_list = [f'?class_net a [rdfs:subClassOf* net:Class_Net].', + (phenomena_net_uri, f'amr:role_op{num}', '?class_net')] + query_code = generate_select_query(graph, select_data_list, clause_list) + result_set = graph.query(query_code) + return query_code, result_set + +def __search_phenomena_operator_class(graph, phenomena_net_uri): + query_code = '' + op_set = [] + for num in range(1, 9+1): + query_code, result_set = __search_op_class_pattern(graph, phenomena_net_uri, num) + op_set += result_set + return query_code, op_set + + +def __search_op_property_pattern(graph, phenomena_net_uri, num): + assert 1 <= num <= 9, f'invalid number ({num})' + select_data_list = ['?property_net'] + clause_list = [f'?property_net a [rdfs:subClassOf* net:Property_Net].', + (phenomena_net_uri, f'amr:role_op{num}', '?property_net')] + query_code = generate_select_query(graph, select_data_list, clause_list) + result_set = graph.query(query_code) + return query_code, result_set + +def __search_phenomena_operator_property(graph, phenomena_net_uri): + query_code = '' + op_set = [] + for num in range(1, 9+1): + query_code, result_set = __search_op_property_pattern(graph, phenomena_net_uri, num) + op_set += result_set + return query_code, op_set + + + +#============================================================================== +# Useful Computation Method(s) +#============================================================================== + +def __propagate_relation(left_net, amr_relation_uri, right_net_uri): + new_relation = (left_net.uri, amr_relation_uri, right_net_uri) + up_relation_list = left_net.output_relation_list + [new_relation] + left_net.output_relation_list = up_relation_list + + + +#============================================================================== +# Construct Method(s) +#============================================================================== + +# None + + +#============================================================================== +# Main Method +#============================================================================== + +def analyze_phenomena_and_1(graph): + + # -- Rule Initialization + rule_label = 'analyze "and" phenomena (1)' + rule_triple_list = [] + + # -- Search for patterns + _, pattern_set = __search_pattern(graph) + + # -- Pattern Analysis + for pattern in pattern_set: + property_net = net.PropertyNet(graph, uri=pattern.property_net) + phenomena_net = net.PhenomenaNet(graph, uri=pattern.phenomena_net) + + # -- Search for phenomena operators + + # -- Relation Propagation for Operator Class Net + _, operator_class_set = __search_phenomena_operator_class(graph, phenomena_net.uri) + for operator in operator_class_set: + amr_relation_uri = produce_uriref(graph, pattern.net_relation) + right_net_uri = produce_uriref(graph, operator.class_net) + __propagate_relation(property_net, amr_relation_uri, right_net_uri) + rule_triple_list += property_net.generate_net_relation_triples() + + # -- Relation Propagation for Operator Class Net + _, operator_property_set = __search_phenomena_operator_property(graph, phenomena_net.uri) + for operator in operator_property_set: + amr_relation_uri = produce_uriref(graph, pattern.net_relation) + right_net_uri = produce_uriref(graph, operator.property_net) + __propagate_relation(property_net, amr_relation_uri, right_net_uri) + rule_triple_list += property_net.generate_net_relation_triples() + + + # -- New Net Construction (as union of properties) + # _, triple_list = __construct_class_union_net(graph, class_net_1, class_net_list) + # rule_triple_list += triple_list + + return rule_label, rule_triple_list \ No newline at end of file diff --git a/tenet/scheme/amr_master_rule/transduction/phenomena_and_analyzer_2.py b/tenet/scheme/amr_master_rule/transduction/phenomena_and_analyzer_2.py new file mode 100644 index 00000000..5c4fcb40 --- /dev/null +++ b/tenet/scheme/amr_master_rule/transduction/phenomena_and_analyzer_2.py @@ -0,0 +1,138 @@ +#!/usr/bin/python3.10 +# -*-coding:Utf-8 -* + +#============================================================================== +# TENET: Rule to conjunctive phenomena and (rule 2) +#------------------------------------------------------------------------------ +# Net Expansion AMR rule to analyse conjunctive phenomena (and) +# Rule: phenomena(_, and_phenomena) => relation(phenomena, argument) +#============================================================================== + +from rdflib import Graph + +import transduction +from transduction import net +from transduction.query_builder import generate_select_query +from transduction.rdfterm_computer import produce_uriref, produce_literal + + +#============================================================================== +# Pattern Search: modality(_, and_phenomena) +#============================================================================== + +CONJUNCTION_PHENOMENA_URI = 'amr:phenomena_conjunction_and' + +def __search_pattern(graph): + select_data_list = ['?left_phenomena_net', '?net_relation', '?right_phenomena_net'] + clause_list = [f'?left_phenomena_net a [rdfs:subClassOf* net:Phenomena_Net].', + f'?right_phenomena_net a [rdfs:subClassOf* net:Phenomena_Net].', + f'?right_phenomena_net net:hasPhenomenaType {CONJUNCTION_PHENOMENA_URI}.', + f'?net_relation a [rdfs:subClassOf* net:Relation].', + f'?left_phenomena_net ?net_relation ?right_phenomena_net.'] + query_code = generate_select_query(graph, select_data_list, clause_list) + result_set = graph.query(query_code) + return query_code, result_set + + + +#============================================================================== +# Useful Additional Search +#============================================================================== + +def __search_op_class_pattern(graph, phenomena_net_uri, num): + assert 1 <= num <= 9, f'invalid number ({num})' + select_data_list = ['?class_net'] + clause_list = [f'?class_net a [rdfs:subClassOf* net:Class_Net].', + (phenomena_net_uri, f'amr:role_op{num}', '?class_net')] + query_code = generate_select_query(graph, select_data_list, clause_list) + result_set = graph.query(query_code) + return query_code, result_set + +def __search_phenomena_operator_class(graph, phenomena_net_uri): + query_code = '' + op_set = [] + for num in range(1, 9+1): + query_code, result_set = __search_op_class_pattern(graph, phenomena_net_uri, num) + op_set += result_set + return query_code, op_set + + +def __search_op_property_pattern(graph, phenomena_net_uri, num): + assert 1 <= num <= 9, f'invalid number ({num})' + select_data_list = ['?property_net'] + clause_list = [f'?property_net a [rdfs:subClassOf* net:Property_Net].', + (phenomena_net_uri, f'amr:role_op{num}', '?property_net')] + query_code = generate_select_query(graph, select_data_list, clause_list) + result_set = graph.query(query_code) + return query_code, result_set + +def __search_phenomena_operator_property(graph, phenomena_net_uri): + query_code = '' + op_set = [] + for num in range(1, 9+1): + query_code, result_set = __search_op_property_pattern(graph, phenomena_net_uri, num) + op_set += result_set + return query_code, op_set + + + +#============================================================================== +# Useful Computation Method(s) +#============================================================================== + +def __propagate_relation(left_net, amr_relation_uri, right_net_uri): + new_relation = (left_net.uri, amr_relation_uri, right_net_uri) + up_relation_list = left_net.output_relation_list + [new_relation] + left_net.output_relation_list = up_relation_list + + + +#============================================================================== +# Construct Method(s) +#============================================================================== + +# None + + +#============================================================================== +# Main Method +#============================================================================== + +def analyze_phenomena_and_2(graph): + + # -- Rule Initialization + rule_label = 'analyze "and" phenomena (2)' + rule_triple_list = [] + + # -- Search for patterns + _, pattern_set = __search_pattern(graph) + + # -- Pattern Analysis + for pattern in pattern_set: + property_net = net.PhenomenaNet(graph, uri=pattern.left_phenomena_net) + phenomena_net = net.PhenomenaNet(graph, uri=pattern.right_phenomena_net) + + # -- Search for phenomena operators + + # -- Relation Propagation for Operator Class Net + _, operator_class_set = __search_phenomena_operator_class(graph, phenomena_net.uri) + for operator in operator_class_set: + amr_relation_uri = produce_uriref(graph, pattern.net_relation) + right_net_uri = produce_uriref(graph, operator.class_net) + __propagate_relation(property_net, amr_relation_uri, right_net_uri) + rule_triple_list += property_net.generate_net_relation_triples() + + # -- Relation Propagation for Operator Class Net + _, operator_property_set = __search_phenomena_operator_property(graph, phenomena_net.uri) + for operator in operator_property_set: + amr_relation_uri = produce_uriref(graph, pattern.net_relation) + right_net_uri = produce_uriref(graph, operator.property_net) + __propagate_relation(property_net, amr_relation_uri, right_net_uri) + rule_triple_list += property_net.generate_net_relation_triples() + + + # -- New Net Construction (as union of properties) + # _, triple_list = __construct_class_union_net(graph, class_net_1, class_net_list) + # rule_triple_list += triple_list + + return rule_label, rule_triple_list \ No newline at end of file diff --git a/tenet/scheme/amr_master_rule/transduction/phenomena_modality_classifier.py b/tenet/scheme/amr_master_rule/transduction/phenomena_modality_classifier.py new file mode 100644 index 00000000..e0fcc6e6 --- /dev/null +++ b/tenet/scheme/amr_master_rule/transduction/phenomena_modality_classifier.py @@ -0,0 +1,79 @@ +#!/usr/bin/python3.10 +# -*-coding:Utf-8 -* + +#============================================================================== +# TENET: Rule to modality phenomena classification +#------------------------------------------------------------------------------ +# AMR rule to classify modality phenomena +# Rule: modality_phenomena classification +#============================================================================== + +from rdflib import Graph + +import transduction +from transduction import net +from transduction.query_builder import generate_select_query +from transduction.rdfterm_computer import produce_uriref, produce_literal + + +#============================================================================== +# Pattern Search: modality_phenomena +#============================================================================== + +PHENOMENA_TYPE_RELATION = 'net:hasPhenomenaType' + +MODALITY_TYPE_LIST = ['amr:phenomena_modality_possible', + 'amr:phenomena_modality_obligation', + 'amr:phenomena_modality_prohibition'] + +def __get_query_code(graph, modality_type_uri): + select_data_list = ['?phenomena_net'] + clause_list = [f'?phenomena_net a [rdfs:subClassOf* net:Phenomena_Net].', + f'?phenomena_net {PHENOMENA_TYPE_RELATION} {modality_type_uri}.'] + return generate_select_query(graph, select_data_list, clause_list) + + +def __search_pattern(graph): + query_code = '' + result_set = [] + for modality_type_uri in MODALITY_TYPE_LIST: + query_code = __get_query_code(graph, modality_type_uri) + result_set += graph.query(query_code) + return query_code, result_set + + + +#============================================================================== +# Useful Computation Method(s) +#============================================================================== + +# None + + +#============================================================================== +# Construct Method(s) +#============================================================================== + +# None + + +#============================================================================== +# Main Method +#============================================================================== + +def classify_modality_phenomena(graph): + + # -- Rule Initialization + rule_label = 'classify modality phenomena' + rule_triple_list = [] + + # -- Search for patterns + _, pattern_set = __search_pattern(graph) + + # -- Pattern Analysis + for pattern in pattern_set: + modality_phenomena_net = net.ModalityPhenomenaNet(graph, uri=pattern.phenomena_net) + modality_phenomena_net.finalize() + rule_triple_list += modality_phenomena_net.generate_triple_definition() + + return rule_label, rule_triple_list \ No newline at end of file diff --git a/tenet/scheme/amr_master_rule/transduction/phenomena_polarity_analyzer_1.py b/tenet/scheme/amr_master_rule/transduction/phenomena_polarity_analyzer_1.py index 23533191..364ad348 100644 --- a/tenet/scheme/amr_master_rule/transduction/phenomena_polarity_analyzer_1.py +++ b/tenet/scheme/amr_master_rule/transduction/phenomena_polarity_analyzer_1.py @@ -32,9 +32,9 @@ def __search_pattern(graph): query_code = generate_select_query(graph, select_data_list, clause_list) result_set = graph.query(query_code) return query_code, result_set - + #============================================================================== # Relation Propagation #============================================================================== diff --git a/tenet/scheme/amr_master_rule/transduction/phenomena_polarity_analyzer_2.py b/tenet/scheme/amr_master_rule/transduction/phenomena_polarity_analyzer_2.py index ef7bd20a..57358c28 100644 --- a/tenet/scheme/amr_master_rule/transduction/phenomena_polarity_analyzer_2.py +++ b/tenet/scheme/amr_master_rule/transduction/phenomena_polarity_analyzer_2.py @@ -32,6 +32,7 @@ def __search_pattern(graph): f'FILTER NOT EXISTS {{ ?phenomena_net a net:Deprecated_Net. }}', f'?phenomena_net {PHENOMENA_TYPE_RELATION} {POSSIBLE_PHENOMENA_URI}.', f'?phenomena_net {POLARITY_RELATION} ?value_net.', + f'FILTER NOT EXISTS {{ ?value_net a net:Deprecated_Net. }}', ('?value_net', 'net:hasValueLabel', rdflib.term.Literal('negative'))] query_code = generate_select_query(graph, select_data_list, clause_list) result_set = graph.query(query_code) @@ -111,7 +112,8 @@ def analyze_phenomena_polarity_2(graph): _, triple_list_1 = __construct_phenomena_net(graph, origin_phenomena_net, value_net) rule_triple_list += triple_list_1 - # -- Deprecation: Origin Class Net + # -- Deprecation: Origin Class Net and Value Net rule_triple_list += origin_phenomena_net.deprecate() + rule_triple_list += value_net.deprecate() return rule_label, rule_triple_list \ No newline at end of file diff --git a/tenet/scheme/amr_master_rule/transduction/phenomena_polarity_analyzer_3.py b/tenet/scheme/amr_master_rule/transduction/phenomena_polarity_analyzer_3.py new file mode 100644 index 00000000..4ec13bcb --- /dev/null +++ b/tenet/scheme/amr_master_rule/transduction/phenomena_polarity_analyzer_3.py @@ -0,0 +1,119 @@ +#!/usr/bin/python3.10 +# -*-coding:Utf-8 -* + +#============================================================================== +# TENET: Rule to negative polarity phenomena (rule 3) +#------------------------------------------------------------------------------ +# Net Expansion AMR rule to analyse negative polarity phenomena +# Rule: polarity(phenomena, 'negative') => phenomena +#============================================================================== + +import rdflib +from rdflib import Graph + +import transduction +from transduction import net +from transduction.query_builder import generate_select_query +from transduction.naming_computer import define_axiom_naming +from transduction.naming_computer import define_composite_naming_2 + + +#============================================================================== +# Pattern Search: polarity(phenomena, 'negative') +#============================================================================== + +POLARITY_RELATION = 'amr:role_polarity' +PHENOMENA_TYPE_RELATION = 'net:hasPhenomenaType' +POSSIBLE_PHENOMENA_URI = 'amr:phenomena_modality_prohibition' + +def __search_pattern(graph): + select_data_list = ['?phenomena_net', '?value_net'] + clause_list = [f'?phenomena_net a [rdfs:subClassOf* net:Phenomena_Net].', + f'FILTER NOT EXISTS {{ ?phenomena_net a net:Deprecated_Net. }}', + f'?phenomena_net {PHENOMENA_TYPE_RELATION} {POSSIBLE_PHENOMENA_URI}.', + f'?phenomena_net {POLARITY_RELATION} ?value_net.', + f'FILTER NOT EXISTS {{ ?value_net a net:Deprecated_Net. }}', + ('?value_net', 'net:hasValueLabel', rdflib.term.Literal('negative'))] + query_code = generate_select_query(graph, select_data_list, clause_list) + result_set = graph.query(query_code) + return query_code, result_set + + + +#============================================================================== +# Useful Computation Method(s) +#============================================================================== + +def __filter_relation(relation_list): + result_list = [] + for relation in relation_list: + check = True + (s, p, o) = relation + if s == o: check = False + if p == POLARITY_RELATION: check = False + if check: result_list.append(relation) + return result_list + + +def __propagate_relation(target_net, base_net): + target_net.input_relation_list = base_net.input_relation_list + out_relation_list = __filter_relation(base_net.output_relation_list) + target_net.output_relation_list = out_relation_list + + + +#============================================================================== +# Construct Method(s) +#============================================================================== + +def __construct_phenomena_net(graph, origin_phenomena_net, value_net): + + # -- Net Composition + new_phenomena_net = net.PhenomenaNet(graph) + new_phenomena_net.compose(origin_phenomena_net, value_net) + + # -- Data Computation + new_phenomena_net.phenomena_type = 'amr:phenomena_modality_possible' + new_phenomena_net.phenomena_ref = f'not-{origin_phenomena_net.phenomena_ref}' + + # -- Net Naming + new_phenomena_net.naming = 'possible-modality' + + # -- Relation Propagation + __propagate_relation(new_phenomena_net, origin_phenomena_net) + + # -- Finalization + new_phenomena_net.finalize() + triple_definition = new_phenomena_net.generate_triple_definition() + + return new_phenomena_net, triple_definition + + + +#============================================================================== +# Main Method +#============================================================================== + +def analyze_phenomena_polarity_3(graph): + + # -- Rule Initialization + rule_label = 'analyze "polarity" phenomena (3)' + rule_triple_list = [] + + # -- Search for patterns + _, pattern_set = __search_pattern(graph) + + # -- Pattern Analysis + for pattern in pattern_set: + origin_phenomena_net = net.PhenomenaNet(graph, uri=pattern.phenomena_net) + value_net = net.ValueNet(graph, uri=pattern.value_net) + + # -- New Negative Property Net + _, triple_list_1 = __construct_phenomena_net(graph, origin_phenomena_net, value_net) + rule_triple_list += triple_list_1 + + # -- Deprecation: Origin Class Net and Value Net + rule_triple_list += origin_phenomena_net.deprecate() + rule_triple_list += value_net.deprecate() + + return rule_label, rule_triple_list \ No newline at end of file diff --git a/tenet/scheme/amr_master_rule/transduction/phenomena_polarity_analyzer_4.py b/tenet/scheme/amr_master_rule/transduction/phenomena_polarity_analyzer_4.py new file mode 100644 index 00000000..74408944 --- /dev/null +++ b/tenet/scheme/amr_master_rule/transduction/phenomena_polarity_analyzer_4.py @@ -0,0 +1,125 @@ +#!/usr/bin/python3.10 +# -*-coding:Utf-8 -* + +#============================================================================== +# TENET: Rule to negative polarity phenomena (rule 3) +#------------------------------------------------------------------------------ +# Net Expansion AMR rule to analyse negative polarity phenomena +# Rule: polarity(phenomena, 'negative') => phenomena +#============================================================================== + +import rdflib +from rdflib import Graph + +import transduction +from transduction import net +from transduction.query_builder import generate_select_query +from transduction.naming_computer import define_axiom_naming +from transduction.naming_computer import define_composite_naming_2 + + +#============================================================================== +# Pattern Search: polarity(phenomena, 'negative') +#============================================================================== + +POLARITY_RELATION = 'amr:role_polarity' +PHENOMENA_TYPE_RELATION = 'net:hasPhenomenaType' +POSSIBLE_PHENOMENA_URI = 'amr:phenomena_modality_prohibition' + +def __search_pattern(graph): + query_code = '' + result_set = [] + for arg_relation in ['amr:role_ARG1', 'amr:role_ARG2']: + select_data_list = ['?phenomena_net', '?value_net'] + clause_list = [f'?phenomena_net a [rdfs:subClassOf* net:Phenomena_Net].', + f'FILTER NOT EXISTS {{ ?phenomena_net a net:Deprecated_Net. }}', + f'?phenomena_net {PHENOMENA_TYPE_RELATION} {POSSIBLE_PHENOMENA_URI}.', + f'?property_net a [rdfs:subClassOf* net:Atom_Property_Net].', + f'?phenomena_net {arg_relation} ?property_net.', + f'?property_net {POLARITY_RELATION} ?value_net.', + f'FILTER NOT EXISTS {{ ?value_net a net:Deprecated_Net. }}', + ('?value_net', 'net:hasValueLabel', rdflib.term.Literal('negative')) + ] + query_code = generate_select_query(graph, select_data_list, clause_list) + result_set += graph.query(query_code) + return query_code, result_set + + + +#============================================================================== +# Useful Computation Method(s) +#============================================================================== + +def __filter_relation(relation_list): + result_list = [] + for relation in relation_list: + check = True + (s, p, o) = relation + if s == o: check = False + if p == POLARITY_RELATION: check = False + if check: result_list.append(relation) + return result_list + + +def __propagate_relation(target_net, base_net): + target_net.input_relation_list = base_net.input_relation_list + out_relation_list = __filter_relation(base_net.output_relation_list) + target_net.output_relation_list = out_relation_list + + + +#============================================================================== +# Construct Method(s) +#============================================================================== + +def __construct_phenomena_net(graph, origin_phenomena_net, value_net): + + # -- Net Composition + new_phenomena_net = net.PhenomenaNet(graph) + new_phenomena_net.compose(origin_phenomena_net, value_net) + + # -- Data Computation + new_phenomena_net.phenomena_type = 'amr:phenomena_modality_obligation' + new_phenomena_net.phenomena_ref = f'not-{origin_phenomena_net.phenomena_ref}' + + # -- Net Naming + new_phenomena_net.naming = 'obligation-modality' + + # -- Relation Propagation + __propagate_relation(new_phenomena_net, origin_phenomena_net) + + # -- Finalization + new_phenomena_net.finalize() + triple_definition = new_phenomena_net.generate_triple_definition() + + return new_phenomena_net, triple_definition + + + +#============================================================================== +# Main Method +#============================================================================== + +def analyze_phenomena_polarity_4(graph): + + # -- Rule Initialization + rule_label = 'analyze "polarity" phenomena (4)' + rule_triple_list = [] + + # -- Search for patterns + _, pattern_set = __search_pattern(graph) + + # -- Pattern Analysis + for pattern in pattern_set: + origin_phenomena_net = net.PhenomenaNet(graph, uri=pattern.phenomena_net) + value_net = net.ValueNet(graph, uri=pattern.value_net) + + # -- New Negative Property Net + _, triple_list_1 = __construct_phenomena_net(graph, origin_phenomena_net, value_net) + rule_triple_list += triple_list_1 + + # -- Deprecation: Origin Class Net and Value Net + rule_triple_list += origin_phenomena_net.deprecate() + rule_triple_list += value_net.deprecate() + + return rule_label, rule_triple_list \ No newline at end of file diff --git a/tenet/scheme/amr_master_rule/transduction/phenomena_polarity_analyzer_5.py b/tenet/scheme/amr_master_rule/transduction/phenomena_polarity_analyzer_5.py new file mode 100644 index 00000000..2a1a04f6 --- /dev/null +++ b/tenet/scheme/amr_master_rule/transduction/phenomena_polarity_analyzer_5.py @@ -0,0 +1,125 @@ +#!/usr/bin/python3.10 +# -*-coding:Utf-8 -* + +#============================================================================== +# TENET: Rule to negative polarity phenomena (rule 3) +#------------------------------------------------------------------------------ +# Net Expansion AMR rule to analyse negative polarity phenomena +# Rule: polarity(phenomena, 'negative') => phenomena +#============================================================================== + +import rdflib +from rdflib import Graph + +import transduction +from transduction import net +from transduction.query_builder import generate_select_query +from transduction.naming_computer import define_axiom_naming +from transduction.naming_computer import define_composite_naming_2 + + +#============================================================================== +# Pattern Search: polarity(phenomena, 'negative') +#============================================================================== + +POLARITY_RELATION = 'amr:role_polarity' +PHENOMENA_TYPE_RELATION = 'net:hasPhenomenaType' +POSSIBLE_PHENOMENA_URI = 'amr:phenomena_modality_obligation' + +def __search_pattern(graph): + query_code = '' + result_set = [] + for arg_relation in ['amr:role_ARG1', 'amr:role_ARG2']: + select_data_list = ['?phenomena_net', '?value_net'] + clause_list = [f'?phenomena_net a [rdfs:subClassOf* net:Phenomena_Net].', + f'FILTER NOT EXISTS {{ ?phenomena_net a net:Deprecated_Net. }}', + f'?phenomena_net {PHENOMENA_TYPE_RELATION} {POSSIBLE_PHENOMENA_URI}.', + f'?property_net a [rdfs:subClassOf* net:Atom_Property_Net].', + f'?phenomena_net {arg_relation} ?property_net.', + f'?property_net {POLARITY_RELATION} ?value_net.', + f'FILTER NOT EXISTS {{ ?value_net a net:Deprecated_Net. }}', + ('?value_net', 'net:hasValueLabel', rdflib.term.Literal('negative')) + ] + query_code = generate_select_query(graph, select_data_list, clause_list) + result_set += graph.query(query_code) + return query_code, result_set + + + +#============================================================================== +# Useful Computation Method(s) +#============================================================================== + +def __filter_relation(relation_list): + result_list = [] + for relation in relation_list: + check = True + (s, p, o) = relation + if s == o: check = False + if p == POLARITY_RELATION: check = False + if check: result_list.append(relation) + return result_list + + +def __propagate_relation(target_net, base_net): + target_net.input_relation_list = base_net.input_relation_list + out_relation_list = __filter_relation(base_net.output_relation_list) + target_net.output_relation_list = out_relation_list + + + +#============================================================================== +# Construct Method(s) +#============================================================================== + +def __construct_phenomena_net(graph, origin_phenomena_net, value_net): + + # -- Net Composition + new_phenomena_net = net.PhenomenaNet(graph) + new_phenomena_net.compose(origin_phenomena_net, value_net) + + # -- Data Computation + new_phenomena_net.phenomena_type = 'amr:phenomena_modality_prohibition' + new_phenomena_net.phenomena_ref = f'not-{origin_phenomena_net.phenomena_ref}' + + # -- Net Naming + new_phenomena_net.naming = 'prohibition-modality' + + # -- Relation Propagation + __propagate_relation(new_phenomena_net, origin_phenomena_net) + + # -- Finalization + new_phenomena_net.finalize() + triple_definition = new_phenomena_net.generate_triple_definition() + + return new_phenomena_net, triple_definition + + + +#============================================================================== +# Main Method +#============================================================================== + +def analyze_phenomena_polarity_5(graph): + + # -- Rule Initialization + rule_label = 'analyze "polarity" phenomena (5)' + rule_triple_list = [] + + # -- Search for patterns + _, pattern_set = __search_pattern(graph) + + # -- Pattern Analysis + for pattern in pattern_set: + origin_phenomena_net = net.PhenomenaNet(graph, uri=pattern.phenomena_net) + value_net = net.ValueNet(graph, uri=pattern.value_net) + + # -- New Negative Property Net + _, triple_list_1 = __construct_phenomena_net(graph, origin_phenomena_net, value_net) + rule_triple_list += triple_list_1 + + # -- Deprecation: Origin Class Net and Value Net + rule_triple_list += origin_phenomena_net.deprecate() + rule_triple_list += value_net.deprecate() + + return rule_label, rule_triple_list \ No newline at end of file diff --git a/tenet/scheme/amr_master_rule/transduction/property_class_classifier.py b/tenet/scheme/amr_master_rule/transduction/property_class_classifier.py new file mode 100644 index 00000000..72dea0f2 --- /dev/null +++ b/tenet/scheme/amr_master_rule/transduction/property_class_classifier.py @@ -0,0 +1,92 @@ +#!/usr/bin/python3.10 +# -*-coding:Utf-8 -* + +#============================================================================== +# TENET: Rule to modality phenomena classification +#------------------------------------------------------------------------------ +# AMR rule to classify modality phenomena +# Rule: modality_phenomena classification +#============================================================================== + +from rdflib import Graph + +import transduction +from transduction import net +from transduction.query_builder import generate_select_query +from transduction.rdfterm_computer import produce_uriref, produce_literal + + +#============================================================================== +# Pattern Search: modality_phenomena +#============================================================================== + +def __search_pattern(graph): + query_code = '' + result_set = [] + for arg_relation in ['amr:role_ARG0', 'amr:role_ARG1', 'amr:role_ARG2']: + select_data_list = ['?property_net'] + clause_list = [f'?left_property_net a [rdfs:subClassOf* net:Property_Net].', + f'?property_net a [rdfs:subClassOf* net:Atom_Property_Net].', + f'?left_property_net {arg_relation} ?property_net.'] + query_code = generate_select_query(graph, select_data_list, clause_list) + result_set += graph.query(query_code) + return query_code, result_set + + + +#============================================================================== +# Useful Computation Method(s) +#============================================================================== + +def __propagate_relation(target_net, base_net): + target_net.input_relation_list = base_net.input_relation_list + target_net.output_relation_list = base_net.output_relation_list + + +#============================================================================== +# Construct Method(s) +#============================================================================== + +def __construct_atom_class_net(graph, property_net): + + # -- Net Composition + atom_class_net = net.AtomClassNet(graph) + atom_class_net.compose(property_net) + + # -- Data Computation + atom_class_net.class_name = property_net.naming + + # -- Net Naming + atom_class_net.naming = property_net.naming + + # -- Relation Propagation + __propagate_relation(atom_class_net, property_net) + + # -- Finalization + atom_class_net.finalize() + triple_definition = atom_class_net.generate_triple_definition() + + return atom_class_net, triple_definition + + +#============================================================================== +# Main Method +#============================================================================== + +def reclassify_argument_property_to_class(graph): + + # -- Rule Initialization + rule_label = 'reclassify argument property to class' + rule_triple_list = [] + + # -- Search for patterns + _, pattern_set = __search_pattern(graph) + + # -- Pattern Analysis + for pattern in pattern_set: + atom_property_net = net.AtomPropertyNet(graph, uri=pattern.property_net) + _, triple_list = __construct_atom_class_net(graph, atom_property_net) + rule_triple_list += triple_list + rule_triple_list += atom_property_net.deprecate() + + return rule_label, rule_triple_list \ No newline at end of file diff --git a/tenet/tenet.log b/tenet/tenet.log index 81b443fe..06c7f0ea 100644 --- a/tenet/tenet.log +++ b/tenet/tenet.log @@ -71,25 +71,25 @@ - DEBUG - ----- Total rule number: 87 - INFO - -- Applying extraction step: preprocessing - INFO - --- *** November Transduction *** Sequence: amrld-correcting-sequence -- INFO - ----- fix-amr-bug-about-system-solar-planet: 5/5 new triples (603, 0:00:00.122197) +- INFO - ----- fix-amr-bug-about-system-solar-planet: 5/5 new triples (603, 0:00:00.107442) - INFO - --- *** November Transduction *** Sequence: amr-reification-sequence -- INFO - ----- reclassify-concept-1: 10/10 new triples (613, 0:00:00.177709) -- DEBUG - ----- reclassify-concept-2: 0/0 new triple (613, 0:00:00.078444) -- INFO - ----- reclassify-concept-3: 12/12 new triples (625, 0:00:00.051842) -- INFO - ----- reclassify-concept-4: 16/16 new triples (641, 0:00:00.085409) -- INFO - ----- reclassify-concept-5: 2/4 new triples (643, 0:00:00.050676) -- INFO - ----- reify-roles-as-concept: 10/10 new triples (653, 0:00:00.060118) -- INFO - ----- reclassify-existing-variable: 45/45 new triples (698, 0:00:00.042062) -- INFO - ----- add-new-variable-for-reified-concept: 8/8 new triples (706, 0:00:00.063336) -- INFO - ----- add-amr-leaf-for-reclassified-concept: 33/33 new triples (739, 0:00:00.055747) -- INFO - ----- add-amr-leaf-for-reified-concept: 8/8 new triples (747, 0:00:00.040803) -- INFO - ----- add-amr-edge-for-core-relation: 27/27 new triples (774, 0:00:00.130936) -- INFO - ----- add-amr-edge-for-reified-concept: 12/12 new triples (786, 0:00:00.161203) -- INFO - ----- add-amr-edge-for-name-relation: 5/5 new triples (791, 0:00:00.080725) -- DEBUG - ----- add-value-for-quant-relation: 0/0 new triple (791, 0:00:00.078813) -- INFO - ----- add-amr-edge-for-polarity-relation: 5/5 new triples (796, 0:00:00.086701) -- INFO - ----- update-amr-edge-role-1: 15/15 new triples (811, 0:00:00.094175) -- INFO - ----- add-amr-root: 5/5 new triples (816, 0:00:00.037810) +- INFO - ----- reclassify-concept-1: 10/10 new triples (613, 0:00:00.151110) +- DEBUG - ----- reclassify-concept-2: 0/0 new triple (613, 0:00:00.062944) +- INFO - ----- reclassify-concept-3: 12/12 new triples (625, 0:00:00.043175) +- INFO - ----- reclassify-concept-4: 16/16 new triples (641, 0:00:00.069443) +- INFO - ----- reclassify-concept-5: 2/4 new triples (643, 0:00:00.051118) +- INFO - ----- reify-roles-as-concept: 10/10 new triples (653, 0:00:00.054098) +- INFO - ----- reclassify-existing-variable: 45/45 new triples (698, 0:00:00.031215) +- INFO - ----- add-new-variable-for-reified-concept: 8/8 new triples (706, 0:00:00.056760) +- INFO - ----- add-amr-leaf-for-reclassified-concept: 33/33 new triples (739, 0:00:00.049200) +- INFO - ----- add-amr-leaf-for-reified-concept: 8/8 new triples (747, 0:00:00.034791) +- INFO - ----- add-amr-edge-for-core-relation: 27/27 new triples (774, 0:00:00.123966) +- INFO - ----- add-amr-edge-for-reified-concept: 12/12 new triples (786, 0:00:00.152911) +- INFO - ----- add-amr-edge-for-name-relation: 5/5 new triples (791, 0:00:00.094811) +- DEBUG - ----- add-value-for-quant-relation: 0/0 new triple (791, 0:00:00.091672) +- INFO - ----- add-amr-edge-for-polarity-relation: 5/5 new triples (796, 0:00:00.088032) +- INFO - ----- update-amr-edge-role-1: 15/15 new triples (811, 0:00:00.097919) +- INFO - ----- add-amr-root: 5/5 new triples (816, 0:00:00.026552) - DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_01_preprocessing - DEBUG - ----- step: preprocessing - DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/01/ @@ -98,68 +98,68 @@ - INFO - ----- 218 triples extracted during preprocessing step - INFO - -- Applying extraction step: transduction - INFO - --- *** February Transduction *** Sequence: atomic extraction sequence -- INFO - ----- extract atom classes: 30/30 new triples (846, 0:00:00.165510) -- INFO - ----- extract atom individuals: 8/8 new triples (854, 0:00:00.048577) -- INFO - ----- extract atomic properties: 75/75 new triples (929, 0:00:00.231273) -- INFO - ----- extract atom values: 10/10 new triples (939, 0:00:00.059427) -- INFO - ----- extract atom phenomena: 14/14 new triples (953, 0:00:00.073757) -- INFO - ----- propagate atom relations: 24/68 new triples (977, 0:00:01.155622) +- INFO - ----- extract atom classes: 30/30 new triples (846, 0:00:00.162678) +- INFO - ----- extract atom individuals: 8/8 new triples (854, 0:00:00.050737) +- INFO - ----- extract atomic properties: 75/75 new triples (929, 0:00:00.216072) +- INFO - ----- extract atom values: 10/10 new triples (939, 0:00:00.052074) +- INFO - ----- extract atom phenomena: 14/14 new triples (953, 0:00:00.061439) +- INFO - ----- propagate atom relations: 24/68 new triples (977, 0:00:01.135960) - INFO - --- *** February Transduction *** Sequence: phenomena analyze sequence (1) -- INFO - ----- analyze "polarity" phenomena (1): 32/36 new triples (1009, 0:00:00.281555) -- DEBUG - ----- analyze "polarity" phenomena (2): 0/0 new triple (1009, 0:00:00.017296) -- DEBUG - ----- analyze modifier phenomena (mod): 0/0 new triple (1009, 0:00:00.008295) +- INFO - ----- analyze "polarity" phenomena (1): 32/36 new triples (1009, 0:00:00.102840) +- DEBUG - ----- analyze "polarity" phenomena (2): 0/0 new triple (1009, 0:00:00.017023) +- DEBUG - ----- analyze modifier phenomena (mod): 0/0 new triple (1009, 0:00:00.011371) - INFO - --- *** February Transduction *** Sequence: phenomena analyze sequence (2) -- DEBUG - ----- analyze "or" phenomena (1): 0/0 new triple (1009, 0:00:00.011861) -- INFO - ----- analyze "or" phenomena (2): 56/82 new triples (1065, 0:00:00.229622) +- DEBUG - ----- analyze "or" phenomena (1): 0/0 new triple (1009, 0:00:00.012886) +- INFO - ----- analyze "or" phenomena (2): 56/82 new triples (1065, 0:00:00.276051) - INFO - --- *** February Transduction *** Sequence: composite class extraction sequence -- INFO - ----- extract composite classes (1): 75/76 new triples (1140, 0:00:00.265299) -- DEBUG - ----- extract composite classes (2): 0/0 new triple (1140, 0:00:00.019950) +- INFO - ----- extract composite classes (1): 78/79 new triples (1143, 0:00:00.317769) +- DEBUG - ----- extract composite classes (2): 0/0 new triple (1143, 0:00:00.028135) - DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_01_transduction - DEBUG - ----- step: transduction - DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/01/ - DEBUG - ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_transduction.ttl - DEBUG - ----- base: http://https://tenet.tetras-libre.fr/demo/01//transduction -- INFO - ----- 324 triples extracted during transduction step +- INFO - ----- 327 triples extracted during transduction step - INFO - -- Applying extraction step: generation - INFO - --- *** November Transduction *** Sequence: main-generation-sequence -- INFO - ----- compute-uri-for-owl-declaration-1: 2/2 new triples (1142, 0:00:00.021815) -- DEBUG - ----- compute-uri-for-owl-declaration-2: 0/0 new triple (1142, 0:00:00.021632) -- INFO - ----- compute-uri-for-owl-declaration-3: 1/1 new triple (1143, 0:00:00.040741) -- DEBUG - ----- compute-uri-for-owl-declaration-4: 0/0 new triple (1143, 0:00:00.019998) -- INFO - ----- compute-uri-for-owl-declaration-5: 4/4 new triples (1147, 0:00:00.021346) -- INFO - ----- compute-uri-for-owl-declaration-6: 4/4 new triples (1151, 0:00:00.025619) -- INFO - ----- compute-uri-for-owl-declaration-7: 1/1 new triple (1152, 0:00:00.023085) -- INFO - ----- generate-atom-class: 6/6 new triples (1158, 0:00:00.019462) -- DEBUG - ----- classify-atom-class-1: 0/0 new triple (1158, 0:00:00.008653) -- INFO - ----- classify-atom-class-2: 2/2 new triples (1160, 0:00:00.010817) -- INFO - ----- generate-individual: 3/3 new triples (1163, 0:00:00.010694) -- DEBUG - ----- classify-individual-1: 0/0 new triple (1163, 0:00:00.007920) -- DEBUG - ----- classify-individual-2: 0/0 new triple (1163, 0:00:00.008371) -- INFO - ----- generate-atom-property-1: 20/20 new triples (1183, 0:00:00.015108) -- INFO - ----- generate-atom-property-12: 16/16 new triples (1199, 0:00:00.011485) -- DEBUG - ----- generate-inverse-relation: 0/0 new triple (1199, 0:00:00.007591) -- DEBUG - ----- generate-composite-class: 0/0 new triple (1199, 0:00:00.008735) -- DEBUG - ----- add-restriction-to-class-1: 0/0 new triple (1199, 0:00:00.020413) -- DEBUG - ----- add-restriction-to-class-2: 0/0 new triple (1199, 0:00:00.015592) -- DEBUG - ----- add-restriction-to-class-3: 0/0 new triple (1199, 0:00:00.014099) -- DEBUG - ----- add-restriction-to-class-4: 0/0 new triple (1199, 0:00:00.014423) -- DEBUG - ----- add-restriction-to-class-5: 0/0 new triple (1199, 0:00:00.018992) -- DEBUG - ----- add-restriction-to-class-6: 0/0 new triple (1199, 0:00:00.013756) +- INFO - ----- compute-uri-for-owl-declaration-1: 2/2 new triples (1145, 0:00:00.025479) +- INFO - ----- compute-uri-for-owl-declaration-2: 2/2 new triples (1147, 0:00:00.024029) +- INFO - ----- compute-uri-for-owl-declaration-3: 1/1 new triple (1148, 0:00:00.030747) +- DEBUG - ----- compute-uri-for-owl-declaration-4: 0/0 new triple (1148, 0:00:00.020293) +- INFO - ----- compute-uri-for-owl-declaration-5: 4/4 new triples (1152, 0:00:00.026166) +- INFO - ----- compute-uri-for-owl-declaration-6: 4/4 new triples (1156, 0:00:00.027428) +- INFO - ----- compute-uri-for-owl-declaration-7: 1/1 new triple (1157, 0:00:00.018957) +- INFO - ----- generate-atom-class: 12/12 new triples (1169, 0:00:00.008675) +- DEBUG - ----- classify-atom-class-1: 0/0 new triple (1169, 0:00:00.006454) +- INFO - ----- classify-atom-class-2: 4/4 new triples (1173, 0:00:00.012147) +- INFO - ----- generate-individual: 3/3 new triples (1176, 0:00:00.009825) +- DEBUG - ----- classify-individual-1: 0/0 new triple (1176, 0:00:00.008026) +- DEBUG - ----- classify-individual-2: 0/0 new triple (1176, 0:00:00.012284) +- INFO - ----- generate-atom-property-1: 20/20 new triples (1196, 0:00:00.010817) +- INFO - ----- generate-atom-property-12: 16/16 new triples (1212, 0:00:00.011441) +- DEBUG - ----- generate-inverse-relation: 0/0 new triple (1212, 0:00:00.007958) +- DEBUG - ----- generate-composite-class: 0/0 new triple (1212, 0:00:00.010288) +- DEBUG - ----- add-restriction-to-class-1: 0/0 new triple (1212, 0:00:00.020049) +- DEBUG - ----- add-restriction-to-class-2: 0/0 new triple (1212, 0:00:00.013673) +- DEBUG - ----- add-restriction-to-class-3: 0/0 new triple (1212, 0:00:00.025784) +- DEBUG - ----- add-restriction-to-class-4: 0/0 new triple (1212, 0:00:00.016558) +- DEBUG - ----- add-restriction-to-class-5: 0/0 new triple (1212, 0:00:00.019843) +- DEBUG - ----- add-restriction-to-class-6: 0/0 new triple (1212, 0:00:00.016422) - INFO - --- *** February Transduction *** Sequence: property_generation_sequence -- INFO - ----- generate OWL property: 15/35 new triples (1214, 0:00:00.387527) +- INFO - ----- generate OWL property: 9/29 new triples (1221, 0:00:00.289832) - DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_01_generation - DEBUG - ----- step: generation - DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/01/ - DEBUG - ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_generation.ttl - DEBUG - ----- base: http://https://tenet.tetras-libre.fr/demo/01//generation -- INFO - ----- 74 triples extracted during generation step +- INFO - ----- 78 triples extracted during generation step - DEBUG - --- Serializing graph to factoid file (/home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_factoid.ttl) -- DEBUG - ----- Number of factoids: 94 +- DEBUG - ----- Number of factoids: 98 - DEBUG - ----- Graph base: http://https://tenet.tetras-libre.fr/demo/01//factoid - INFO - === Final Ontology Generation === - INFO - -- Making complete factoid graph by merging the result factoids -- INFO - ----- Total factoid number: 94 +- INFO - ----- Total factoid number: 98 - INFO - -- Serializing graph to factoid string - INFO - ----- Graph base: http://https://tenet.tetras-libre.fr/demo/01//factoid - INFO - -- Serializing graph to factoid file @@ -169,6 +169,6 @@ - INFO - *** Execution Time *** ----- Function: create_ontology_from_amrld_file (tenet.main) ------ Total Time: 0:00:05.344971 ------ Process Time: 0:00:05.168497 +----- Total Time: 0:00:04.975232 +----- Process Time: 0:00:04.929036 *** - *** diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/SolarSystemDev01_factoid.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/SolarSystemDev01_factoid.ttl index ed898e19..2e52241a 100644 --- a/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/SolarSystemDev01_factoid.ttl +++ b/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/SolarSystemDev01_factoid.ttl @@ -4,19 +4,10 @@ @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#gravitation-bind-system> 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-orbit-hasManner-direct-sun> rdfs:subPropertyOf ns1:Out_ObjectProperty ; - ns1:fromStructure "SSC-01-01" . - -<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-not-direct-sun> rdfs:subPropertyOf ns1:Out_ObjectProperty ; - 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" . @@ -25,6 +16,10 @@ rdfs:subPropertyOf <https://tenet.tetras-libre.fr/extract-result#orbit> ; ns1:fromStructure "SSC-01-01" . +ns2:atomClass_gravitation_g ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation> . + +ns2:atomClass_object_o ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#object> . + ns2:atomClass_sun_s2 ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#sun> . ns2:atomClass_system_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> . @@ -65,6 +60,11 @@ ns2:individual_SolarSystem_p ns2:hasIndividualURI <https://tenet.tetras-libre.fr 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:Undetermined_Thing ; + ns1:fromStructure "SSC-01-01" . + <https://tenet.tetras-libre.fr/extract-result#hasManner> a owl:ObjectProperty ; rdfs:label "hasManner" ; rdfs:subPropertyOf ns1:Out_ObjectProperty ; @@ -85,6 +85,11 @@ ns2:individual_SolarSystem_p ns2:hasIndividualURI <https://tenet.tetras-libre.fr 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:Undetermined_Thing ; + ns1:fromStructure "SSC-01-01" . + <https://tenet.tetras-libre.fr/extract-result#solar-system> a owl:individual ; rdfs:label "Solar System" ; ns1:fromStructure "SSC-01-01" . diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.log b/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.log index a540c51e..efea4b81 100644 --- a/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.log +++ b/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.log @@ -71,25 +71,25 @@ - DEBUG - ----- Total rule number: 87 - INFO - -- Applying extraction step: preprocessing - INFO - --- *** November Transduction *** Sequence: amrld-correcting-sequence -- INFO - ----- fix-amr-bug-about-system-solar-planet: 5/5 new triples (603, 0:00:00.122197) +- INFO - ----- fix-amr-bug-about-system-solar-planet: 5/5 new triples (603, 0:00:00.107442) - INFO - --- *** November Transduction *** Sequence: amr-reification-sequence -- INFO - ----- reclassify-concept-1: 10/10 new triples (613, 0:00:00.177709) -- DEBUG - ----- reclassify-concept-2: 0/0 new triple (613, 0:00:00.078444) -- INFO - ----- reclassify-concept-3: 12/12 new triples (625, 0:00:00.051842) -- INFO - ----- reclassify-concept-4: 16/16 new triples (641, 0:00:00.085409) -- INFO - ----- reclassify-concept-5: 2/4 new triples (643, 0:00:00.050676) -- INFO - ----- reify-roles-as-concept: 10/10 new triples (653, 0:00:00.060118) -- INFO - ----- reclassify-existing-variable: 45/45 new triples (698, 0:00:00.042062) -- INFO - ----- add-new-variable-for-reified-concept: 8/8 new triples (706, 0:00:00.063336) -- INFO - ----- add-amr-leaf-for-reclassified-concept: 33/33 new triples (739, 0:00:00.055747) -- INFO - ----- add-amr-leaf-for-reified-concept: 8/8 new triples (747, 0:00:00.040803) -- INFO - ----- add-amr-edge-for-core-relation: 27/27 new triples (774, 0:00:00.130936) -- INFO - ----- add-amr-edge-for-reified-concept: 12/12 new triples (786, 0:00:00.161203) -- INFO - ----- add-amr-edge-for-name-relation: 5/5 new triples (791, 0:00:00.080725) -- DEBUG - ----- add-value-for-quant-relation: 0/0 new triple (791, 0:00:00.078813) -- INFO - ----- add-amr-edge-for-polarity-relation: 5/5 new triples (796, 0:00:00.086701) -- INFO - ----- update-amr-edge-role-1: 15/15 new triples (811, 0:00:00.094175) -- INFO - ----- add-amr-root: 5/5 new triples (816, 0:00:00.037810) +- INFO - ----- reclassify-concept-1: 10/10 new triples (613, 0:00:00.151110) +- DEBUG - ----- reclassify-concept-2: 0/0 new triple (613, 0:00:00.062944) +- INFO - ----- reclassify-concept-3: 12/12 new triples (625, 0:00:00.043175) +- INFO - ----- reclassify-concept-4: 16/16 new triples (641, 0:00:00.069443) +- INFO - ----- reclassify-concept-5: 2/4 new triples (643, 0:00:00.051118) +- INFO - ----- reify-roles-as-concept: 10/10 new triples (653, 0:00:00.054098) +- INFO - ----- reclassify-existing-variable: 45/45 new triples (698, 0:00:00.031215) +- INFO - ----- add-new-variable-for-reified-concept: 8/8 new triples (706, 0:00:00.056760) +- INFO - ----- add-amr-leaf-for-reclassified-concept: 33/33 new triples (739, 0:00:00.049200) +- INFO - ----- add-amr-leaf-for-reified-concept: 8/8 new triples (747, 0:00:00.034791) +- INFO - ----- add-amr-edge-for-core-relation: 27/27 new triples (774, 0:00:00.123966) +- INFO - ----- add-amr-edge-for-reified-concept: 12/12 new triples (786, 0:00:00.152911) +- INFO - ----- add-amr-edge-for-name-relation: 5/5 new triples (791, 0:00:00.094811) +- DEBUG - ----- add-value-for-quant-relation: 0/0 new triple (791, 0:00:00.091672) +- INFO - ----- add-amr-edge-for-polarity-relation: 5/5 new triples (796, 0:00:00.088032) +- INFO - ----- update-amr-edge-role-1: 15/15 new triples (811, 0:00:00.097919) +- INFO - ----- add-amr-root: 5/5 new triples (816, 0:00:00.026552) - DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_01_preprocessing - DEBUG - ----- step: preprocessing - DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/01/ @@ -98,68 +98,68 @@ - INFO - ----- 218 triples extracted during preprocessing step - INFO - -- Applying extraction step: transduction - INFO - --- *** February Transduction *** Sequence: atomic extraction sequence -- INFO - ----- extract atom classes: 30/30 new triples (846, 0:00:00.165510) -- INFO - ----- extract atom individuals: 8/8 new triples (854, 0:00:00.048577) -- INFO - ----- extract atomic properties: 75/75 new triples (929, 0:00:00.231273) -- INFO - ----- extract atom values: 10/10 new triples (939, 0:00:00.059427) -- INFO - ----- extract atom phenomena: 14/14 new triples (953, 0:00:00.073757) -- INFO - ----- propagate atom relations: 24/68 new triples (977, 0:00:01.155622) +- INFO - ----- extract atom classes: 30/30 new triples (846, 0:00:00.162678) +- INFO - ----- extract atom individuals: 8/8 new triples (854, 0:00:00.050737) +- INFO - ----- extract atomic properties: 75/75 new triples (929, 0:00:00.216072) +- INFO - ----- extract atom values: 10/10 new triples (939, 0:00:00.052074) +- INFO - ----- extract atom phenomena: 14/14 new triples (953, 0:00:00.061439) +- INFO - ----- propagate atom relations: 24/68 new triples (977, 0:00:01.135960) - INFO - --- *** February Transduction *** Sequence: phenomena analyze sequence (1) -- INFO - ----- analyze "polarity" phenomena (1): 32/36 new triples (1009, 0:00:00.281555) -- DEBUG - ----- analyze "polarity" phenomena (2): 0/0 new triple (1009, 0:00:00.017296) -- DEBUG - ----- analyze modifier phenomena (mod): 0/0 new triple (1009, 0:00:00.008295) +- INFO - ----- analyze "polarity" phenomena (1): 32/36 new triples (1009, 0:00:00.102840) +- DEBUG - ----- analyze "polarity" phenomena (2): 0/0 new triple (1009, 0:00:00.017023) +- DEBUG - ----- analyze modifier phenomena (mod): 0/0 new triple (1009, 0:00:00.011371) - INFO - --- *** February Transduction *** Sequence: phenomena analyze sequence (2) -- DEBUG - ----- analyze "or" phenomena (1): 0/0 new triple (1009, 0:00:00.011861) -- INFO - ----- analyze "or" phenomena (2): 56/82 new triples (1065, 0:00:00.229622) +- DEBUG - ----- analyze "or" phenomena (1): 0/0 new triple (1009, 0:00:00.012886) +- INFO - ----- analyze "or" phenomena (2): 56/82 new triples (1065, 0:00:00.276051) - INFO - --- *** February Transduction *** Sequence: composite class extraction sequence -- INFO - ----- extract composite classes (1): 75/76 new triples (1140, 0:00:00.265299) -- DEBUG - ----- extract composite classes (2): 0/0 new triple (1140, 0:00:00.019950) +- INFO - ----- extract composite classes (1): 78/79 new triples (1143, 0:00:00.317769) +- DEBUG - ----- extract composite classes (2): 0/0 new triple (1143, 0:00:00.028135) - DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_01_transduction - DEBUG - ----- step: transduction - DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/01/ - DEBUG - ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_transduction.ttl - DEBUG - ----- base: http://https://tenet.tetras-libre.fr/demo/01//transduction -- INFO - ----- 324 triples extracted during transduction step +- INFO - ----- 327 triples extracted during transduction step - INFO - -- Applying extraction step: generation - INFO - --- *** November Transduction *** Sequence: main-generation-sequence -- INFO - ----- compute-uri-for-owl-declaration-1: 2/2 new triples (1142, 0:00:00.021815) -- DEBUG - ----- compute-uri-for-owl-declaration-2: 0/0 new triple (1142, 0:00:00.021632) -- INFO - ----- compute-uri-for-owl-declaration-3: 1/1 new triple (1143, 0:00:00.040741) -- DEBUG - ----- compute-uri-for-owl-declaration-4: 0/0 new triple (1143, 0:00:00.019998) -- INFO - ----- compute-uri-for-owl-declaration-5: 4/4 new triples (1147, 0:00:00.021346) -- INFO - ----- compute-uri-for-owl-declaration-6: 4/4 new triples (1151, 0:00:00.025619) -- INFO - ----- compute-uri-for-owl-declaration-7: 1/1 new triple (1152, 0:00:00.023085) -- INFO - ----- generate-atom-class: 6/6 new triples (1158, 0:00:00.019462) -- DEBUG - ----- classify-atom-class-1: 0/0 new triple (1158, 0:00:00.008653) -- INFO - ----- classify-atom-class-2: 2/2 new triples (1160, 0:00:00.010817) -- INFO - ----- generate-individual: 3/3 new triples (1163, 0:00:00.010694) -- DEBUG - ----- classify-individual-1: 0/0 new triple (1163, 0:00:00.007920) -- DEBUG - ----- classify-individual-2: 0/0 new triple (1163, 0:00:00.008371) -- INFO - ----- generate-atom-property-1: 20/20 new triples (1183, 0:00:00.015108) -- INFO - ----- generate-atom-property-12: 16/16 new triples (1199, 0:00:00.011485) -- DEBUG - ----- generate-inverse-relation: 0/0 new triple (1199, 0:00:00.007591) -- DEBUG - ----- generate-composite-class: 0/0 new triple (1199, 0:00:00.008735) -- DEBUG - ----- add-restriction-to-class-1: 0/0 new triple (1199, 0:00:00.020413) -- DEBUG - ----- add-restriction-to-class-2: 0/0 new triple (1199, 0:00:00.015592) -- DEBUG - ----- add-restriction-to-class-3: 0/0 new triple (1199, 0:00:00.014099) -- DEBUG - ----- add-restriction-to-class-4: 0/0 new triple (1199, 0:00:00.014423) -- DEBUG - ----- add-restriction-to-class-5: 0/0 new triple (1199, 0:00:00.018992) -- DEBUG - ----- add-restriction-to-class-6: 0/0 new triple (1199, 0:00:00.013756) +- INFO - ----- compute-uri-for-owl-declaration-1: 2/2 new triples (1145, 0:00:00.025479) +- INFO - ----- compute-uri-for-owl-declaration-2: 2/2 new triples (1147, 0:00:00.024029) +- INFO - ----- compute-uri-for-owl-declaration-3: 1/1 new triple (1148, 0:00:00.030747) +- DEBUG - ----- compute-uri-for-owl-declaration-4: 0/0 new triple (1148, 0:00:00.020293) +- INFO - ----- compute-uri-for-owl-declaration-5: 4/4 new triples (1152, 0:00:00.026166) +- INFO - ----- compute-uri-for-owl-declaration-6: 4/4 new triples (1156, 0:00:00.027428) +- INFO - ----- compute-uri-for-owl-declaration-7: 1/1 new triple (1157, 0:00:00.018957) +- INFO - ----- generate-atom-class: 12/12 new triples (1169, 0:00:00.008675) +- DEBUG - ----- classify-atom-class-1: 0/0 new triple (1169, 0:00:00.006454) +- INFO - ----- classify-atom-class-2: 4/4 new triples (1173, 0:00:00.012147) +- INFO - ----- generate-individual: 3/3 new triples (1176, 0:00:00.009825) +- DEBUG - ----- classify-individual-1: 0/0 new triple (1176, 0:00:00.008026) +- DEBUG - ----- classify-individual-2: 0/0 new triple (1176, 0:00:00.012284) +- INFO - ----- generate-atom-property-1: 20/20 new triples (1196, 0:00:00.010817) +- INFO - ----- generate-atom-property-12: 16/16 new triples (1212, 0:00:00.011441) +- DEBUG - ----- generate-inverse-relation: 0/0 new triple (1212, 0:00:00.007958) +- DEBUG - ----- generate-composite-class: 0/0 new triple (1212, 0:00:00.010288) +- DEBUG - ----- add-restriction-to-class-1: 0/0 new triple (1212, 0:00:00.020049) +- DEBUG - ----- add-restriction-to-class-2: 0/0 new triple (1212, 0:00:00.013673) +- DEBUG - ----- add-restriction-to-class-3: 0/0 new triple (1212, 0:00:00.025784) +- DEBUG - ----- add-restriction-to-class-4: 0/0 new triple (1212, 0:00:00.016558) +- DEBUG - ----- add-restriction-to-class-5: 0/0 new triple (1212, 0:00:00.019843) +- DEBUG - ----- add-restriction-to-class-6: 0/0 new triple (1212, 0:00:00.016422) - INFO - --- *** February Transduction *** Sequence: property_generation_sequence -- INFO - ----- generate OWL property: 15/35 new triples (1214, 0:00:00.387527) +- INFO - ----- generate OWL property: 9/29 new triples (1221, 0:00:00.289832) - DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_01_generation - DEBUG - ----- step: generation - DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/01/ - DEBUG - ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_generation.ttl - DEBUG - ----- base: http://https://tenet.tetras-libre.fr/demo/01//generation -- INFO - ----- 74 triples extracted during generation step +- INFO - ----- 78 triples extracted during generation step - DEBUG - --- Serializing graph to factoid file (/home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_factoid.ttl) -- DEBUG - ----- Number of factoids: 94 +- DEBUG - ----- Number of factoids: 98 - DEBUG - ----- Graph base: http://https://tenet.tetras-libre.fr/demo/01//factoid - INFO - === Final Ontology Generation === - INFO - -- Making complete factoid graph by merging the result factoids -- INFO - ----- Total factoid number: 94 +- INFO - ----- Total factoid number: 98 - 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-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_factoid.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_factoid.ttl index ed898e19..2e52241a 100644 --- a/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_factoid.ttl +++ b/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_factoid.ttl @@ -4,19 +4,10 @@ @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#gravitation-bind-system> 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-orbit-hasManner-direct-sun> rdfs:subPropertyOf ns1:Out_ObjectProperty ; - ns1:fromStructure "SSC-01-01" . - -<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-not-direct-sun> rdfs:subPropertyOf ns1:Out_ObjectProperty ; - 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" . @@ -25,6 +16,10 @@ rdfs:subPropertyOf <https://tenet.tetras-libre.fr/extract-result#orbit> ; ns1:fromStructure "SSC-01-01" . +ns2:atomClass_gravitation_g ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation> . + +ns2:atomClass_object_o ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#object> . + ns2:atomClass_sun_s2 ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#sun> . ns2:atomClass_system_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> . @@ -65,6 +60,11 @@ ns2:individual_SolarSystem_p ns2:hasIndividualURI <https://tenet.tetras-libre.fr 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:Undetermined_Thing ; + ns1:fromStructure "SSC-01-01" . + <https://tenet.tetras-libre.fr/extract-result#hasManner> a owl:ObjectProperty ; rdfs:label "hasManner" ; rdfs:subPropertyOf ns1:Out_ObjectProperty ; @@ -85,6 +85,11 @@ ns2:individual_SolarSystem_p ns2:hasIndividualURI <https://tenet.tetras-libre.fr 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:Undetermined_Thing ; + ns1:fromStructure "SSC-01-01" . + <https://tenet.tetras-libre.fr/extract-result#solar-system> a owl:individual ; rdfs:label "Solar System" ; ns1:fromStructure "SSC-01-01" . diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_generation.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_generation.ttl index a7e74d72..9eeda657 100644 --- a/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_generation.ttl +++ b/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_generation.ttl @@ -421,19 +421,10 @@ cprm:targetOntologyURI a rdf:Property ; rdfs:range xsd:string ; rdfs:subPropertyOf cprm:configParamProperty . -<https://tenet.tetras-libre.fr/extract-result#gravitation-bind-system> rdfs:subPropertyOf sys:Out_ObjectProperty ; - sys:fromStructure "SSC-01-01" . - <https://tenet.tetras-libre.fr/extract-result#not-direct> a owl:ObjectProperty ; rdfs:subPropertyOf sys:Out_ObjectProperty ; sys:fromStructure "SSC-01-01" . -<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-direct-sun> rdfs:subPropertyOf sys:Out_ObjectProperty ; - sys:fromStructure "SSC-01-01" . - -<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-not-direct-sun> rdfs:subPropertyOf sys:Out_ObjectProperty ; - 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> ; sys:fromStructure "SSC-01-01" . @@ -444,9 +435,6 @@ cprm:targetOntologyURI a rdf:Property ; <https://tenet.tetras-libre.fr/semantic-net> a owl:Ontology . -net:Composite_Class_Net a owl:Class ; - rdfs:subClassOf net:Class_Net . - net:Logical_Set_Net a owl:Class ; rdfs:subClassOf net:Net . @@ -510,7 +498,7 @@ net:axiom_disjointProperty_not-direct_direct_d2 a net:Axiom_Net ; net:compositeProperty_not-direct_d2 ; net:hasStructure "SSC-01-01" . -net:compositeProperty_gravitation-bind-system_g a net:Composite_Property_Net ; +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 ; @@ -518,11 +506,12 @@ net:compositeProperty_gravitation-bind-system_g a net:Composite_Property_Net ; 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:compositeProperty_object-orbit-hasManner-direct-sun_o a net:Composite_Property_Net ; +net:compositeClass_object-orbit-hasManner-direct-sun_o a net:Composite_Class_Net ; net:composeFrom net:atomClass_object_o, net:atomClass_sun_s2, net:compositeProperty_orbit-hasManner-direct_o2 ; @@ -533,11 +522,12 @@ net:compositeProperty_object-orbit-hasManner-direct-sun_o a net:Composite_Proper :leaf_object_o, :leaf_orbit-01_o2, :leaf_sun_s2 ; + net:hasMotherClassNet net:atomClass_object_o ; net:hasNaming "object-orbit-hasManner-direct-sun" ; net:hasRestriction net:restriction_orbit-hasManner-direct-sun_o2 ; net:hasStructure "SSC-01-01" . -net:compositeProperty_object-orbit-hasManner-not-direct-sun_o a net:Composite_Property_Net ; +net:compositeClass_object-orbit-hasManner-not-direct-sun_o a net:Composite_Class_Net ; net:composeFrom net:atomClass_object_o, net:atomClass_sun_s2, net:compositeProperty_orbit-hasManner-not-direct_o2 ; @@ -547,6 +537,7 @@ net:compositeProperty_object-orbit-hasManner-not-direct-sun_o a net:Composite_Pr :leaf_object_o, :leaf_orbit-01_o2, :leaf_sun_s2 ; + net:hasMotherClassNet net:atomClass_object_o ; net:hasNaming "object-orbit-hasManner-not-direct-sun" ; net:hasRestriction net:restriction_orbit-hasManner-not-direct-sun_o2 ; net:hasStructure "SSC-01-01" . @@ -857,6 +848,11 @@ sys:Out_AnnotationProperty a owl:AnnotationProperty . rdfs:subPropertyOf sys:Out_ObjectProperty ; sys:fromStructure "SSC-01-01" . +<https://tenet.tetras-libre.fr/extract-result#gravitation> a owl:Class ; + rdfs:label "gravitation" ; + rdfs:subClassOf sys:Undetermined_Thing ; + sys:fromStructure "SSC-01-01" . + <https://tenet.tetras-libre.fr/extract-result#hasManner> a owl:ObjectProperty ; rdfs:label "hasManner" ; rdfs:subPropertyOf sys:Out_ObjectProperty ; @@ -877,6 +873,11 @@ sys:Out_AnnotationProperty a owl:AnnotationProperty . rdfs:subPropertyOf sys:Out_ObjectProperty ; sys:fromStructure "SSC-01-01" . +<https://tenet.tetras-libre.fr/extract-result#object> a owl:Class ; + rdfs:label "object" ; + rdfs:subClassOf sys:Undetermined_Thing ; + sys:fromStructure "SSC-01-01" . + <https://tenet.tetras-libre.fr/extract-result#solar-system> a owl:individual ; rdfs:label "Solar System" ; sys:fromStructure "SSC-01-01" . @@ -1119,9 +1120,6 @@ ns2:or a ns2:Concept ; :value_SolarSystem a :AMR_Value ; rdfs:label "Solar System" . -sys:Undetermined_Thing a owl:Class ; - rdfs:subClassOf sys:Out_Structure . - net:Class_Net a owl:Class ; rdfs:subClassOf net:Net . @@ -1134,14 +1132,6 @@ net:Property_Net a owl:Class ; net:Value_Net a owl:Class ; rdfs:subClassOf net:Net . -net:atomClass_gravitation_g a net:Atom_Class_Net, - net:Deprecated_Net ; - net:coverBaseNode :leaf_gravitation_g ; - net:coverNode :leaf_gravitation_g ; - net:hasClassName "gravitation" ; - net:hasNaming "gravitation" ; - net:hasStructure "SSC-01-01" . - net:atomClass_system_p a net:Atom_Class_Net, net:Deprecated_Net ; :role_name net:value_SolarSystem_blankNode ; @@ -1222,10 +1212,25 @@ ns2:Frame a ns2:Concept, net:Axiom_Net a owl:Class ; rdfs:subClassOf net:Net . +net:Composite_Class_Net a owl:Class ; + rdfs:subClassOf net:Class_Net . + +net:Composite_Property_Net a owl:Class ; + rdfs:subClassOf net:Property_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)." . +net:atomClass_gravitation_g a net:Atom_Class_Net, + net:Deprecated_Net ; + net:coverBaseNode :leaf_gravitation_g ; + net:coverNode :leaf_gravitation_g ; + net:hasClassName "gravitation" ; + net:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation> ; + 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 ; @@ -1316,6 +1321,9 @@ ns3:FrameRole a ns2:Role, rdfs:subClassOf :AMR_Core_Role ; :label "ARG1" . +sys:Undetermined_Thing a owl:Class ; + rdfs:subClassOf sys:Out_Structure . + net:atomProperty_direct_d a net:Atom_Property_Net ; net:coverBaseNode :leaf_direct-02_d ; net:coverNode :leaf_direct-02_d ; @@ -1411,17 +1419,6 @@ cprm:configParamProperty a rdf:Property ; net:Atom_Property_Net a owl:Class ; rdfs:subClassOf net:Property_Net . -net:Composite_Property_Net a owl:Class ; - rdfs:subClassOf net:Property_Net . - -net:atomClass_object_o a net:Atom_Class_Net, - net:Deprecated_Net ; - net:coverBaseNode :leaf_object_o ; - net:coverNode :leaf_object_o ; - net:hasClassName "object" ; - net:hasNaming "object" ; - net:hasStructure "SSC-01-01" . - net:atomProperty_hasManner_m9 a net:Atom_Property_Net ; :role_ARG0 net:atomProperty_orbit_o2 ; :role_ARG1 net:phenomena_conjunction-OR_o3 ; @@ -1452,6 +1449,15 @@ rdf:Property a owl:Class . net:Relation a owl:Class ; rdfs:subClassOf net:Net_Structure . +net:atomClass_object_o a net:Atom_Class_Net, + net:Deprecated_Net ; + net:coverBaseNode :leaf_object_o ; + net:coverNode :leaf_object_o ; + net:hasClassName "object" ; + net:hasClassURI <https://tenet.tetras-libre.fr/extract-result#object> ; + net:hasNaming "object" ; + 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 ; @@ -1519,6 +1525,8 @@ net:atomClass_sun_s2 a net:Atom_Class_Net ; :hasVariable :variable_m9 ; :isReifiedLeaf true . +sys:Out_ObjectProperty a owl:ObjectProperty . + :AMR_Variable a owl:Class ; rdfs:subClassOf :AMR_Element . @@ -1531,8 +1539,6 @@ net:atomClass_sun_s2 a net:Atom_Class_Net ; :AMR_Leaf a owl:Class ; rdfs:subClassOf :AMR_Structure . -sys:Out_ObjectProperty a owl:ObjectProperty . - net:objectValue a owl:AnnotationProperty ; rdfs:label "valuations"@fr ; rdfs:subPropertyOf net:objectProperty . diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_transduction.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_transduction.ttl index 509180a6..9b12320b 100644 --- a/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_transduction.ttl +++ b/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_transduction.ttl @@ -426,9 +426,6 @@ cprm:targetOntologyURI a rdf:Property ; <https://tenet.tetras-libre.fr/semantic-net> a owl:Ontology . -net:Composite_Class_Net a owl:Class ; - rdfs:subClassOf net:Class_Net . - net:Logical_Set_Net a owl:Class ; rdfs:subClassOf net:Net . @@ -490,7 +487,7 @@ net:axiom_disjointProperty_not-direct_direct_d2 a net:Axiom_Net ; net:compositeProperty_not-direct_d2 ; net:hasStructure "SSC-01-01" . -net:compositeProperty_gravitation-bind-system_g a net:Composite_Property_Net ; +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 ; @@ -498,11 +495,12 @@ net:compositeProperty_gravitation-bind-system_g a net:Composite_Property_Net ; 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:compositeProperty_object-orbit-hasManner-direct-sun_o a net:Composite_Property_Net ; +net:compositeClass_object-orbit-hasManner-direct-sun_o a net:Composite_Class_Net ; net:composeFrom net:atomClass_object_o, net:atomClass_sun_s2, net:compositeProperty_orbit-hasManner-direct_o2 ; @@ -513,11 +511,12 @@ net:compositeProperty_object-orbit-hasManner-direct-sun_o a net:Composite_Proper :leaf_object_o, :leaf_orbit-01_o2, :leaf_sun_s2 ; + net:hasMotherClassNet net:atomClass_object_o ; net:hasNaming "object-orbit-hasManner-direct-sun" ; net:hasRestriction net:restriction_orbit-hasManner-direct-sun_o2 ; net:hasStructure "SSC-01-01" . -net:compositeProperty_object-orbit-hasManner-not-direct-sun_o a net:Composite_Property_Net ; +net:compositeClass_object-orbit-hasManner-not-direct-sun_o a net:Composite_Class_Net ; net:composeFrom net:atomClass_object_o, net:atomClass_sun_s2, net:compositeProperty_orbit-hasManner-not-direct_o2 ; @@ -527,6 +526,7 @@ net:compositeProperty_object-orbit-hasManner-not-direct-sun_o a net:Composite_Pr :leaf_object_o, :leaf_orbit-01_o2, :leaf_sun_s2 ; + net:hasMotherClassNet net:atomClass_object_o ; net:hasNaming "object-orbit-hasManner-not-direct-sun" ; net:hasRestriction net:restriction_orbit-hasManner-not-direct-sun_o2 ; net:hasStructure "SSC-01-01" . @@ -1058,14 +1058,6 @@ net:Property_Net a owl:Class ; net:Value_Net a owl:Class ; rdfs:subClassOf net:Net . -net:atomClass_gravitation_g a net:Atom_Class_Net, - net:Deprecated_Net ; - net:coverBaseNode :leaf_gravitation_g ; - net:coverNode :leaf_gravitation_g ; - net:hasClassName "gravitation" ; - net:hasNaming "gravitation" ; - net:hasStructure "SSC-01-01" . - net:atomClass_system_p a net:Atom_Class_Net, net:Deprecated_Net ; :role_name net:value_SolarSystem_blankNode ; @@ -1141,10 +1133,24 @@ ns2:Frame a ns2:Concept, net:Axiom_Net a owl:Class ; rdfs:subClassOf net:Net . +net:Composite_Class_Net a owl:Class ; + rdfs:subClassOf net:Class_Net . + +net:Composite_Property_Net a owl:Class ; + rdfs:subClassOf net:Property_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)." . +net:atomClass_gravitation_g a net:Atom_Class_Net, + net:Deprecated_Net ; + net:coverBaseNode :leaf_gravitation_g ; + net:coverNode :leaf_gravitation_g ; + net:hasClassName "gravitation" ; + 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 ; @@ -1324,17 +1330,6 @@ cprm:configParamProperty a rdf:Property ; net:Atom_Property_Net a owl:Class ; rdfs:subClassOf net:Property_Net . -net:Composite_Property_Net a owl:Class ; - rdfs:subClassOf net:Property_Net . - -net:atomClass_object_o a net:Atom_Class_Net, - net:Deprecated_Net ; - net:coverBaseNode :leaf_object_o ; - net:coverNode :leaf_object_o ; - net:hasClassName "object" ; - net:hasNaming "object" ; - net:hasStructure "SSC-01-01" . - net:atomProperty_hasManner_m9 a net:Atom_Property_Net ; :role_ARG0 net:atomProperty_orbit_o2 ; :role_ARG1 net:phenomena_conjunction-OR_o3 ; @@ -1363,6 +1358,14 @@ rdf:Property a owl:Class . net:Relation a owl:Class ; rdfs:subClassOf net:Net_Structure . +net:atomClass_object_o a net:Atom_Class_Net, + net:Deprecated_Net ; + net:coverBaseNode :leaf_object_o ; + net:coverNode :leaf_object_o ; + net:hasClassName "object" ; + net:hasNaming "object" ; + 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 ; diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.dot b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.dot new file mode 100644 index 00000000..e12eab02 --- /dev/null +++ b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.dot @@ -0,0 +1,33 @@ +digraph amr_graph { + rankdir=LR size="12,8" + s [label="s/system" shape=circle] + p [label="p/planet" shape=circle] + n [label="n/name" shape=circle] + b [label="b/bind-01" shape=circle] + g [label="g/gravitation" shape=circle] + a [label="a/and" shape=circle] + s2 [label="s2/sun" shape=circle] + o [label="o/object" shape=circle] + o2 [label="o2/orbit-01" shape=circle] + o3 [label="o3/or" shape=circle] + d [label="d/direct-02" shape=circle] + d2 [label="d2/direct-02" shape=circle] + s -> p [label=":domain"] + p -> n [label=":name"] + s -> b [label=":ARG1-of"] + b -> g [label=":ARG0"] + s -> a [label=":part"] + a -> s2 [label=":op1"] + a -> o [label=":op2"] + o -> o2 [label=":ARG0-of"] + o2 -> s2 [label=":ARG1"] + o2 -> o3 [label=":manner"] + o3 -> d [label=":op1"] + o3 -> d2 [label=":op2"] + node_0 [label="\"Solar\"" shape=rectangle] + n -> node_0 [label=":op1"] + node_1 [label="\"System\"" shape=rectangle] + n -> node_1 [label=":op2"] + node_2 [label="-" shape=rectangle] + d2 -> node_2 [label=":polarity"] +} diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.nt b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.nt new file mode 100644 index 00000000..e495b40e --- /dev/null +++ b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.nt @@ -0,0 +1,58 @@ +<http://amr.isi.edu/rdf/amr-terms#sun> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Concept> . +<http://amr.isi.edu/amr_data/document-01#d2> <http://amr.isi.edu/rdf/amr-terms#polarity> "-" . +<http://amr.isi.edu/amr_data/document-01#p> <http://www.w3.org/2000/01/rdf-schema#label> "Solar System" . +<http://amr.isi.edu/frames/ld/v1.2.2/orbit-01.ARG0> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/frames/ld/v1.2.2/FrameRole> . +<http://amr.isi.edu/rdf/core-amr#Role> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-Role" . +<http://amr.isi.edu/rdf/amr-terms#part> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Role> . +<http://amr.isi.edu/amr_data/document-01#a> <http://amr.isi.edu/rdf/amr-terms#op1> <http://amr.isi.edu/amr_data/document-01#s2> . +<http://amr.isi.edu/amr_data/document-01#o2> <http://amr.isi.edu/frames/ld/v1.2.2/orbit-01.ARG0> <http://amr.isi.edu/amr_data/document-01#o> . +<http://amr.isi.edu/amr_data/document-01#p> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/entity-types#planet> . +<http://amr.isi.edu/amr_data/document-01#s> <http://amr.isi.edu/rdf/amr-terms#domain> <http://amr.isi.edu/amr_data/document-01#p> . +<http://amr.isi.edu/amr_data/document-01#root01> <http://amr.isi.edu/rdf/core-amr#root> <http://amr.isi.edu/amr_data/document-01#s> . +<http://amr.isi.edu/rdf/core-amr#Frame> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Concept> . +<http://amr.isi.edu/amr_data/document-01#o3> <http://amr.isi.edu/rdf/amr-terms#op1> <http://amr.isi.edu/amr_data/document-01#d> . +<http://amr.isi.edu/amr_data/document-01#o2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/frames/ld/v1.2.2/orbit-01> . +<http://amr.isi.edu/rdf/amr-terms#gravitation> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Concept> . +<http://amr.isi.edu/amr_data/document-01#root01> <http://amr.isi.edu/rdf/core-amr#has-id> "document-01" . +<http://amr.isi.edu/amr_data/document-01#root01> <http://amr.isi.edu/rdf/core-amr#has-sentence> "The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly.." . +<http://amr.isi.edu/amr_data/document-01#s> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/amr-terms#system> . +<http://amr.isi.edu/amr_data/document-01#b> <http://amr.isi.edu/frames/ld/v1.2.2/bind-01.ARG0> <http://amr.isi.edu/amr_data/document-01#g> . +<http://amr.isi.edu/frames/ld/v1.2.2/direct-02> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Frame> . +<http://amr.isi.edu/amr_data/document-01#b> <http://amr.isi.edu/frames/ld/v1.2.2/bind-01.ARG1> <http://amr.isi.edu/amr_data/document-01#s> . +<http://amr.isi.edu/amr_data/document-01#b> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/frames/ld/v1.2.2/bind-01> . +<http://amr.isi.edu/frames/ld/v1.2.2/FrameRole> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-PropBank-Role" . +<http://amr.isi.edu/amr_data/document-01#root01> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#AMR> . +<http://amr.isi.edu/amr_data/document-01#o3> <http://amr.isi.edu/rdf/amr-terms#op2> <http://amr.isi.edu/amr_data/document-01#d2> . +<http://amr.isi.edu/rdf/core-amr#Role> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Class> . +<http://amr.isi.edu/amr_data/document-01#d2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/frames/ld/v1.2.2/direct-02> . +<http://amr.isi.edu/amr_data/document-01#o2> <http://amr.isi.edu/frames/ld/v1.2.2/orbit-01.ARG1> <http://amr.isi.edu/amr_data/document-01#s2> . +<http://amr.isi.edu/frames/ld/v1.2.2/bind-01> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Frame> . +<http://amr.isi.edu/rdf/core-amr#Frame> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-PropBank-Frame" . +<http://amr.isi.edu/amr_data/document-01#d> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/frames/ld/v1.2.2/direct-02> . +<http://amr.isi.edu/rdf/core-amr#NamedEntity> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-EntityType" . +<http://amr.isi.edu/rdf/core-amr#and> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Concept> . +<http://amr.isi.edu/frames/ld/v1.2.2/FrameRole> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Role> . +<http://amr.isi.edu/rdf/amr-terms#system> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Concept> . +<http://amr.isi.edu/rdf/amr-terms#op1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Role> . +<http://amr.isi.edu/amr_data/document-01#s2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/amr-terms#sun> . +<http://amr.isi.edu/amr_data/document-01#o2> <http://amr.isi.edu/rdf/amr-terms#manner> <http://amr.isi.edu/amr_data/document-01#o3> . +<http://amr.isi.edu/rdf/core-amr#or> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Concept> . +<http://amr.isi.edu/rdf/core-amr#Concept> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Class> . +<http://amr.isi.edu/rdf/amr-terms#op2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Role> . +<http://amr.isi.edu/frames/ld/v1.2.2/orbit-01.ARG1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/frames/ld/v1.2.2/FrameRole> . +<http://amr.isi.edu/rdf/amr-terms#object> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Concept> . +<http://amr.isi.edu/amr_data/document-01#o> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/amr-terms#object> . +<http://amr.isi.edu/rdf/amr-terms#domain> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Role> . +<http://amr.isi.edu/frames/ld/v1.2.2/bind-01.ARG0> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/frames/ld/v1.2.2/FrameRole> . +<http://amr.isi.edu/entity-types#planet> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#NamedEntity> . +<http://amr.isi.edu/amr_data/document-01#a> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#and> . +<http://amr.isi.edu/rdf/amr-terms#manner> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Role> . +<http://amr.isi.edu/rdf/core-amr#NamedEntity> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Concept> . +<http://amr.isi.edu/amr_data/document-01#g> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/amr-terms#gravitation> . +<http://amr.isi.edu/frames/ld/v1.2.2/orbit-01> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#Frame> . +<http://amr.isi.edu/amr_data/document-01#o3> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/rdf/core-amr#or> . +<http://amr.isi.edu/amr_data/document-01#s> <http://amr.isi.edu/rdf/amr-terms#part> <http://amr.isi.edu/amr_data/document-01#a> . +<http://amr.isi.edu/frames/ld/v1.2.2/bind-01.ARG1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://amr.isi.edu/frames/ld/v1.2.2/FrameRole> . +<http://amr.isi.edu/rdf/core-amr#NamedEntity> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-Term" . +<http://amr.isi.edu/amr_data/document-01#a> <http://amr.isi.edu/rdf/amr-terms#op2> <http://amr.isi.edu/amr_data/document-01#o> . +<http://amr.isi.edu/rdf/core-amr#Concept> <http://www.w3.org/2000/01/rdf-schema#label> "AMR-Concept" . diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.penman b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.penman new file mode 100644 index 00000000..af271537 --- /dev/null +++ b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.penman @@ -0,0 +1,18 @@ +# ::id document-01 +# ::snt The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly.. +(s / system + :domain (p / planet + :name (n / name + :op1 "Solar" + :op2 "System")) + :ARG1-of (b / bind-01 + :ARG0 (g / gravitation)) + :part (a / and + :op1 (s2 / sun) + :op2 (o / object + :ARG0-of (o2 / orbit-01 + :ARG1 s2 + :manner (o3 / or + :op1 (d / direct-02) + :op2 (d2 / direct-02 + :polarity -)))))) \ No newline at end of file diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.png b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.png new file mode 100644 index 0000000000000000000000000000000000000000..4db3a86145d050d023f92908dc6e204f2c3c0744 GIT binary patch literal 65519 zcmeAS@N?(olHy`uVBq!ia0y~yU}<1rV7$P=#K6E1R?`;Cz`($k<n8Xl@E-&h>|H*Y zfkA=6)5S5QV$Pepl?oxR|FeHEPMN#WbyJ$B+oB*(Zo^Z1Glf+{JUpwfc}JD*F5RlB z<>?xzq`NC4c(Iel+NgjjJ_}Q%Une~Ke*9<c^Vhc@rJXsG{A15QtFv<|&;2gBTV4CC z^4xR94G}s#3{dc%b0Hs;$?%s|Bmv4kpw1k?&agmxzJ0x(hK7cYj*gaA)&GCBxw*P? z{ql2ia<a0N1UNQr+T@}%(L;q#%ETi)e7cX?>sKJq)!n_Ak5AyomzTkbi4SjY&tJWI z_3PKKXU_tGme$s#V9@EZsI9GS-n@C+wryLnLgUp2hQ_7d)9>vn<u2`dm$)(F-@kva zudQ{KWno}oxGwNO(%{1FDbuDcTfRJa<&`sMd@L<3_iVa!`SRsUmkw#`33aMyYu~<g z>(-4M5z*1NFI)%+4GoO|gMfg5kPwrK4+&hYP74Fn{O9RtYIgo=V_0uuYMPpwx^(&S z`#X!5uUX^c>B*^oNK{1R!>O3Cux&ec?%cR><Gy|S)~$Q@_xJbK)>c(jRV5{*$!flf z0yL&go0gT8wc<VVhtA$!-++J#6DJD3Qn)K1C>R(UySMPM+Z9I!28IIOGYyURn%ox8 zwJd)2=H_N0A)#s0rge+yT2+0~nCS86=FcQBU}on#@;@Up^JLxYySvLnw7!0Md09?Q z&dtqDPfyP{?M#Dbzun@E8$W(}dV1r=jjpb)%a$z@;W~QvZftb)@9XXhF29tNlzjQ} zWnyCD*|TT4#dIR}RD8U!(7AHDBsf0VStT6SEMENhP%HQGe);ul*2HYdxVSa@dX=5> z!lg^M=G@$rdU~4S%rn;I?~WWfQc+oXc9v=O-Cd<AMl-cHG79<6v*G0C-d+6s+?koi z|NngU7Zw&icWmOMNwW--kM&3z8}O`Nv!<uJd-L|~)2B>{*;n)PP%F2qi_4B#QXuOe z>|emi?$CBH!Nt{8Qc7ysvSn=S?9ZP+&%d#uarf(kEiElNy1M>zt-gMGdb;rOv75JV zTU%JzRDbK~p3d-R;?$|8#m~-!t`0jp%XIaI4Ie%{JS-C)e_z6;V#D_B-ya|E@0YWk zHFIWWLV|#t+`UVe4oyAC2(on_Bddf%!_lO<R;8y79C&cBnSJHTm4=3fkB{{}ekt1N z@@SH(_dL7WR}UUMc=s+ZIr;Omv(oe81Pi<!9UG@kz549z?7e&T6crUcJ3IUM;;T#A z+S-oy%kM9J9p>oR*w}b*rg8cM!AOur1+pRu4fj8N{=D30X3^hYrCL*^1O*o^U3zr8 zH#aBe&6_uEYkm}*oTR!r?d+{xrP;;B#`o9p?OMHar=^C*iF4=9oj$E?YkT+9sV;u; z(C~16ZtmUX@9&+RZLX`M6St@0V0$;HyjbwRfr;mXzqfby{Q2`2FMfP&ZS>>Ej|I!- zZ{E7K_R|y3>gwGSCk94ENv)Dtz-?)1nS87#(P$<pXe^7>=C5D3XpxYxu&{*0j)a3v zvAfF*XZqN&gB<S=&&n$CV6u7sJ)e0tks%>pK0ZGFXXdFFvz9D*vMzSFUi>~835gw< zmzRC}R(7TH!2jfp5epYCeE06%^K)~5e?D)os-hC0I@7N9*JAg6Ep6?!Yu0FKX$2gG z7|p~g@u1y%y589thL6|p|95L^_VgJuBwktkH?8^cVa=K~ZEbA9!I!_kzrVPTc|%(p zo3!-oJ9qB9dGqGtV)w;;&7K|}Ep2VPcI@z(X{4&I&R!}5GM2+e;{Zec#)vfy4Ge!4 zN@ZtfUn#6}@bS?xF}ZU6`t?(%UR_-5zT)wh?D%~(Gp$Nj?c7-z6EkPZ6p>dJ|DV2k zRrT?atGM{|)#2+Gonxv}c6WDYY7~%>>9OKqU|?WmV3l~Vu&<AgpTB>5{{6W9b+M6= zlBILj-MD=_eqT-H!$Ym+d3PM<E}gHXtGhHnLpyBEhp%5<=RRfU;pM%2>C&ISfBom# zbXsvguw!Osmg?PB^z_t^9~FP5PMS37=H_&M8H<3huxlqzzC1ZuJ+{Wi&aUp}rc~Sg z8Vn2#{}{Lo4rre}dv@ElZIdQV>g?=%^ytxw$A7GunVVOKudk}Eo^M|-S30e(-EHyT zf4|>Xe}5Odt3>maj{VYw3k#p0n|tEKiQwga3(qlCoV$8;s*l?ADN{ni!q&y@y>;>= zXQ>hc14Au~NJ4}9ty{OAou6-C_U6Wg3jvCXjXw>gtx7Vgs(#(C|6lv^lIoSnUlVuj z+65}GZf#v%t{3#y$I<cOv$L}k6BGabR9~`fo0)}0gtxc0k`hy?m|WGjH#66+UAtz@ zni(@@%$ynN=*al5Dll;3(xpqcZ27VxaB<x==dZ7>u2y#Mn=*B3X+gn?)vFI1oH>2E z+d*MX{Qi3f4?6nz<lNel`DeE<0|Ud}o&$f<cvv{PkAC{_;lj0R_qOFqztXvDR`KD% zl`B^c9B|0+KQHg=>ua2LCSrTu+_`gQU+L_3adUfiYN~c)V`F4w<ciG;CQh4{mYchF z)v7Kl4)eVgADw)Cb(NG3UA!n*pZey;Ms9JvJKOW)pMSIAVFQ(4lhyr~UCfwmo<Gkx z{T%=7?{98wR8~}6xMj-}50!T}HZmXH(9F)y#=^2>$&w$xe%V!j^Ko%`(k{-*z;Hp{ zfst*;`+oa>8QIy~yu7ZmEzVk6S}Rws%)Yj!^3M;$S30%#yF|6q&dhlD>{*+Yhxv-t ztK;|8+`M}A>*eMCD>fG#|GwF(BAnCS-kzJATc|T7J3Bf$x_f?3e!hLy6^$j8KOeri zx%t?!V~vfCw{G2<Hf`F>nKLEYQd3fDetpS2Jx%x0rAyzweRFejD=aL$UvFk@UH#+3 zLn9+2@9BDb%iqiWE)5R8{PFSe*Dqhj?k?-CFK1$4STMbjiKpOZr?7h5o(e%(SzQNh z{{71rFE0M}CQ@B}`Knb~S0aCHnyl_$_xD%n<72%mnoDNy+xKr>>~1l=m>U-_Hd=Z6 z|1Ah(f3G!h%9N5HA0AGcH0jl=tor);E1o~STwR|YYUNH%O=ahk$;il<VO5%ynW@?9 z790>DAS!zFd|+tk(u*1QYbG2``uY2}wx%X0C+EzWGp}B`vf+MENXV1>ybKHsFV?dB z2v51dy|?0H())XR)6dO0D1L*(Bsux9{l6cFj~;D3nX>5ICG)*CKa0-Kvo$m{WMN_~ z74y@H*x=yrpa1*Y+ZD|PC(fTgfA}!->!PsqcXxKOv9Wb^b=le3F<o5Q@3;K@y}j1T z%8OU7?9^t~($uW1s!B^wKYjZ2^XJc3uU;J<8fqxP^XG2Ay#1<`D{DVbymIBriWMuY z%ioohl%%AmZ;sGer^3j<a3LKO{mV9PEPQyVRo#DHNI-zY+*a#5ckhadh<tl{yWPq| z{>sIR4`02i`tzf(@n5E8#fJw|wZlJs`V_$akY)18BiYS*X{Aq|KK;m?nwn}g_uh>g z9V)NZD+_f-Z_k@+nmujOq)FSheS37Y`|;z)_BB5a91Lh{Yy1BGetvFlZdR6;m)EM* ztBp-eOpJ|#0|RgFELNZEx4-1&rOE34VtO$@&a%(^fAP|#Nwa31>b=dxz;IzXkAp13 z7uk99=5dSbnV6co%C^itboj8k&kTo!0X@CFf$1-U4;?<-+tahmXJ(U?M}J3mx4dOh z%GXy{Z{ECl=+L1Rk4yYLJUHqO%)5Fpdqcmxy_BTn!~D>&ut)4qpFRx=3UW~r^t=+U zuA-u%s`~Zo>u{dKFG_yxE`L91(j*rb7Y>#~D*_kW)&GkL2sp5B_qw@uwN@4u7RJV# z_w9=d5C48<rm>WiltkOoWy{t@ZPijyaq;$keQK)qtXZ=p+AOWC)KpXwB(B}NCnq71 zk)3Uwc!)(+Rh6B+{n4XG7Z<yqpKD$I{oP%Ow!1rv-5s>c7#JAtI5k`qY|u6`Hm<Fy zVflFdLjBaKQ=dM4I(72o%ir^Or=B`>%5$>X(<e`Oq)a$U#q=UJrJQWx6b@S#(`n`L z{m0LrSFc}pcXQjebt|vDUCqTsu61>FnVFg0V!Bm-e{Eg1Y}xMJzxP&u*NfS)V9An{ z{Ct14$;!&gH|5PuO=I^|6u#g2`r5THsot=#ux%wTFO|Q)SNnP0iWM4-4gq0dc6EPt zBy4Ty@90>uZk^bX=b#kzhv!TKqh3aSe*FHrzZVy~|4!*Ns{EAV?0mSRqr)`&+JbYJ z+;i^iFjP=jkRK8+(f0P{=JZELI{p0ojEsy{Y%XE0=3La#ae_a+)PM(6pl#n?o|pG- zOXlToZ*Dg4pD}5YQT4YRp2M3qZ8FQbao}Cw33*XbQF*(X1s5~q?P@f1b#=8tVD*X> z0zyJT;o;XWT$nIv(yN+%Gr(Z+;>X|K-VR?AaWF1~lYxO@0jP#=YG&v6n`3eD$Pt!O zfw-Hy%isU_`1tLcH&dog4NMoTNKH+RjEp?qC+jTRk}V=CDy|<_^W=o!!CA`^^c{~F z^!TU+ue|d9{KSb9ch>&?X0Cs3mTC8OZ}q6CD7)HUAwfZ(US3}Q>C>l4lZ5`v@LTTf z>A7;nii~U!kd~A@JI69OIy&0fx%uzg{_Wepe|~=6kZ1CQ2?FBc-#>id;NX}rdGg~- zP^ad>bw@_Fs#V*znc3L<0ksgCKTO!OXHS3s`Ezrv`Q`0;thx_y^YMNA_)*eef&bs* z$1h(lesg2v>+9>)Cwi>d%rR-!EUB`>qk3CbtzO;Q(lTYrlpC$r)<kX&2?;4FE!{u! z?k~mI*x10pK&6Q<-hu${e-{P@hA(EdugVn~jyycv9vd6``;YjUckkXQyY>9|@^W%l z7uPEtrZtNeJv!DaJ@<LsueL^J_FK1a%iGu8xqVx@RP5c0JE2LRpPjXpT(xuO&d)kx zzi0R@=a)2ciHwxg-*T)^wp%<ZDk{qM=FEgACng>|cu+fh-INIvUU=p(FfcT@FW_W< zG4a?jH)iJMc7A!T6625YB@YfXe)?4OZL&cF^X~HZdHMPGw`2;xQn=&3_+s7fx7)+l z$1UV*a?8$s4QlL08b-v$`7OTK;i6<W@#wm(Tefb!diCnh{m~1+eVz;YWsYxD7jUvO zFnqB!U}md&a${pMx0ucg{;T3`iE?ssZEbCgjEo;-?2kWs^k`ko&L%5X{}n4&u3WXs zuHr+&pC2DrZ2lmyFXO{(r`NBquP?EZy<f$xzh#;4>}6}$+LpWsh>VQ9GLeyiq2V4Y zm%#x`vF_48KR&*nfARh54wpxZT)WTBv3&gUWv5lQ!>QA!g98E*%5S``o-=oDa&q!- z2gYM@CO>=^hK7f$D=QzKcl6Tr>&Lm*p0hPzU|?XlV5)I|;rXV`o40P+^6RQ`;JS6| z{QUd^8VaA?*;#z<+_@FOA1>^v{JbsqcG-sqj*TnaZr!@Iujc2czn3GgUcJh~wD5D6 zV|8_PYHBJkFK<Q$sKfC^MkJx3c;m*6wZFf=eE;&ri;j+tJry4h9XP;HDt2)4v}w=Y zzwftV<rnO9sjdCH+<$(bthHF_wEwGCuKfA$;+jd5CjI(V#mmcEwlFm-t4m&6Tl@PG zb~cb>cd@ZbJP63ne!VsO`nUJ@`>i<kTUuMsx2^v6e*b?rS(gJf|NhK8n#3z-BT*`F zZ&83oh}P8qtT)bAB}|z*b)tvLx5bgSZr%E^=%Au=+n0@VK}Iq-GX7^~lR0(f%p8-< zNlTWfyi)jMmVeL2+uK{?z%FfD+qq5)7x*14o;GdTZ1enokNfQ_O#XeBPJd`?01Aow z7T)ge?rv^v?w%mi4oGSoU}#?vvTEs4)mI`M8d_Rh+}z<IAsU*Rg@qCN`s*)TxL}%n zZOYWCclXs+|N8QhlauquVwdpsad$T)9&YECulxV^`-u}Cl9G~to@~v&K5g2xpp_x~ z{QaS;!*1TXHEsIz_Li0%yLLTF784U&7qRit!^7>jZrz$VaiXxg-;<;V?@paMHOnZK z>kz{q!>TVY{`{#C>%KZUw8s9n#p;C%9b;qv{_fpuVrtsj(z2sMy!PsWM&{g{oPgyo z<kTkL+%Eo(iNV31<#z)kpYJS_muF@g-@0{cMYF<#w{LCh{#2-|tH0yhop`wI$dMyU zmZ*UGR>_ZFym;~Q^73Q}v%*J5R;<tv6&20Tf8WT={_gg6e*2$~j&}e5^Z9%OBXdtr zkC;xxhVu7uT2psbeSM`Lzb`@JSc1WquU}(hWB2aes}JsAMFa&YX=$ChduIQ+Q>V0a zbaH-tc({V;!`T*2VIg7Rt5>h?w(C8Z5E2?%8=q18=SN^r(5Kn4o2N{jYHDiQ>7rDh z2TFhpdzg(A8iY%%{(gRb{_o~rhYWh07A{$`q+lt-=g*&4uV3Ha({tp%Md~RLXJ==g z!^isN<AZ{l_Rp9*w^v>#cGs2T$J_r#8XFt$nRoH}b#qhGsne%#-?%YyLxN*%?cOb0 zO5EJsQd6HE>y>V8ZJj%JZuz@Am7kxTjoh5})y6pe-oDz~{&fi_Qi>826?ZfIPJ68L zZE<98Z*Ma@f7<o%H*ykxSFP0m<ve~zMmCF&FD@zz3kzS-oM32bdUs2vaClpi(agE& z3vWi-czbvlNbv9+j?f8naB%SP;kkFj$=$uZ_S1nz=8w#Qfq{P{=07-O@3Huzl$4Z} zd6b5p-ZQT>J`*#uuCA`G&d$Q@1GjG7GE6?UA^S>PtB>0I+uQS>pPQSSn##lG92giF z8(Vu~f}(R9kEC&0Pj7E;TU*<tNkTeOpmC;O>KX?a)Va90zI^!-u-qZ-!GXro(o$Jj zS=;;XG*wiVycP}$4qm)yk&&_S$&{kJymya|cGnlCl$MrOR{mVIYL%SYldkXY?`LOb z78V|uGG&USaauv4gWjc!7d16BZfwb%+}75%V~52n3sAOs5&J+p;y~x2Lrz9B&z#q` zva%B5XnF7;p)PI<x0ICB(xppn<&T3~v5UKfXFywWzg{cPo;ma6sZ(+`6&n^Ve0X(r zxSE=p|9rc*h4<F&sr<Zb>C&g|`B$%AJ$dR>S+<G3zCKgqhO)O&($dmGohJ4F{`B?n zecK(rE@q~6d7k+5n7vh{PfkqSv}qF`A75!{=^MuDYopE6&&ddNK6(5YG$z8#%v@Rd z^YU{4&F*?SI$JhuP!Q^DYioORbpBl>Wo2bGH8-`%3x9#eC=T#%V0dAdo&9>b|NNrz zGqYw%>FTc4^NZM)bMt=v|FdgPpPgfAY-Kg;asTe!yW{s(ZGCRIXYby-ckf2(T-%m= z`$N5I`I{RX)6Po$`SIi9<F{|$dQaDzI%$%WS<a1TXJ;GoNSkJbJfEC?ZceBC^5x4n zSNC0hSt8aQ8WG{KFrdR_(XwS}At52>FPEJ?d)7B5=FY8KzaAa!_Vx9hdw*Bq<71mr zPw%o$aByhYw(Z;J=jTtKIyGg=ly$MY+xFkPbZODDWycZ>c3Gq!YT;ZTw|CXrwWY<y zpTB-h<zKOQ@#j}pS1($mq%`rxvu9zUp{4)+RI;+N{%N^(?b<@;_J2R0&o8mERa0{d z4c)qR>(<>HH*eY`BO|lxw<ai(zX)$&5iD4=W5<rqhdp90&K93qn}1_NV*dSoZ+}|6 zQSER9gE!at<?YVc*;Rgea&ofz$H%hPWgE`_uiJ9#)~$2(SFT=N8nn`u|7SM`i<7ta z>8;t<H*MNvz+-G+@ZrOU4VyPlo-}FE<(EN0K{7o*53f_%o_BYaQEFF5hllucg*P!x z_x0J$wFM${uFW(~FMD?<GAhbTZF2eBTdEHKZ-L@%FQbkl%bbk7yk`rP&Gz+NIDh{9 zp+ikBN;hxaD$|qr;F=mc|M0iXtZDW!z2E*WGIDo6e&tGtxw$!0qky2`!Grf3=FGXn z-~2WD?Afz#=B|JB8U)_o-@m`?ZB%GzC^vWamoFvfs{Cs1Pi6UizTZpy`GyFc`uh4k z7h7k}jP&*8{rx2VO^lO*00)axVxl7ZTyGUs)!DOW@2+3pv~bH76CIs5$9kpX_t%w{ zm2KO+dGW=J70#gYu8Ae>0K@+y$B$3;SONwruCA`t)zu)QnX9w2v;F-1Vq)%W$-G=w z=9g|=_Qu1*<G}V~w>Bmp-&gyaPtHa|Pp|L&;?gH41e22=Z`rct<>lqZ5<N4G(|7IK zwQR|fn0+-j@7>$CWQmHM-M)nj6aW4B={-&7;hVT6OP1W*Q+fID{t550va_=@G7j{= ze)VdGk6K&e+O=zaeSLp)Z{508M~wUMhG);x{uJtnbsyCenLTS(RCKf<&+8X2R;*ut zJU%BQBO^Qeu)&(Wd*|BbJ1@U{`}S=^o@4`w-rnB(@q&j9_AFJjD{Ps6VdrC|>Vm|? zhrhqS-(UT`&qr-@)izthzN1NZ_f!`D|Mxd`PV=^6&*bFA2Xb$OhJ<V>dU|Tl9vfZV zwY9&$MMg$Kx=lZR{d)Ek1R^6NUESSJpE{M5m1S4+L*W0E_3QHk0xoom>tDHY<-#-2 zs2~f6NWy~KR#sN~{)hg)es-?)^#cbO4jahJ%crNO@7eJyE$}A)`Im3fxzFs2?>)Bo z?S>^wmT+-%3kwT>w7+)!`eWfdd!6>EsHhK`6XmBl`=|-eKXTY$&Bl#_^Sd(h^Ye3a zkJk4uzx+}~h*LlI$kC&!Dk>i)KYjA#12ZQl=brn`6DA1!HZ)M0*m3?X2RHZTY!yvS z%|G+!ZrWtj>2fH3%Cu?6Zd-PBc6xewJ<>mQ>Qr5^D^ufzQf1!y`u}^Yzi;}lp{#72 zaDc(udberzwVHo_EbZ*}JqI;OEiEm7{rVNFpYf*hxlnoecYb-h9Xof*T9@T~d2#Ws z*NKl+-XRh^pb_mkbLLE%G%4@S4#V_wbFQzCFaKD|8C_dz+kI5ZIE`o36HxnFp^1s7 zB-+`T`FD9a-v;p>O>OPVFH356JxK39Wi|hB-Sn@Y*KR}vke8R2k+Jb^jrJ!`pYGOc z_fQdvEAHy(sEOy}l=-u+(`C_y4I5UjT)BMt^DUW|KTK`6w6wfitD~i%kpb@0o;-Cb zEF?q)3?_IiG0(qu<Hn7W+P>MdXRlrRwuMu8%9JTGGBRD=-R}Kzw&m|)zMZtRw2TCU zmoH!b;J>%PvH643_g7a}YlpA9v#0X&0>|cUd3SH!eZ_rv!>?aejT#4T%x*}Bk1Q=( zwCLNnZ|r<B9o^lxcN8jr%a3n;b8oM;hK5IApx{~1FbzW!Czrv2{Har?{&1|U+&N{6 z$V87nb%8g(KQED67|ngAZrh4A&o>(`cJJro<$e25p|-Q7<w%F1vW=~+tc=VJS2e$| zux+24BlbT^kM;cW^=tn9eRscFN?bapx)t2h$jr=q_3D+Bl++ucz1tJ>nfw-C6cG{m zpwD5z6C4_vYJctO(Qw7Uz(7+|Q|t0~PpS(T7#JKjI5M*B>UB}tIN#;bfvc;-r|ZS8 zTCzk$Na)dv7ae~yz^=QtmNm^jIz&xf{rkJS)>>1m{`~k@{QO+$cRiN8nUeB9e*R=- zWBd0(S66p!`TKi?Pqo&^?R|90Vh^Z36cn7eIsN>!sUTo#Zq6@d;t?Ag8yp<`*WSd$ zWXhB&7yL>$Sr@EY4IM_>!}j~f$HfyT3jVuxejk@*?XQx&JiT;Ya2KtPkIUdf?x916 zD%#o3otbTZ{`PHabMx|BTQaM^y*X$AnyA{l;!XPV2fB;~JlXmA{5(8wsv0AoU(NW@ z7JFY`D|%PS%I0S0l$0kwKR>tJ!L4y%-|@PZ_th20`<^{}7H2Jc#I?1xRXc2rfw_75 z{-EIC&#=z)Bz6CJOO`Erbo}eruToM{w{G1!b?TIsme#FXx85Y%JxS4bgpVmLpFcl7 zD(co`b^k|?9(^dT`w{AqlarH{mX?yD(&%vF%$YMMPk#LT`LQ#oo4p`k;emGm!wa#} z(yyB~8S&Y@c=vAI;>DX254WAuf7E?y%G9a5EtYS$tou{p>UwmVZgc><pv1Ln*LIh` zm$NKVd8J@uo_A-*lqn*rs!Qu_CxaWk506H8dUEde0EOd{B~QM$&Rn)kP5ig^uOB}y zy!`U`cz?1)SVY8*tgEZq`Q;zQ3e^98YtD1{&fUB0yi#8t9Ay5pdP4AWzmum<?W_Gg z%}4F=UxUKx@9*BWvPw)o`R3$zm%Z}UCqYfqMrKg^*+pq%`&tXD*MGZD?F)~MJ^OAK zW8KjXLFG@MKmV>_ymsx{x1XP%$FJOHz#}Xw8X5=!lGbH!%=1mn&CB)9$k|r4$X~g7 zRZ~;5);@XJ%9S_o&b@ZSTfmS<dGbm7noquNZf$>$$ojdvx9>e1mp^UBj2%T!y}lXe z)SfxsFCV|ZZtcpIo#4p`KL<uOi-n69fByFN_B*qV*L!*jK0iAvGyk%*h^Xkz+qW0{ zDS9mPnK^0Fq)izYm998eygt~>{`gq$>z@`vLP8a_U;jp%nwq|OX;hZ@?d$7stGVlz zEV;5%>+-d0*DhX6-2UiI{++vbt>1TFnC>&vh_w{d{GHRx#8c4Zqb4pUR<@m?yB`GJ z|Fqoen3%Y5-aNTiB27o`-1*aQ|IcA=)AJP}TCGkGU#dQN^5j^b?C-xzA|b;DH(yKS z-`&+JKONNhT$0aaoSXYr(YdW;<HGq1YD7T|4h|VmEBgZzPbt?FFK_RwSFZ*x7f>+* zgQZKCN=Zqr*!&@&s;cUF-j6>jYHHVxE|J`AaQOTB!~HKyeoatx-dBIaCo(cJU>_H# zA;7{XlF%SrRaN!!<;xYp3c;bFs_N?M3vR0_o7DdL^5hAqOSy>ekoMK9S5s3{54ZEX z%RY%N0t3)U%(JiCwr$go-}m6C#J?qxNl8hbo}Q(pri~6SVrD#K-?eMkg+Ia!3=A(6 zL5@DwD?NSk<Yp^YBS}fg$!fk%bDcg|ScAa#hfF$(iU;rA+xNV>=5udH$BFa18n$fN zQuFJ}%iry1U%h_4bm`LlnT(6pu3fuuA!9ta=e(bZ%isW~r>AFV=vDLldpy!+Jf&hR zms%B%Ho(>bT)tfScaH!3mj7EsL`1$^J^nl?Iayg*IdJ&{zQV$f@h_P^y}G)3$`p}3 z+#b%(haVhl-miJ4jZaofTl@6?KcE6}J!pn+!qTOwRaI5{bq|>3-fFRGbtoz<?Ck8k zxiwq-mBO9ykdQ0auB9a;G+1$*|GS2pqxs;1iy3d)&l(vUe`M`7k?QqOsSBQ=sjZ!z znd#}}_08Z+BQtwUY%DvU%#Fi^pmy#)(4<0#(?S;)mx_vt1$>9{MMXtfm=ZrcIJlyj zW69BOacN0ORyMY8d)+&~y}!Rd?X1)l%>W@$(Z4sB+~nVGnq1EKup-)+tyxe)LPA93 z$(uKON?(V$y1L5U5o2IrIFK69z{odq)-1i)T~oSm8*+CYIpQKMEqz6kW$KnKTP9Dw zd~vb+-@ktY(;uoy^|~z$;+M5*vGUOWy8ia8+Ta<re}92i19*DAoP8+g#)ia8moB|I z|48=R{<^=Qvj4`78#gznv$M0WUb*t)$8(_CJr9%>JX~B-uC0mm^z`f&*LR!Sy8hf8 z%i>>OGOuW|%-FttduQj#U8S#8R8#`eAI{oa{r%UEA01s?i};i(>b5P|xN+mgEnB`E zZs#|VTDxYAj<)vdHDIuGsVle_8td%bd@upD7UQr44_os=4-XFyPtSz`8nvbWQ$f>p zhxf1l$nYQ?GN2W>{K0DT{CganoL{fX3H?#j*UwK+FMn`=@rvV)Wjl8KxV1GqFE4LJ z^A}AQrNH?3`d?pOzI*rX_V#@H+FvG9y=p%{^Noy*%*uMT%y;&gvu9tHR23H+|5kqc z_HAit>B*BPlaKXqa&oR*x$@`36Krg3CQ`XiPfdN(d(O+tEA9L|+kyuUk&&S3A$9+G z1p*b<)<iD%oBQZN^M5IR1_lRtW>$#@cYb_)Y+v`sWAViR_J{L>m-~I)E@>ZkV^gYk zNy(Sp<?jR7AM)wzuiyXwUvx~2OzDJwPM)48Z``<X?wp^y`|_nrmwt{mGBOGZ3K9|$ zdi(aRyj@L3ZtmZyjIpt?CsT?%Jv~!XpT4@fdhVP#6~dsI-~$F42ORj<Mr>T9@0(h( zcHzQ@cXk$ci|IPax;*go^n80`<6+P!s({{(nx96^2WOb)%e_+g8|diB*ywPeThG>Z zuW9zRIaZ~s7A#n>Y15_q_v^2$2uw;!+HZ7jbNcz5+}zaE)T2j^oH=ubi;K&ECp$A! zQGkPmiSd2T&Z4JYOpOVNiH(U72?-0Dnwl0ZdbF?hx0RKZ0Z(yBiI1;uX>qZ#0EeKU zphTOfm{?Rqgg~c@v-9CMZ*q7J@7c45gXPe!($~+<%yd?oSW{DTZ%<`%LV|+6KL6@j zj0_9v6B#cspFMllxt;ItpP$CB6#i^TKR>Tm+I*4U#d4q7W^WI*a<2&f;!#?<b=|sm zv(57Z*k3OH_U`WP{QLXn%#rz%xZ&KR$B+O1`BPUY!_D2T=-l?^?(Xk*cbCtN*VoXP zFlEY`)vFKxw@5z5Bi222_UzTmmxo72Mn*?l=il1{szTqN19#M=?DKMSWvxnH%&-6F zx%_f+Qc_50XmoURBxqo!p|9`U>hSelU0oe6i)PP`4h_Bf^Ye325s_V`kJHl9?z^xu zFeo@Au<?B9*s<fsr>Cb6A37Ak{&45CY12-e@bLHdzvB3-@5PH3ywYY<rc7DDcSupJ zduz^3qx}4QSy|aDk-s$U?d{{^<AsHV1qCP0>nZ;BCNeqs@qq&lxw*OC-lxx;@%d9~ zG}A|I^7*;e?THa#VPf|*Qw}sRhK7cIe}8}agb6ze9v<3J_;{bZfwJ=AO`D1yAL~^S zI(hTvOc$lQdn$$NPoFsh8fQD)#(NoQyldsERjbyoe}7V!fq_9lA)ujgUewmCt2Z~N z@2~sYWyO*2>f&-{mMOQH)FUNR)2$me7^thOvo$wbajWymSQsQ6Xqc)UzKD;h3dcm~ zziWqDxfd^5WWdwi*LQ5Xe7~e|+WUKZ|NZ;d)zwv3S7%>yrpIlusfh`XgaJeR5zqpr zn3$gZNADR&g@lOMADf-d^<qCO0|SEv1FOUf&CJY9ef{;k(q;?z4mnSqI<=io_STL< z<yQ)|y<4|#ZEZdJ>+9=4_Ltjsm%pE9Q~Bvgr|^nqhIOFv!!KXXoI5vd`t<YX&mWI3 zDJnX3`t<3uXKTN|lbz{vEIwvaif3S8U{uttudlCvRNrU7qb$JjX5p2qSD!w8YQ5g9 z@nkUr14B+gL!(?~cJ^WU#vK(OljPSOtf{Rv&$(fcaY5mV<F5s=yUS|-{wf8}$Ce!K z7T3RX_pW~2o*R|H2?{%SczNI7-+%wsty@>FOqntzBs@GlBco&g(p9Un($cmSJUnDs z{OrN{m>mTNPoD;j;zmbD$HmRF?U*y?&hGN}D?(OHo;-Qx%$aM}ygAs+E-fV$x3?-a zDe2Rfm%%LNYzzzw%AG#HkQ7Lfx2v(J|M#a$RJ)B|UQbuow&KGBMrO7i8Ox$4Cno0R z=B~J0cz<v8_nzKfYb&b&_LrNZqNA7l&K8rB>asea|MSB`=9xa{PMva+Whq%2?Q0=t zTa}WZzkbac9~GhAo*uo}T~~hIO+Mbo$;~}|`t-;3IayhszJCu744gP|V&tBR!r)-x ze^pggyA~~4G-=YMz180%bixu76<eJYg*s==niUurs3Vqrdt2_0|7GQGZWtCn^Z8?8 zYa8q4#%90l^2_}a60-^z7#bXuH$>=|OqCZfdHeS5w{PFd-``Ue;K<F*EwPfVpX;Eo zV&zKP`hPW#kM(wSbvZgZdL$P`#>U<~(kcA-(IdBhxn3*p_^|Ns^vukiMNdyXJw1K# zxl2<YJ$iI=b9#GAi_d&J*;26!Q(IbE_UzfSxBC0HniXALU8>&GV)obVeePU%dWvRn zQc{wMsc9fPBLl+$&WI+Cx~mP0%x*mr2NMidtzLZ-)W6=eX;Wrq=B7=X6crUuo;;bE znaSZ?bazwg>992sj910ipFDBm&c0e}GqY{x`YC76pPz4-e5{d~eZj9+;qUJ5X5amv zk%8fXlEwiC^PIc8LjC;Keb&Bo>C$q)xrgTaii?Z)_xH!|ttzdov|Q8>Q}*J*!fV&U z9CHK}J5o|p^Y85V`0MNI(%09vZr{GR@AKN(=K1Glo4>!avv~jif7Y*b8vO6vz1!N_ zs;s0WBO?=#4w}9%cVIjg{`gq0vH*vsrsj&~f)$Gv9lCO5%H0YFFRxSAuTTG*W7U>; zxQ+Mrw%pm1Ctv1|Hs+po=FFK7A3lKUt+Qtt{5?H9V)j%7dU$j=Eu1oS>cYOy|E;X7 zw&mUylaQ!*duyv<^05Vd%s-wV=@gcgl?~AneJ{cfS{TSGl29{s`t<aqq(i$uPS=Sn zdU{GUuIJ9Zdva1zR;8~(va_>`i;D#X1vxo8Pfk|Pzq#q@Y-4f#xSXu4R}UUsxOnkk zx5}T7pPqV~n{W4?u6Od(sYT~5?dOp&P%tsMa{T!5OP7pHO+`y(*6i7H=hUfHn>HC~ zYiGZ>uyDm=P-D&Efg|I!<#Vh`PaQkf_WE#IT3Vm1^|y<Q-7PIG_4M>6PMjztB$Snv zHC-?E*TXj#;_Lq|UAJyu+F7Y}>JRy)dd>3h?FnA)$186qQ#!5g)U|8ho}Hat|Nrmz zM@PH0wX`Orym;|~gP-5r)b#6z4;>vH0^;KCLd+nGYk5Qx{!ExVH#Z?cL09*$Z~K8o zi<G>*y)!dk1}=8nSRGzbSt-cTQu_MZ*_p=eE=oUt{Mb|Z`PhL24smh+zP!Br=6oFb zfHnWGpFcPDUtbrSot*5fH1XN_`R8xeg!uaQE(d|<8<USGB_)0E&7U%5N}rr<)$eb) zoSdEWYd<_V*gSRWRB5vufgNVEO{C7=x>fc6-`~mV{%&)Z#$Ud4X;=CCd9AHSpPZb` zFKcz=`SL?@HWdbmhd?=G&KwzcclWwD@ao1|nOAl{YU6{0FF!cg{QuYM^}l}oI&s1y zGxOz>Cn;jxS8v_2DtU3?>}>PvSFg^suaAp~nX`Ajw}S)D3iQTdzZnLgas91Zx8~*L z?c2BS4S$*4wQJYv{{5+pjGQ@X(xt80*LR7|KAAGlt~Scu{rQ7~&2QhnmAO-qoxQrb zxq0>K)eO0O-(Fo^op`uSRZVRXAJf0pt5%&le7M<1P2Rd}&DO0`uTMXH?%X`n>}eY} z7N(`CtzXYtu{`>B1E<Ulb{+->7O680AG_wypWoij-j?|N-QC5PU;g{|FDNMJ^mP4n z``{@PCw_c+dAV-%HV<#_+qZ8^OG+L+dUT_GURs)2&5sX>hudC)m;0VNefsu|8zG^g zSFc}xte%pd&M$8l<K~w3^3u}p@9zFiY|{*0CLtxYYURpadHa1!mOQzBSX@lZZ?>7P zq2WZYrBzi`T-@BnAIufBw5s0S+1bd<e(UB<Q*-lT1E%@5H9syKJNE3!$;qFepLd_j z`e*u{J%2VPAJ4n9<Kvr~n+28K-rV26f77N(ufsF5v%UTNwr$$<>GS94y;WbE+4&Q= zL_q0r4+E>jdV`rhV%@EY5tWrY_w3oz(ZTU=*Q7~8bq?UsrW<FshJ=P@nn?YA3|ghj z@8atEG5L=VTXSQgME6lpQ4emg8W|g}Ub*sTB3sQ-g|<W?A)z1a|3ia=g98F4tX;cy z|Ni=-qD{MYRejI<T`$PdGGW4m!pFw~HKts;bZH*X(d^~^^UKQ0_LaPxG;^lpE1d`I zCMG6*GM1AjPP};GLPB1iUGcLsKYsjZYipC^JDp-wTwHv8eY}0njSZilpU=Oy$I{sN z@~vC5v}b~P!wmb_StZuDw6w_B*U20<NKJjZK7RkUty>?iumAap)jl9ReEq6bN!MNF z?dw8<gMS}A7!01#dUt2%<%<_5&YgSq(WT<BlP6CucJI&2%mgiB6F0ZMwX5{?GT+%6 zB3?;JO52Y;S@i5#n!o?~88c>Bm%o#ckXX>iylc^tC0lZDZ@a!e9#j~=ySsa_TkoOh z!l0E`UcGu1FVk``;mPyo?d|R7=iA47duRXt_V)3y-s+E!Tyt{P?A&ST{~26D@HogW zIREMM=fm>9K$93#rd*k4TWw=&s~@xDK;Fx=w6tZ57Huki?q_emf6JCF>i+Xe;+k%l zKC9odWlO=*(C^3l<@fH{vuf3<e?Ong+uH7($N!`E=H~Q%8Ouv2PlEcd*Vn~Pnlve9 zKTA4j@$aKYj~+ajFm0Ne3d?<W4mPGngUU}SHJuM`Z_i&D@(Q#>ZeLAgZ0y>F3k`E_ z7`VE+3U#_DP3&+<s;;)4>$iUG+T4r`4NXl=Ev+P@nO0U-lhu4befeTyXxOMb@7Jof zwzhtG`$c{Sh4=4R#K^$l@ScTLV*Q5c3SJ%_F}q4Ke|~xjDm7nSUG3f{V_E&}&5<KV zetv$w9NX$AR#w)x_x4I3Hi(S8IcLrsa8Gj0moHy-7C%ptFw3~0U^UmS_?b_1^leUI zH4RNoOA8ATaq)gR+gpbYDVdmv9NzHlTUlge<TnLTQBh7XP!T$L_wL`>b8>TYA3l8O z-Y0W&Pvz$BZtnO0oJ>qi-rd`~JNY=Dvhrfv>Te$w#nx@Va`kHN-Ca|?mde>yUAb~a zBv;~qp)45usq|Kx92pfA6%rB>9}g-EFMt-{tLo_JC@U{swaQCr;xygpWvf@;u6|X2 zz?zGT3p8Q5`h2kv2g?m{Mg|5J@y6)Y*Bca0oj4J(IqmF`PT}wG?rQ7mo}J$<CMvo% zdb?jp$d?0+%vM%be|Bc1`=}Y~>FH@`oVa`U?(yU7Y7U^h%)oH}08fN{Xl(4>+TY*S ztXU(h?$;x4KX3l@Ygey=mgFZTJ(^=#e5_YmTtec+_P>3%Z{L3W_;LCBd$}1I9!rDT zc_a_be+?R+Vqj=!ZjbvVE7mP4ES#K_v}o<xxwB`Ve*UWa?7e$-_V)G1dL;e){Jwqr zCMhXtGq-2$+O@V-Usg0W9$Xu}T`y*bfVepORdKMJ9@s}T-Pmta|F7ois!(QjKAWm9 zFV>sKKG78Go;qn#(Vrh54;^x1XJ=1Of1Y@_tuXt;wr$&9UtfRx*s*6%pWeKAb8YNy zvHA<p9U3YN7+&konl<a&o12qo%#aWgI&@U*bIg~gr>7S`KR4I1c-hXKGo2O&XowUS z7k{hExclkTQ*W)QUQ2`I?dxn(Pfa=6E$%<ttatO<CE$Vr+}8Tl`sB$I(5lLd7Yz*z z0(^XUO6Syne0qBNmoFt+Q>(tei{&}|<;#~7DVx@<Ti4ge*Xc58>eQ)|CMiwySi5#D z@BhHKxVSI!`S<t9n&r#@@9TK_<Kts?o(6VVuq6)pjI0sz-{0Ncy*2x~nYnp;d;904 zX8pL;>(}c;c9s17^>ugo`xhlu$;rvFv9YzaduPm$*mr&M957h7PA_g%W>%KdMNqGY zfuTxW<G?SSeYqbXT!tU627wpM@9r+oe|u}Iu)5!w)2AQbW{U?0K10JgN5*T{L&C$^ z+1Tu=zPxyHa`Lfb#~^JW1_p+I+}{{qTi=kbdHMSF^JmYTzCz4&$Y(ZAs6Dbd{e0Nk zsHMx6O`AE>vf@L+74SG00|SFS1M7?f**Q6PHYOjRsvUml(4jSJ)&v{}dzXRXkBE+= zNDgR3<#?Z{xOn}qFPb4x=X@zLU{+h<<>hs4ZS?g^mq2YkqnSNc(Aa%&-;q(RBB5EI z;l_uxyYBC=|NrlAwN&r7ul6&1(qdy}C!aiG;N#_$b)bP!MaVNQF3!=>F)}hT7zB!6 zTv+(()vFcn!T$csEt0_W?A_hnudlD)zF|WH?>>kBS8m++@!(+dnl)?o?AbG2Kc0)5 zn_u2eMt_Blj*f_k$P>`q;8Ryu(0swtrAwouqi4^WWx%s~-MV$FR{i?*HM_F1vas;u z+uPf_ySnUZe=Pwg`4^qS>VETVBwrbV?EN6scr<C@IfgpWNR52`A5eq*!-s+lL;hc) zYLkDyxVZTB_4V<)%hqn%bm_>EluJuI)zs9K-FhZWneyi02~}0qetG+S_5bU_!oqTM z*DhVUbnDiyS5^iuU9x1yRC$mE4ZK_ij0ci7CM73>Rtl88y;b`98YidYYmp238zR=c zdGqG;^YiNJ>XT2VWM{vAd3ia%v{_Gi_?q?W_m{rD_VxAk{JXnMi=KE?SO2ywe&(PG zUR|Zv#I$BRXi?It(A8J2Ugej!TeD(ChZP^gpMc27%3ohzzIc(5oBNiPTkOnS>u@)> zw)u=ReA3d=(wv+QU0ofntE)R*Ki)3!5KA4{IM9ZQi1)4eAHJTq|KHNu>O0$vw^WAV z$HEmWG{8$;FCRU6^z2#R&`{A_Ikx7BQ>K*s`SJ1Aty{g)=C^L#I3QvI@@W-Q-Q*Wb zCrzGwyhl=5Pw(H8lfo<ZIn;l6bd+0Me7a@vGapD3akhEBTU>3TgqoJtu7rb4TefU@ z@#4kl>H44s*^wh#wr^j24xFYPS&b9+`V|&_ytOr(okv1IOl;ZGrL9(c3^w0iTwHAb z|Ig>g$NL)_8@FxSwzslt<%SIg78Vxj>c_8Nzkc?tZ$yMdDQE)$1BZmhfvSnywr!g* zVZw<MCvtCZJIEHlz<$NLb@#Sp2K)J)J2%%l{mhI;t8?o?jp;sF>v?vyRZmU`R+xb| zoZY=ty+89^{=0j7t;^or@SksITl-67mHvh28zVs52MQk_<CU|qFgFixSf$T%*u>P- zf1V9!XVcTCPai${^z^j&l}=FTC>SItr+v}V()#oFZ~Xo`Sy55bygL?G3K<^k{PX9} z)z#svSFA`$N%_*ozSqLI?9GieYjkRaavmS+^`5S$D!>6*KCobWvucNi;mk9}>F56Z zd_Mp6wYAN>`*wvzM@PrT#zsfqz5xOr%P+SgHmoUix&(!W${H~23lLyv=ac2)=jZ3< z-n?m()7(~TEiEk@Tie;QX8FyvQq|Y*hve%j(;uy(Gu8d)t%=)Pbz?)~&6_uy*?65~ zmzQT|W}ZBG^5p5$+FD?ssi`>8LrY5wyra&`)AQu1Q`@#|F)=f{b{z!FO-wFim=qQk z+S=M0&0Mp5d3sjXsmrp}jO?#ozqYlpiHeGPcYnXWx_Y}6-*pX5O;r_@BS((-%(MA< zq*Hj=vSllTK?T%;?@f{hEU#X@+Lm{B*0gD$Ui8Y~<%{|*M;pvM!_F^vXJ74Xuccz* z;{G!X694@8SmC&I<;tJhZ=bz-{rY3m+oRp$po&>v-`v!6u2t!(sZ*zJ+GHf3$5`_4 z;$ru1as9YWDV_WG*T=`M`u^+d>sD^@TQ_dx+}$OrwgqJS2j>%927k(*9y)ZWsj2DE zp+oxd`!2lvvTN6_Y17040|VKb6}7aw*6U54JXv}2$z5PjRaNEX<>kRt>|Io}Y5x5A zlP6z3)+_Dm>Kb_br6?B{S5k8F`T6$imoHCGO-;?rv`jkEG4Frhy$cs6Oq@7z-n@CU zX02Ma>eZV!IqB){DndIaNtT?xxY(Uv)=ETL+Pdsb#Ffa3)e9FUetmT{et(^9`MWt= zwwOTIXO;elYPfps+P&T7{a#C#EnmKU%a#|fU%!6!YSPIRqnT^gtkKcc^;Md9<ml0l zlW*U?{c+NoWy{)PSBZ*>hK7fO)_X)n1!;)z^78I$eZTY3qerIM*E%{nWUNX&f`f%i zWxh!8xcT^;`S|#_Ay08xSy@R*NI<}Yi(89|i<6U+gM)(3oISgD&z_#1o{AF154>XC zTT@R@d-LWEsK0;W#Dc!V>g{~8poI{go{}~d2CsBLdE-Uwk3f*4)zs9E9Xl2l7B*}4 z>|hNMuGT{zUBZ%+lhe}Ds;aD}dgbQi#B4}t+`M`7wrytR#>L{z2Q3O7IHaVc6clXO zyVv%W#S2qY)43Lfk1i~9zP!x$^OrAIE?<6pzEqOOt*Gb|XuO73YD?zjWuBAOK0e>| zH_YAr_$<?GEp6@dbFGj6%Ue2sN6pVq%Y0|Ai`mI^UJ2B!T3{?EmY^f{`dF{@#fumD z<?Xg?-dtQ-YHDKg<ejRPme!+3kCKv;Jyj-kcb|TAv|Ck0Wk+@AJa2#h?_a(w3DBtj z`*k{a8&`*+M9+o|8$Ns}h>nhqkB=7>6;(0JyR&0s_I16)#D}rF%MQBjvbl8Y)~h#f ze3T|CDJ%a@Z$9<q%NJ4YFclS*13lWHfVxo;)L=OC47a!*3p+c%q*2P#Q&Ypj!uDTs zT&Vu(^Jo7#78B>p*^_j%D|B_(*GcaBA9(lO+gn}!<wYPfGxL?g3yXtR&YL$cc)8!* zJ(b4q!=(T1+Fkzs*N-1PlE!Kl781MKi^H9r53h;btRZr0Tkh?EbjOz$7rXcM^#uk7 zrlqB=*bH*Sg761L^Yz5KMWv;)Gcqcko|-yi#*8IPmb|>Y{PV6~hYZeKxL{yn^5tMN zdx=%;l@)=vx8-JMWIXuly8A$ik+QO~y5Ag&vNtz&m%n%V8X6e*@X;e70RaI~(b5kO z4&Do>O_WH>%lr4?p>uNb<HE<sTHD%;X8K&|{Kdi6Y*_#A4`}V?XVCJGjmgKCEm@)y zyX(u%&FOHLr7?c{^Rw94c=PJ;_5VJfw@*Jm?`i$jg$ovZxE^0`Tl;H@gF=s_@v}p% z+%<d+)t{c6T;e&|$k<rkrsBcNmz;N3tdH55l$Dj0m-p|%LFVM-<ST{$+9yny(B6Lh z@9*!$MMZ1YuC=fK*JCyDK=Q^2IXSt-?)~3Be|Da`G+bfw$>-<hZr;3ETT9DnF1QAJ zQJBt|l$`wd-rj0qVPR({C(xSVdHgquRaI4AUtgb}m1R}*<iv-Ehkq7dymjkV?(J=N zcbC8a@bK_tb^mAQU8^^L`}S@BzhAF!ZOwjuZtm-+y+H;%-JP8`_tjRrxU@{2D*8%? z>CExt&reU+H#9V?E#0htE@0)At=ZRuR)#p<_W<`zZI85`oY~GV-zRPE=i&ldske8@ zuR{ht(b3kbs;Pf}eKj*P3k(db*^yLKw5hYRbIzQYygWV7K8?Ng|L<M7vSr~yMPuX5 z-^1f2+IH^P@nH9sw>LI2n`t~hb8fEn{XLb!va-Baubb=W>Tb`wo0Xdz8y($k#SKa) z0k2;2M5LrV*;o5JDJiKcS9|BGRa)WU*BhDH<!q~_xF~&mB$R)DU+m_z-W4leJUraa znw@QQukzcQn}2?Oc6M?~J3p`2%KN*Csi|)KzBvvGF7EE#9UTk$ls)ufcWtTv|1Wxb z-q%BEOZFaVWM;o~`SSXholLA+3=9kx@(b;l-Iia@&CSifyX)(Rhlk^$YZE1wEm$yN z(xjw>1cSmyN5a>~6_$T^_Uze$1q)tYUalX%&&JYHa+Us_z181ya&wcDl33P(f+;BI z)0vsZSy@@vu3am!k}Z{K{P^&2dqYFRjvW>&_U(G`_N}h2ZY_996XfRxo_5w7&(F`- z)zv+F=FGYI_WH`ohwu8txGM-SF)<xFeE9j9nUkkZJ-Rk=Wyq@^A0KCDWzDmzwW|MD zlgF$50<<hsR68tYcUkVEBb_TY7j!r%u&}eApJ!WrYfEPQz8XhacZMxnw^~|Ry}Q3( zeqZyCa6v)Aix)3`e}CT{yyu)DqhJ%u$G^Y7Z%#jdZ%5(c$&-ckjXs`xeSLjyPEJ#E z^V>IXs*L<9D=Qrw4*dT9zF*GPD(MJE-qF|0K|w)gd3P$_-ZBjh4ZRY%<H47gm)rSd z7X_`{o07gW?)2%?-Z3#Y78Vkv0tY|*`B_|D{rmU#_lMts=2RT)ue_DqFkL_X-?!WO zzrVj1pC`KC7q%8)2Pm^XJluYNSE;s!hK8Bhw9SGac=xIK&PvJ30`=8a?6W$3_UzZM zUw!@j-bsVT<kziR_wL<0Gcz+?UELL%zr=ZZdRA6eT9>_XkabDuk+HmV`Ev2iO{o`N zgL2u6_Fd-8-~RpmeZTJa+b=IKH|^fVb9lr0`2Bu!txPpEGTz<UdH2_Y$H)7_*G9Rj zO?Gy2syZ2VXz%gU)Ae(6b0<%l^yTZ<!1RZkbfdRDdHy_pPsK$3=q~O#vt~&pCnsx7 zwMsc5a3zwZXYJazdn!MR>Bm8K-7@@GCCwTU8aj39(x>n4?q0igZRM;^e!JRVCZ(^g zBp>hdooVzm{M>Q#AE!>7u&DX*VTtGD3R(XLQ>IUkj)<6JSG&u6d-6kx?xRr~lUiF^ zTrx5=Ug_*Tw<>gXNonccy?X=M1#MDOQ$@H`_4WP3!o*5J>j@Y>oL{f!xa9K7YuB#r z+qbWF0VsjGx~f`Q-n@JF@5#yP|Er3Uk{-=4On&m@Nl{VJf?vPnCZ8-REWEiX)qDOL z$b{I#hY$Vd*>rYyJI`HOUisz4#lOG5Utbs7ZPnor6dwNl!-pH2Qn_C#fD-eA)$wx~ zH*eoQ-ypGR{d)cN%pZgE^46_hon2P84YYjLzvA;V(5Cw%M~?K#STbp^sZ-O?Sg~i% zpBo#KS2TYR>vfxLlzM7w_Vp7fMz3`CGEF`?$0YO8ySuy3o;@3wE*SFm?b~C=jveol zmA0?5fwTl3Opc$$XkGNg!`r*Nzn_2o<qtC<3l?HxV)m_f`pCO4Cnsmmo;{N$PhR-z z*G%j3cc49c?X|sEu3YJpv3&I61qZKXfqTE))$7;WU#(VW1NR%YmA#Epo7@R0mVUTc zXlSf>Z9LDu{@-!=`Xx)2czAhzQWc8tmAAJuHJ$3VxHQhreQD6!H*cm)o%;Ck<AvuF z#b3RCoql#!>B~#1si~<~B7Y>_*pT@C-rn8S-`{P?yd043*yFc+_l_MZDk=h<E>|L1 zX1BE+n`>P@YxZpSUa3~7#Si1BDVUj>N=i$+ySsmXC~EZe>sQctPj9cRaoU;X{`1Xp zZUjU{Ny*9aExo?~)2B~THWdX42@0<i{#?Fw%PQ^6j2}NLoSmJoL<Zd2obDeRd-vR2 z>p=FG-1qj^+b19ENk2cYv!i3dIZ(TWVczfQOgaVz0U;qJzrVe$;cjtBOIz08fBsM_ zx3jY|Gc)sa{dhkGfq?c`Z$EwhEGsK3Z(paQrq*V~9e;O6Ve<8LvE}dXyxeZDa`x<5 zHa0d(OG{7}VD8fX4<9}l7#c=y%aMeplAY_gHY{4C6dirry<e`gyZf`TuuxxLU;MtB zodpjMotG+VI2WNaZRN_BeX`a%y1Iesjt9=2%lr4|C%3qsi!4j;;dXv;aq;i%?EinT z&1b3p_^5Tlh4p32KzX~N;nl19Z>z)Bg8W;*VxIwzb<vX(?fmk$ZruuC7vy<<ZmzUZ zipPIY+P1Fv@L*f+?O*BUecQHe+pxjl#*gmZCZ?wDy;4)BOlbixPh+Tfx12R1DQQtp z&zUnbjepK$Q>?74%+JriG5LA;hKMzwA(?x7BufQS+IS?Ba&u*6WqYkSn9|S9Ss0*k zL43;Vn%Y`tC#QhrpzOhL{%-}RQuk3KGc&u=S5q1r8UGtEymalFS<;b?En7@@d3moy zR&6~!U4OoH`MW<qKd)$B;IjClhRCVY)Ad1Jf%J#k$;po|FZX}_`t@SIOYFXLKwC@} zFLv*DgOueqUmi<tm@-9#m$$br6x3l>QhN0C>DK!Hbypm#c7vt}6%-gsxsF`9az#f+ z=h34_0qhS~KR-X;+rz`*>rv&?)Ajqix}4^Mlf#~`k0lL)gD*3)^GQfcf3_EhTDx}b zuV24r&Ybx-C0U#A&aTqe4-PhirxX{2$He3$Cr_R~|9<@~#dWc}%l`cMsHdm5qWOz& zZ*Q-%TaSj0&YS$Xu8a%}4Ruf1jT64VyQ?hJ`F8`TK=Sd)`TFW=JHNb}?2_+YU0qRI zvqWEs>^*d0q4U+NS2u6o9LWA~a$jHHl`A3E*49@Xf9WVq%*e~Ddwh%+eEtZ-0cU%S z1B(_f25s5=ud%mf_U!1Ini_X^_E!pf18Zw*%gVmx@BiCo<&ppJ%^MkM>2535`Ae2B zmzI{E?4feS@z*9+Zm}<)murJuXZQX#)0&klHEnJ8{x`AzbMHVSvwN>p>GN~4R~)Mr zbBpWUxOJ<mqhkTzrRW>CZpH1d+q-qEXsJNmj*5?u{`~wLxctTAHEY%w85v3NutAgi z)O_v@r>E<mpJTaszJ23`^~+3mshXKxyLnTxv@6cV$?4FgOPl7~2u`0i?c4A7`xpCN zJl@&W<u}K|(AZeGQ~;E4KAhUldSj+>`UCSfGmX>l?XBLvawTW!gnLVO?b@|x&z%z| zI7%nnOFh`c`Zw|ao$31Vt5&W&dE&$ZzDwUhhbUZMAMXy0(@*xS5#HXXUteGE>*Eu! z^rfnctLxb_XMR1Ieqp|Sy_vDGu&Ai200%28>)l^(=319)h;a2cajx6<Yw@Sv+2;9& zzKGZR%(wgd?Ck6n!61h<g#TO4u)F^Mza^fNfBE~r)eF#=^5siOUay#_sH(2+-5WPf z)T!Fp&AZUKX3d(tduu`aAX;v3&yS9Z^78cLm9e;R=#Y|{THD_UkKEkcf`SdxriHn< zxRg(xV^!)E7`Soc#)(IhUcP);`g-%rmoEbvYW;(Pf?{L$ZrC7DDsb=Ai4z9q=I(PB z#Rr6i<>lqATel9D5kA_pO8jX%YgYOyL~H7)wHMFLvpt<+WNmI<TvBr8+&M8};pB}G zK5EA5>gxLXpuO}zc5`xaetv$wys%JHPft%@-@fL@hnt(z^<#In?4J!gYT=Y4=nw#1 zUEOoLGL|e~et7)@`;^SglSk)IyZ7?r<KxN4dK~92+CRf2Gbk@l?-h9R?Lp^%%>ye! zv_ukiC_1-YxpL*owQJvMR$N~nudShRX0G-3Bb~zbHjNGnFJ8V3)R=O8eS9)#@7%TZ z@%w9ke^d3IrlF<P)!8X2A#rC%;o*xH1?}(OyH|H*MPO|FmK7^bT)Gq#6;*X*MPO!T z=8x{UxH!<cD*Nm08y#M}b5@%=b?Tu*hnm^>-(6e&i<7JM(AsS?WqhV3#h#mPW^TTF z*Dj$>7gN)%FJ5Gv3))-#-Ott4H6~`x<KIkojVeDq`ThO<Vn5J`2E)7``Ha`@-Sb;~ zv81F#VA;!1HQ!lZK0G`;ufO=wkxticG2OU5KmPswUD5fKSFAfUB&6i|IazOSZ=S=S zK7F#Q|7VkZO{Z`Di3EeRGcyb;Kcz_ZZmazK%(D2|p8EfCu#+c#{Q9*iV$I9T%geLR z{P|OpvHzoS^0A(i=g&Vs6>xX1&e4Cl`#?3*(W6K6@9*pF?2O!=C!20L-=>o3a{M2Y zsxL2|pP!H9-mst`qmmZ^ErC_iwzjtC<lcPz{Q2{T4+r{h-@3Ifc6VAXXzkn56)S$6 zRf)*X)^2nV5E3#nG5PZSJ3j}<0fRTEr|V0!eN9=XsjLhtbECKAOq@1t+xG3|Mn+xT z-H$6wViFS-XZpN*s8Bm~%9Z~c%bzy}y#4?G!1;tV#?y2b_MVzF;oDKY+%4`ZF<wDk zM_gm4c3nD@8^5J<b@p4eB}!VGVzvZ0aZl~&=qc6t{QL1AyW;2BGbN0R(<*HL&3amU z@44kHi}l6#p8r)dGdC|UDdE{T|6rVsYhCHyExULBesy*A?{9A>Po8XSWCU8fHB~!Y zf+H*-V8P0jCqF!AYBnu>b!E{ar8SUjs`^j+zyprm?4qKg$GA4UdzZ)6+GN+)-EC}O zaNzOBJ$v?uiHU7VJ}kiEsGoi1`gLmy3l?_v^3qa84kcaPUImZPP|;h@o}Qlm;)Zc{ zcD9u@F9(Oi?8@ru@Q@G>PtT8^KQGSjl{8+qXi-xmzZ3U9xi7wREClzSu@GtA8`1UW zRaItbX=!Zi+_pBhUm?N4lQ$mzWuAX;#p>0@8x#|ICQJ~}*VpfKIRvS3XT0Cfv}VT+ ziM|b)hA|DStgM0SjbnC~y?u1FJ0r8?+nbxWZr$3kV~5<^qeqW2Gc)h6{oR&lnte?N zw2uOm8KS^vM$P@_w|DPeO%bkECr%Cy3G=*|++5wQmwx~H`ufJkWXT^2TO{-j=;-Pe zTEsXw91yt8b7W2A<^l^DwbM$*-*P1%9SwRCe%(7eJ6n)NP*l`)epgr5qPOg?54ZDs zd3o{Va7dVCURttglMyt4fBw@x;N|T-b?VfaH%gtI4<G3iZohZ_)6>(=PEKw2&L{ZJ zv-$b=_jjHg58GAiR;<X#$$9hQg@gCvzP>(C<zu<aCm^8U`@6fK^F(rTo;-hUU;66G zLg)5%F*}2TgD+pY6ciEh<JZ^MjsA@bR<G99*MI;1y}#1Ly!-q9K03;+t*y;w$FY`Q z-p;_x$y7-Rw4MI%-tIcj7h5)N-uyat(>Ha{n$*xYzh-wQX%zpu926E-_x;`7gzZvL zk1k!ZM1UnTC&%S}ZcdKNZT@TD-`|(KEnwgi7%0dE+Dx7h@oPQ9?|*-H&zU15yxY&i z!@$rmF{wT0*!lDKZ{9q4pzTFqX>RV@9fgmLjEz@bP4@8cNK1QmxSjv`+1cWPf`;|~ zYQAi8i;I(MQt<Qhn>%-IQc{wkp<!59*u{$%L4#h47A;z`WC?iL_`{o<(=XNu2?-Tg z+}WIdep~KsH9ft1)(mp}{ysiF{{GXaPyhb)Yj1aVa6o`VMw+8b|LN-N?CjU?ohP15 z3G-?Cep=tt!{fxN(A91G7XN#;NaEC-e_PyorLHEY9cq+-`q;f+PFGX&=dZ8XUossX z8)wbBmEipE&(FzKyu2HFo0^!whr}KD;PO*mS$XlLOF^d|R907edwF?zd(XEhT(o)f z<X^jH&WtQ7DtgbhcJ101>z4b?^;#IPE$?oZLdU*+b@O8*BO(G8$L*<@=(JEoT>SOx z*WBFPt5>g1PfH8Z5D5<tXK^fhb7N!DQ7%D2L38u%mo8me8N9qt%2Z25rKQo|W$B6) z9%_@@FEN)(nr2N|xiT{;De1jGXtQ?P?z?*`H*eqmeUWQ72g{*XS69D&{d#47;C_|b zZI1s_FJ?+#Jbv!nIqmRuB7%aTQu6ERX)|Y9mc9y6nppARK;zEh=f{p8|ITsY>Qz-u z&C37(YQL<UI`!(gxz?G|8QIy3@9VW4J#ysDt*zM`qId4zoquyvtJA`opPxW23|qZv zdU1OsYQ5&N3YI=P!YL^^bH083BLBmO4|lpG6%-VdmX;P57dtv0oTTb)mVd8j-|MGO zm#$tN9U3}y)+{Y0rJ#TSgBuf$9zDt}t|#**ETQAyuh;sob|itC6FlnwMH4ospI^6X zmDHPWmX?;QR;{{v^(rqf@9S%8PoF*O8lRt?Ep1(<Gt=kYX2-(9jT<%?eC4=w<VcHO z__AfoK&Mv8Z{NP%f0oJ13k#i9gfvY|O3utMeEasT2-nfmr?WpjIqB-^x^(GMB_*YA z-@a|#x-~E`FeoU9=YNKV$SKes%0E90r^xN#p6KBs;Nk-UXHK1Z_44xa*w|PRuBBVI zhI)E-KFl-Ezqe+|k}sd0o__Tz%huL*%aa8cYCK<TS$J-Czui2G!X!t>gVXinQ&LkW zPnx75;^pmq`o+b?fB*cEl9q06ZU*h(6i=8sbt*?w&EH?5wNe5C7Zxv)sABx~;2?9> zS>uAdygWWWzAL{sfsT{d=ePHOY5BW5`~Ux&UB$=r*WXcTqFb+2tAa;KiOH>h|Nj22 zs;Yv_HAF>4F)}jh>gv9T*45SBwr$&?Lx(<n`gDDL{CoYAhuit>>;Bw$9({hE?dA;| zB;L47@A&nr%GK5N+SmWL^Y`D~S<GJR^ZRs5pWNAu>V(-#mZ-3^vzxsKw_<V*xZ7^a z&dPG?-_PFK-@ks_HZx=6%SVo=sHwI6s`B#cnm12QuK)e!#x4*zb-(`q-qP3C($CL3 zJI8XeU-*_wmoKkgz54sRyQfc|&Q4B#{Qmv_4-cJ7xGZ90?`j4wQ{Y&%Y}vBKi<LDs zcV=B(_4W02b2Bp|n}#kAl}R2doSdA;%${4>*w}D1{rU4#*l|Mi_B>Tp)sG)Otcl#5 zc6C)KPmOuT%o#Hlbi2R5xA*q3W1z9=g+C`<$h_P<Z=Rgh^80fvi|y+EbSRv-yxiYY zWzzEH>T><}H>GyZpCA8z?F>_KR@p_17V(^k6c-U`v0L!xy`RC9W)NWhs#(gLC(`J! zV)g39wW%j3sd`V-d08y(<m6<Ye{WCaXSKg7%l+s3`TEW^$-H!KuC=a?&XFTWR)F@V zdwO~CJ-BSpaW#2rdmX!`+V=%so}OQSgo9>K4}AD=-!?&4SJ%nOsrhc*u^vfvzd0Yi zd;zUF`|u$nKi@sRzq>nnZ<Xm>wy>};P!nF@$+2E(Y4f}#mnVUCj06V@%gf7Gt@iQs zJlW1Ke_{KDY$lGT51&6T?!Q=hBQxDdLPt(cE;skBr?OlB{LtFk+Su5;TeGi+t%(SX ziu(2JtaMxbq$`=fo;-Qtp%PSFZ0z(|b>Zb@>{+S`Dk?3@)~;GLY08u(VTGGEZF<3c ztMcbeP#`HODSiF=RsR3;&(F_)HEH{#n$rL6+qY}iu7Re!ckSwvwGNApwzjg8ioMz6 zqQtxLkDGvswzhX{>|76(s;a7Uv(5S24+r{h3fRw9yA8B0hp)XDoQ(wp1Psi~+ytK7 z+gm+r)~rX59*K#Gz4+O*ZJXJb`O<Us?w>r#*?w43LSn(}>WT^lj-<@YnKNc&<mdMv zet5w$yz2Yq-IBTd98FWEO_P$81ofY0o9S9wN;(Q`IS6vq+9+2Afiq{$tO#Dh!#dF; zCo4;;${tkYJTUnm%P1@&l9QjGzJP5r7@R(PcI)=-^5%JSR<G7>b*lXFAu%B#p`KTO z<>rRO=IPVJ{rvnuC+5|Cwu^pLVDW0-v0iC)P0h}@3km&SzLb=(bx(ANiJ4Q?F4v^s z<mB|{&mS)@uWj45DJm)kFZWB`k^XAupH-{0lqPB@DP4N(eJOo*;};!u_3-fU>lZIJ zUQ4**9eocBUOayHF0Vw7tFp4P<>F3_7un$R-kkC?R3@L?a#gw0Wzo53m#$uQRhqaW zc=?tsTNF5ybaZ@jb+oijoj%=d_w4cG#cOL^TwGRU?|xWdaqDL|3oC2p|L0wuoeRZ{ z1z8S0{>Z}gaQfVU)BGh$pe4W8*T-91SwZ{nOiWBXe?$K5zjp1KY4)`@cXnPrdQ{cS z?Ax84#UDR@e9`*)+qZ9T-n;>gsb4>K=8R83fPt2lmXgw=2M3$;^71&EWbA4zjEsWf z;_jV2`}V`b!|ML?L_|btzQ3D0ZCY4bnp%?rXxHkRHG8VR>-{?HSpQE@P|(-cH!Ur# ztgI|!!@a*>ZuZ<_p6O#|Xn1o&;^Dd0<)G6bik_a@o_~LyRjF4%fPt0OuXA&)pP!#U z-?qA}sOZzBrQYqIgq;Ok92^#$pBw;=;IjXs2`o&FE=s)H7`i(<Po6mO;q&L&7KKV* zU%8Z(ZJRYqs_M;+bY>REV?C0KSFg@aO?~?4k<)T*7Dp8ol~boq1qBDMkJ%|CC8edO zSNH0QCObQ5ao=t5S&5O}-rWz+`^yKP`&%sQ=;+AE$XHof$<EF$EiIjy`EuH{X`i2; z=U;l>y8PXZn>SCMIKjfox{&!*#(tH*TO~PcZEck%R{Z%<7#@Co#*7*H_xF9xJAC-? z;|C8OJb%7?<;tJm-rnA^W5=2`YZlhbxhEwpoqm2^Z`_sC2xn*JQXQqgT76Zf{Eic* zO%uDNTzc!I#O>R+qobl$tT!<;3(`OL<;9YP3m1M@fAsh<Hz()BNs|_>`+Y{@R^p<v zva)tQ*+u(YW!q-WnsqB)n#HlCq~zI|nav6wK|w-I3Rmj)`OY>2EySy}sr>Xr(l{-E z-Aq4X!-MGuf4yn%`|{<>sZ*zFe}DV<`Sa}Av;Y5mK7V`O-CMiM^)Fq2a6_?)3A74A zV%<OO0~dbJO-V^%+q!q<%FMjHbzNOv#l@eyM71w`UH|URPUpE+d(N|IXlt*2dwYBE zbIUjDpDy#At)rvU)ZDyy(V`C(fA&^?pEGApO-;>`rAxoRzrTLz(x<OqSHHPo$l`e9 z=+VuaH-nA`dUJF0mMtbFF_X7!G3j(!w3ox605s;biXl5cKRhU?sH9}ercF-zVhdYZ zS~Ax6@OCX-nwpZbWcTjheX`b{K7H!x?d_Mh@B4FK-?Kg!wA$v^mrNE%D{JecM~|-j zf9n3e+U_0@P!ZtZ<Kx?&fB)X5RM6!5_Wb+nR<7KcbhPWmiwt99<69E!d@=<^MYBvY zC+*nr1Js61PGxZv5)ukq6Va$}VsrZWJ$v_7Usq&4G9_y7c~{mO$^ZWRyiy8U^XlU2 z`t!$+YwKcn7d}3AeSN&K!C||#a)(_qkJkqsm%o(RtibX1y((Ahqo+?rrKF;QgPp-= z{QA^pUtZ=bt{-=2S7~-c#EpM{f4^M5=(2ykmX_9%B}-OJ7dYM{85|hcX!p+6qO7B$ zvT~-;6hTm~n6oUM(d@?C)|Qq&S?e}A$>5{MkK0#$>F{H|a%!q}{{4Nvdo!2spT@?< zcJ=DjE6Y!vI<<1;$}PM#wIERa{rrc6CZW~U)?X8{RW!7;f<i*x{I%k1e{JY}<bbOS z2z;rV`_21O{OsW6esir#yM9gi7XS0k&f+V_xy5vTJpG&b_pIy2nx92&_ENfe`y*~$ zz1n*CVTX%Sqr--+Teoi8wye)WS5s3m$@OCL42`c^s&5Uh{JZsK+Kd?$e}8@L>ERI- zojPZZOv%a2DLZ%W?C$pV^YcqiR(>nVqIK)znUY@%bKSD<>?qv2b!&=|<ln6yzP`Q= zS}65Q-H_w$+qcd#KSAfZF`WByUqxopq)BIHNrC!g3fWfnwZBB>)-@ZKmX!s)KPIX8 zYt6oZJ$v@Nn8I_$=zu=w_Kb{-1#>MYyasJg`+mQ^{@a_I*Vo7Q%h`HW@1Nh$a6o|D z;FUq3P-n^0Q=+eC3f@Xw@ptRXwZH3c-MS?tESz~?NKi0xf8E}xQ$zb-&kwos@r<-t z&VtMQxyHAymzI`3efsq8-@l$Jm)_pq9>1p|F*Wt*jq^{YyWP48S{RnVve3`t{rmUz z|Nc~d^Qqfk`8iEaPR`lcxkOa|+?RKEtxGC192N%f@bGwfd2R4JxU=lt9Z6~F?ozI4 z9esUe#l_M|>gVU#1_uW#3vm4Y_I9>ywb`z=*~^zdU+O*m#dgbr2MoVvXFWSJGh_3) zbLV_#n+bNhsH&>U%geJkF7uu3_EyE%IM~apYu6+TtBL$g3NM~GWM*a>85wQbw8?+I z-O|haxtrx|Ma0FWrKE&7Sa^AR+4<!zsM*x~*syuC@vj-XmPjAw;^w}{Dg+u*GC1?c ze2b2m*|(RMm%q?8XK<Ww<j9fT<?rM6)kwZpkU4nr<jE^nME1sVec4v=@sa)iKgAlt zu0?CET)A@LLV()3R@1aIGk$-6pPi8b+7(pwWyN{!g;&hZ+|s;W`RB*St=ZQP9Xhmu z4?L2s_B)?rQCF9jrzdAypoOoeCueD04MRNtFVHMV<|UOi!5dnpOu2GFye?u-MPXuM zqPO?yna1fZE-n{R8LD`k-)=tJ5gH!ezAhegY)C`mv;9myo}QgnyiyJVOLpv#;4;wC zH~?Bc_w?~&VG)rdRvg|2sZaMhxAR$AS@p@;{(8Uve_v<k%g^slHExl#%*xKr3<qye zIk4g5eVq;_CZ?pMr1<@Hvc_pVZH*T0VPV%E9&X?0cTf|wQcupNqm+v;G$I0Yrq!C@ z4P9&2<b;M^6|kOZo_|mOdYrV!?1`Z9sa301ML=d5K7YJmXJ}&L<L!M|i_3lG%9Rfv zK9sbrGP&kxarDQ>$Mt`H7=D@gw|(iAD<QSDwQGVmaOvyo%k}4HXCJmYaUv)#&M!SI z2vkTE=xZGKHEq_ctc;9~Qm%80)~}yGabjaBm*13W)6!B>T1vUZf&v0G^!1Nh9X$~g z7Pf4`f`(EqkWPd9|1}SM`TBLfO=VN4NZ+Js)7V%e_ygvD@AOd<7Z=aY%1V-LX<g<s z^V8|2>llRtHKypt@9UAZ7JID#(w?yIe{h3fr%Pq!PtbVi)Hdgm@^bsCFBua2TFE^V zCth6a-oL@`U|~^FQQG-=XAd9#{CZi8x3lx&4I2brizuI1?mu76XGX)}htL%8>~-ap zjMUVx*W>FGg<6Z3EM1zJnc3Ohoh;k3`NYYS4?kAS(AwO7<Hn7rr>7^+ZQ8obcXn7n zKtpMl;F1j+3RKoNvN13)@Z{Ta8*p=XuUN5S-8wy=O9dSpHW)}tORotoP|D8EUU5FN zw5;sd@#E{GxAVPLSOZ#7_UI`0n&2LVn>TN6PCtLl3N%5*5V0toQB6@1bf)-~D<M9Y z3Yw-(n|8ckUO#r1$ZLf;Cr+Jub!~052p8*Xg*lJ@{rwGE>?zb4!JeqAsHhkj89Af9 zId`6I^|G~Vdm&-H!A0JD-Jfr_^TXH2rPhn^2}(-tOghTN$jG>+xj-p1Gcz>w>X$Di zYnltXCKhijIoQN%z^+z3;pCHkdHX|JA3)pA3$D5|re$UQ`u6trrAtBImLH4>55EpN zy*Vak1K**YZ{EBCbwo?K`T}BO=gyy>pOe#5Do|!%V$z}+apUpL&FP<?oo$u`9rxAn za8*B3Pka0EyLbQo`1tsZfAh{4FJ4F*r)g+vCd#%HuZ`PlWpDrg@9*ys><8ll0xo=e zd%Lo-awFd%zBceag0_pxJ>&zH!qx)hfOascdQVH33(m@GE`7gqGb}9Z<;$1z?P`;X zrE&r_MC$AR->?5K`&vP!clz|}ckljva&mG6`@tKaT?va8$;irX<U6FMq@;A})F}f| zcIi9&>*e1$g5siW<34T!8@c_}-}CD0>&=!Q3@a%yk?Y^Sabst9_hBn;_sv_k`uh5U zb|+tR+)(oCOC~!zJ5ysrsld0$tyx#!-rl~^&+ts`j}MLx4hd&w7)F4$4KgsS{<6F3 z&9k$!KY#wbdGqF*GufPVb#>YKWI8%KJ3Bf!`1$9X=gW!vvhJ+;`Dwxgfo*U3`j7A4 zv7_gV<Ej<%_H`|-t)K-nuN87q^YY|mWqV7z67`gn4&AvU^BUY2Pgq#TZD41&&p7?u zn>#y;Th?%vJvhLqt-TtwPI;!0s+QKPFE1~<_sK+V$q0;#le>1&V&dY(k3pNh-ZX5n zt^T%S$BvH9&P3UkwM&*RJ>Dlfd;a|X(g_cBtgLRGIm3fw35(;Fty@h^P4#1U9oc3Q zp{b?i<>Rwt@9*q)cXn!OYR1LI-QJcPy(J^i(UI}>x4g{E&chFFY;1UVcsN)N%`(lF zl9IZx{oUQ&%U7<{)YHpLO#Jxyxj&0z+1p#Khabko#OUbgu&}W7^!DoN>Iw@BzkU0* z&_d?+zl}eB{yab5{{53DSMJ_DJI}VLZ_l1RbLPmTr>C!JPB?Jw+P7o9(h<ugwtf2a zNkv6PL_`Fd&%+j7`1<$v_mh*=L1#$S8Lzu`@19-xyF2at^53p2SXxGUd!N2@=g;AG zew|YrDnCE-oUA4)CKeVR{`%$1+?$(NYisZAsdRO9<>lr5_U+rdckf<+W>mVmx-2a% zK?{#|m1wp)8Je2zEqu(@z3Jk{#KUc?!`E-B-!Jj%)vH<7<$6}~4>+z|y0mD)f(v)< z^ps9`nECqJ+J_GxLQCfCi@TZH6gs9%x$^Y%^y};6@87z0YF^WXzkBxV`SRt9m~PaS zc;@8f$AA9R6c-l<2VY(ry}j=Dw_eTPUq5_UFxNT%>#M7;UcE9hGTL4KzOSRhA^yxM z(2<Z`GiKaa<~w_yU9DH{n#GHa)6dC-hF)E=L}gh^qEAA?gNe%SGrlrE<Vrs`Conkp z^7ZS-tvJkDT3V**$NT-QV^UL^=)o^%6S2EY_nIT9_&pG{U*muPi=mNG)UJ}31#{=v zDk>^!Yo9)UzQ4{`PEM}4_;dLBIMAuI?(WBL-=1ydH6iit-Mb>QLZ_;zs$OI-Dk@SD z;@o@U!ONGL+S;cNA6~qAb##2Zf3A+Qvhk6<#;tSa+?lBCZkBVyz$s7U%=z>C3mzWg znBR2&?Af<RI)#;=#Lt=A)ZDyw%^DU~){T%#{MxTl#x{i$3!U4!xVYNxXTIl`w|jGI ztG1R_*ZleQ3U7b@{3$Cd8^5<oRZ-Ef_}Q7{<9)nO4<!TyT$rjIzQTX?>eUz7LqkJd zlmcB`R16J2{`&g5U*7)Rt5>H^om%u|Kbsz3d$Pqbfyjsm&|>20qHhcwlqP}>i=Azr z-zR0t^;#!lmPO&CGc%2olan{{8LcTPD~sD#Q@P~qYEWCU$A?+#z>gn4l$4eE<!pZZ z_?RsAJaPW3SFb>;vv!qa{`v8-`Bs37%aPNkwav}9@7q^*YfI+Ag9qo%oy)`W!jR?T zy}i|}tgNP{rjCw|)22=1Xe#;d9~~W?l%zCw9lRfEo^#`X!z4wk>ThrE?k*1w3c9gB zy9~5zZJKWMv-9)&O9kG%y}KK<*uCT&N5erbe*Wv1FHfF4`7mT=B_hv(Ria6usHljO zle4d{@BDoG^h||s3KKn+En9Z)-o0bTj`e&s$hxwkp`qc*l`DV#{Lu_v23j{-W_Li& zS>XEG=;zO#nH4^A;pF5j>C_DlzHFL(?aXZR{99WxIhtyId~o#kK7IZA_Zu6N8yg!p zr=4Atw>$IlGVkenxp#IH{{Hs1r*_Ul0TB@%e*XL0a&Q0s{{H6v@^2r$f6vd)FE1=S zXvN_k5F8vF65`|Galq<?!NrRg1qB2^=Zdar2Bpge*@9-P-nrAKr>CY)oifEF^ODN7 z)TFK7zLf<BUk+Uz_V&)s$(pj$rcal*tunE;zJ2_7`$pFgSs58M|9NlTzCAm|W=6%I zA0NNHy$w?E=iH<A*4Ee^1&XSwt}ZStuXW}q+1ua0d9(6~&XsdP2M-=RKi^)Sle-RN zHG||2QG+XMA~);B?b(rYbJL+iPGYP{TaO)c6BZV>wY5zPjpu06(9nq4S7T{oV`F6% z6&?Ni<Ye_TuV!{jNJz-oR$V!Aq@`@rghT~J#fMK$PVVgN45+<0%d&XcoH=(s?AD+1 zS4v8%Pu~9B<HyaAN&gKeAFOLwSX5kW4q0Uv8yg#zk~H_#tE}MQ%e>NNJ9h8hoFN_= z83{T?>+#3q{qpneYJWMHZQQb@r>Dn7;K_%Fhws$Mls!Dux?;tOmKGLJ%_XK*@#n|J z$&-V<yiVQNn7r}ap+dX*e>o{BQ|8atS5s>%71P^R{QTU<$H)1vXQqJ~>KCMyL5T)b z{B2J2b#OTF>gwv5^EzGc?XTZo^wcXp{{Gk3*Ed(iYierVyLV4m-S5ly@8Ll~NnhVt zcm)IqL^XSQdM3_I^#Dy(9ha{^a`dRCws!K|R%cnuq9xn5nQ3TnyjHmL>gVU@Wo2bQ zfBvknk$VkZ<DDSP#%;jjsHLTKZB1lyP7Y|xt(~3SvtvoSZrq5-&wmfu0kSc@UxZ6l zP3_qA>*4P1&kr;*fBN+4%}srE4u1acpFewhcs#gQ&Fbvr<Tux9>Vydl*Y~|pn0(SW z{TvTB_vK5M4q0)3fBEj+wTl-&e*bQ6VsZqs^y)@>!S{xXQr2ZTZf<Vg-rd`_l~q<+ zepWJ!tgha@diCp0Vf9IqC*KUKRpe+o{P4`#v+?_CI@jIZQ~LVatXWdq-pWQxo9FRx zaTysJR{s2?dM%Qz*J+`QMS+5f%9D?ej|bFVJbwOs{kuCmWv$B&O!>mIqw4FcC7zQP zfR7k;lZuOvk8d-7_V{u1ww#$umMrP*J^SL~;;UD$&J^#ljN4bUGwrNYXz0}q8w`A| zoqziDDd^^%ZMnCzva;U1eY<+qs%K|rDk~@)_@|PyY{?Rn{Cj(PrOh9Gthgol+49c! z_xI19Ib&sQt*oTfc04y{4QQF`v}vHz+Y=5lt=U{KxnJJi%F^=Sbsh!=28l+A{Y-9K z%ii8{@0Yu~t2F!KB3D&aRp<8;H0%ETdHL#9R(5vvqa&Tl?tKZ?9+T$Jzkl)K$E&Nu zg@lAIFZZ`EdlL~IE!|dmBl+8#o0gWAnwpxgudM~0CTVqUy>0EU63}^*)Ae{cIR!yI zC%)^TBR0TuhicaxceuH`w{P8Anvk$y%^IC+;CpBe<oST=rkMtbPBAfay1P%W3SIs0 z$K(EE$J~~coSw06-MR}GF3dDeKLx(#Kw3f~L848p(c#0VPp3|vT)BSz^($9+`1szv zdUeQ3B)hY-)78~AGdsKZ$D2R7xw*f;zrVjR**zv^&g#|L*9v#=G&<}keLZdO-rCq$ z*=vzIns@Ksy>8vRRiUe)4GtcI<qXbiBQ`$z`T6;uKYya4qS*Ol68>L|aCdk2@aR~! zEUl=hC@X8#^y%X4=XBLnRYe5^CQO<%Y5x56OP7ku%G&OEKmXvvg5Bls`M9}1fBLj( z>(;gF)*Z77^#A_u?rgi-s_N?Mva)YiRt9hEJ3Q6I#3Uv*_U)TDZQrNQ)O_^#adB}m z=ume^d6CfkF;d`VMox}R{Xfw5pzG^mUq5+rq;2JgSFc|mK79E69LvS)*S~-J_N?yY z_n^(A2O62@+t+{l{ylz2f#S8oh}Do~1;_hji;IhI?<&<+zjEy9)2E;l)H5<H%HM%j zxLzyVaqrjH*U!(-fB)=RTdBaguOA;DKiVz6eCg6&X>&eE&ON~9&1Dec?R^@w8STyv zMHQ8l<mAnDf2%k-IiI~-1fJ&6)X{nK^Yio9*Vf+NS*&g@ckRz_(7~VYa<j9!IXFN^ zKUnc)U%hti*N-1dmM(pJYb$7^E8?s>Xir8%Lqq!cd2jFUuRq+zYazooS>o`S^YiV$ ze*IcoTe~x((xGhC+O?)8CN_nSj$B&my%Dm$@yvz|42!EiKl9DV$jHe79Ywwn1RnNC z8dp?SO1}GWxSc;UGjrw2l{06~tg5QIcI_Hyiqflnj)Jms^7(nTO-)UWjg7Nr&5Agl zxc2;f`}r1yN}8G{Z{ECl@L;2d%BI}wtgNiZ`(&%XzM8sx`SPh#MW5>@9*@=1))v=` zsrdOR)z;Q_&E|q>)22;3+AW@cZ_mwp_n>9n0U>KHgOKv_@2kVt2Z87NxwyDYOiZp^ zxe^i*GG*%2<vuf&ban6EZ}au_RaI48x^(H$qeoR$RVynijf{-k+}zsQ+PKAZ1cZc= z{Oi7f)?|G7GRLO!)5XQ^J5v=@53gFiy1A)INm;qHq$DRNr>D0!GTin0l`AeTE-kIC zA3uKFxpU{tnKM6rF!;>o;qdj}-)dpu$tzZ9M9iJJYVqRatE)oY+}z~k<Ra2Rbppe& z8{rKXU%h#wqoD!X7_O<Qsi&u>tGjmPO2_rC0vs%kjt9@3^AqZHQJbtO(zRj*XisYB zKX-5M?z!SVH`edoZEa>&_W$4Cs;Vk>emR+M!lC6QC3p7M+w17)*xT1%T@~6brhDn? z)zoW`Jl@~m@9*usyZU>cr)MX4zvR|Un~Z|1*h-!}dlnTPeSd#_d|;s9Yn>a512krv z<thnqq@SO66jF|FX!m7wJAQt?{q0+~e*FA-^vDsnPo`aceSOmAc{28Ocg~zSbNhC5 zOpMHH7oF=DE(plW|9^3D@s}?pk&%(g%8M<FpRHK6N=r+NuV%r6^YiV!y}Y`*y5#KZ zeBP#?oTPf|)~$lY;?{Tf*WbT;*H%$6vE_O~Y;5egbLVt*b<Okdwd8|`GX(f_4lt~J z_Uu{l^K-21?ABIRyLRm0+5B-@$)5WEcBZCZe|~<xbm>xg`#KRJp`g&vsS_s(g4f}( zFg1Fpl$Dm6nwkCk^K<h`5P13cc)z@Tor+MWmX_A4RjaJ5tg5Q2&g`1RCNW{wtXEH- zh)7C;&fi?KIbreMy?3u&3yX;OacZh|!FEMZLna`gp|DZjzD~xz&c@8F?0BE7pPygE zS(%Q7$BrGlbm`KqTTw!tS1w$*aOcjQOP3CvKHYsSSxHIh(W6I?kN1ZM1T-9u>6<it zdU|4F;mb=)UAx5+=eFLRHEY(jb+OjT$9ftX7}kLI{4_K>Fdj4AR|h(IuCOHK`m?jM zch+8WH*l)?^P})+mnb`*OvL^=+iQ_Gp5NY{ziinuY4f~0d#lZ%rF`T9hQ~(p?P{%x zo_Lg%ZR_vv-?`KBS|P)at*1_T1qTOvdwcu)pPyJDACi~1uDAE>!^7<l>p{m`GE_A) z^=R*{{QT^}!DdlWQTIL>Lj!{YR(uTmFI>6u<jIpSZ*On^@ZrP7#qP<n?X6AC&7j?v zQc_m=_iUgp7j|Skc68I`&5+sZ>NhtwN*bpn$g(%YbMW$h{r-J_)z?+)*6Ce~oUwl6 z#=_InbW@Ce{`&e_NJuCGvOT)JiK*xH(j`mY+}!LQ7<lpgd492-Ofu^>Y`Aa=3@%?T zwzzwI#^lM#>FL{(kMn{0wU9tt+<T{WTN`h3^5gpdf3M%UQ*(Bf>9%d#o<4mVq0Y1* zUP?+TGBQ%$u4aaLeq3Ij-nGIR3l=U+e12|jUtizDhYtg4LAmq6^aorwK3u$cv-0(| zwaV^&FJ8Zvx2uV8b7On$!tg~~U;q5gn~|=rsu~&|US3?UEqJ>6`o4kdp1Zrt_3iEL zuYvY}8?0Embm@{MOSWv;vSi7U9XodH+V$)C`S~hBE0->1?LS^#T3T9OuFP@h{CRyf zH8%wTw_d5G;PV=K*4b(4>h^wBXSl<{wc%l#k6JtUn2tMV&g8tmw|CK^MIgWA&z(Cr z{ro)J@^^Fk`}^n4l`Z$3@Z;H8>GbsU%*>ad@!mH#HiE)4VZqw9y4Kde&(1c_zrRmc zS65eGKR+|`;lqayA3r|)upq@~rqe<WPEOw$28^~o;o;%)&GYAVbZ}fdc<}%Cr>CcH z*|O!zl`Ch?_^>!$s8<se6-`ZjTKM>wV5bXHqk@i(&u&k5clY4nU}xvU{qpu+-rn8a z-4{2#{r&y@tXZ=l1#47Pl#PwS5uOXotT#SfxpD>6XnF7;!QI_GJUrad(Q%D1<Av>~ zPI>Y3_fMK66d!+IR68s|_WAWwr%v(7T1}ZfTUtV5N6JZ|HIEq>ZmeCg;>EYOw^y!Q zDQ{ml$G-mGmdwi+m_cI}+#DQVGJMn~pFVZ!!r?E64jt<0=_!1COj1&EZQR}{Z*T6& zf0Sd&%fByn?@vlfnrBn#q$0!%2BoE?oGga|cD)7P{Kgt}Zg1u1v}<c3wZqm#Y|oRO z!_HpY#FS&PdhJ@<%1=+;-rjC&V`G+k>&Wrr?WIZ#zd(oR{QdpC{`a@Dr%z{peRXwC z<+~4WZ*OmGY?PFgtp4_9<F;*bev>;G80uE8TlenT+USJ~7gpHZyL74O;h|R0l=g!8 zlO|2Na^*@#M+f+ZJL&A~?8wN-Wy@Lj?ydZ+rlX^yrk3{W%S&mq90MaGA#w5aqkUFZ zR{#EfzklP#4eRoEXXe}AzjdqX<D;V=)R`|dG3EUD{pl%abw*m+vwweopFMMCNA?17 ziNLr$6@{OkoP2(MzO}V=baeFQ7ygeE7B2TbKhO5})6?SS=G%Ft%^rNLSmVsdaAWzV zO-2R=AI{CSmNw7ZvT<WzP*9TB_NPyuCMG7D=iiIjQ?YUR^5soUOu@TYZA;3^K+Z`& zH|OE==i9e#jon{odpnHl<(oI4jz>g9gr8sE)TvWfuhzb!#TF3I&?|EE=+WQb-~a#e za&mt^e>l$<Cgp3-&(GJ7+an<<xpMXD?EL)o%a^xbW!?Dc)29y~K3upEU~0NG_x3j3 zs4X1l;u#DUUAcb!{r&y_|NZ@~r>Doq$LHka<a3{Orq900&uIw>3;O!bO;mPIVA55~ z%Fo|l`1sh$;N@GkZnd?w4Gjs|;PvVA^YafLJn){bw>D<yrNf7lK_if=j517I8z!on zn}5Hs(E01vukQVFveUXBHYF}zyja=J&d$VS%Yp?7KR-RqzP|42wQFhTmo6`VfA8q= z<L<7mTeokIj*0@El6>;y#>D*$4Cfpd1~@r8^UGR+PAW}4&KKrieCy`T%BQEMPFDBd zwR^X<rDfqWgB(34waMq_+k<ANgoTCq`TId@q33cq3M|>W_3N#z+3Dxz7#bOU`uMSt zbB>#l#sRlQp!VC%&F&5k51yQye0iDgVJkj{FD7PY$BrI7di;2Ldiwb}mc<VbwOUzO zNl8hak@b&{jGQ@f;>RZ^Cr_Co;_2xb92{(HY|P_7or%F9Br-BHH&<6zS5`#i$hmG& zQ&ZEpxVWQ7k8aPq8x#_fa=Wg5=9DQ@Vt1EGN=v`LxjFsIi;EG*Uv~PawYRmgv9MTJ zTJGGn>(GpE6FIpyOw?9YJ$m_a@uw#z-TUR{nq&%HE38|)Y15~_zrU*pt=zeD=fZ`K z4h{|x5fM&KPF`MKk&!!(yKGGO@$$`^Gw06vflqC$`TJ|@q)C(7K;YOE&0rBx(Wg(J zvfmT!bkWk*uKxZmHW36Kt`1-C;_6yjQc_Y{Dy|n}k#$AmS}hj?L%X-HZ)s7HRmFz~ zZM@P3oD(KZ+En|y%-(+g*VosRg&L|uLqivezG>waPdhuSwN$1`N=k}P#$v*xNkzZD zWF{vkuX)T+*36XS^7`GozTRHjf(H%j)~#E=UVnM-=B$j2ice2Gv$C?n!oosBr><GE zX4594i5?>2;_3pR=}})_-?L}W#_zAw)zy9b?p;`DsO$5|bM0!adhScy+qHZ5#ZN02 zELgB)$&xi|)~s6P<>BGs<>eI=6y)UvI!tT+{CF1^me|d#juUo)!L3`j+S=HZCazeq z!XopM%9fVk@NoG@EJqj`9v-}Z|Ns2@e?Nb}-#^pzGF$S#nxC5z53}XwzHMk=*zvWb zK`(Y!$)h8j@1i1%?CtA+e|wvim6d*Oj-pU!#Bs(q%&Za)R#sMdcXkv$I?`GC`dVdm zb+X;pnBd^cZ*OlueCUu}?XQ%CgoKooC5sn-KE3c#iqXyu8w6sT7Oz;5@$}TxYuBz7 zKRc7?pLT#VDmwc0zva7k?_Ri&@$X+XC8a~>&-<$gUA)EfIp2bzfjLk^grC2^{QW&w zH@8hmn|cqvdh_Pau2SupKKttaTJ;1iUcYhU#e)YK|3((x6=-|+?%ja{2WFe+x3#w) zj#X4<7fE>VKRYwivie(2LBWRJ-rn82t<}<#_SO6>`t;=FjvYHhwZm@QxM2`u7wElX z)~s3g>;K=qbV=x%12Y4|h56^s`GFQ93r;*eUBCF;eQvJSNAKRn1qBHS3m@h*RZOq? z_^5U2)Twjl&RxD-eS6H0SGwlr-?!hdyS=M)HK-#S$zbik$o3D^Y@B0Rtfr%L=HkV| z>+52fn3&$&e7`;a{<rt{|Nr>-ICghg?yW7J0Ra;<?@pUCg@uJBB{lW!&CSQJU7J>2 zZ_3QTkRZs_nv|cfuclV^>WU`cALECwU;qB}^z@Az5fLZ1gU;v!r4thq&@%0abjek_ zc3D|lTQfBlyuD?*V{Pq?=HDp?{u^dp(TI<~|K`n`U%#q+ea}94@L=6Ky=m_@u3r86 z&d%anw{97ypR4)&?CiI<w`YddDsn7Zv<P&rDLcQMimK|%moG&{L=0A^GcYh5ZeG4z zeWnj++qUI~Urqu?u3ry#bUb+Pp4_<^mlp+S)c^VDo|BUk7Iw{G#XbR+iBqQRss6rh z)~s8g3vK@VXe^aE5VdFDzI_qt3^ML6E=O+M0BueW3=FihvkM9e%F4=G^W$_#TwGpO z)~%~oMI|LyE?<6p(dFt#j~=C^r9D30UtUn~<KyG@b?fxf|4n6OU^tK_t{3Cs@893m z^=Qt-_Px4sdw#s%|G)10ySek`$z6-Ia0(B<zAg8*UF|Q>!3=Yj1sr-<@axyFJ$v@} z`T3omt}iYueAr4bL39Tb+b`3^LoKJL>$|(SxVXFPM{H2g)$QH+_xRDHl9G};ckhnh zUFPfM)wOf(_q3dxIrHboM@MJp<iv!A9({Eebi`x<D=TaIxj8#aUyHS$FFJVmu&|hz zn6&io7Z;V+Y))9ecdzW;t=4L4ZJo|(7RU4V|9$rSd3r`hL_|bKsn`Ln0)7dJ32)xK z*<1bn)2B~tEG%c{SQfvK1sz{+XJ=<*H0kf_%k8bLKY#xG`}w?mR#sNdJyQk-20lk6 z(BXvjPftz#`T2SB+*AiIZ*N~;-^-UTr>3TEJl8Z6JX#xUYrFUF@9)WTTelh+8NGS? z7Ial*>M4;mn;D)pGx6{^d3l|hXIm{ID*E@&pD9zPO1^G!T3At4B_=NJ?&g+MIy=+P zudlcFY_GKWmaSV2K_l=C(X-8RgTlk_gE|q8Y!82Zea*?qxjp~>F)I$UUAuSd>gtAu zhJp^vE)^>~aq{HGty^n<e0bQxDZJqv(+r+Ag(gP>GqZo+@7JF_dp3N1+}^sszcy{! zB***i{{H``C)M5FmTPKi`v1>o{<g_~K>K#)*Z<qNef#-y=Z<NC_RX)css6TR!-fg3 zm;Jf7CG+z6`S!xX!W;RTc+JhtIXOE8gK8ByjLP5LIdI?r=s2Z0GKcwN7@2!sfD7om z+w<q|+xKswb35o5Qw7ij_LM18w&mO``uFGOKeI0%KURKz=Ii6bqwcf(_p`IJudWV1 ze)Q<U2p0wh2}>($>*wd@R{#6+v-0z^#JQ;#yu7`yuZf&If4;p=e*L1u*ROv++AY3u z<Hk8Qv0U1JzFv=iety2cr>CHx;6W?y1gROUf(A_OhkfT-UA=g5<FaLGpP!wbI(6#i z^z&t9WqNvgdRkgpxw)n$CU5qJ78HE=`}_O<pU>s_cHWJ2b4z=6W~Q`xUd;YF+dpy4 z3=M*hUR_-+!j<~_+uI2C#FiyXQYtHdzP`TR{ffY^=<Rt&j~oG=Bl7uk^4!+DCZ?wQ z>;KpN{FGW;T)bv8!?H&0goG7R($dXMP3z+K-@9<ZL204@X#2(2j~{>j{eC}lwy226 zn)v;8#>T~0Rs>3@zKwQqaVaP$C@L~ikD0>Ez;GZaHa1pDO6vQ&yTJhg2duc8U%h(u z?A+YwhzJc8m6lSmvWoxz{%%S=J<qOIOI^LaR4gYzV@m1kYr0WeGH!3njYwxa!x(<x zKmcgZh=jzQoyE`p{{H?#`|aDemX?;u$NT1*<x2hXN=|;fDfM*Ty*-wdpHkjT`sN!O z`}gJL<*lu)zkdA!50M;*+Mah;Y4XXkva$&F#5o%_6jWALMn>Mev$J^PxkE*{xw&d; zYW4qqs(<ZBVmb7%z<ZibVM$5MhJ=G1Yn|F9cQCQdP%t+yzqrWNzW(2m+Q68YKkN7Z zGcq-G6*zM9CTNLETwI(4>z~$X)27|roc{ms_xqrMDbVQ50jH>_sEHFNYH4XjuuD!l zb;^sGx%ttfB)NHscC&9?TN|C4n#vDaRU+`_>9c3IZr)5yOFP7L_V59N|MlEA4ufaw zx;<1b?YnW|LPBot+?g|H&YwSj;>3d|ga2}IbI-S{t@{1#ZGjyV14G+J$mY?4>aVQ| z9eeitxw0}?-oCD<RNz_{cv4sPn|B@Wg*P`hgBD8{KlfYH%%IkwozTD;6&2;>4Fd7| z>*j*5-iQhgK79Q6^=sGM76z#K&MJ9$h&47g_QDyraM)UaHOc>)T3cIJu3WixEo7#0 zL(A;hvzIMfws)`XHOCnbzP-Ku@#9DHygLW1I95;aSR!ehW>fJY;n9)Ki1dddckkZa zwQE;9zr2}|(IG2t2_cOG46CnP0UgWi;_hx=_vgpaZt*$xM_nr`e{M=W&Be{_eoJIK z1A~E3NolF3rsm$7pFtrZBCmCP9MmR<hJ<u=b+x??k$Ly-osf`_ot<3-`$L`9R#1eT zpKmWNAaKBnJ3)rWk!6jNvhw29tAGFb`8oUgy23h8P&G9jy0f!bSxE^rj_jVDk-@>i z5fBoxr{ty3wMYhumOp=LN=v^!46IcIb+FejUOai;yuMO_X%(NJ`340|YHw%1=4jE^ z*4DOh<Hz~+|2j(r3{(Od7{#hSJ?ZS|IPvD@=8b$t0oC8$SQb8Fxu(hRAOmy;(==Ua z<20UYjtmlWu3WidcYVc^xVE;o%*@P)<q39Nt(%gM_Z>KJVB)qLUl?TVYCwnWr>3Sx zuru~FGx2P=@b&feo!Mu(L`6k2Ghg1h6SJn7;Xv5ZrAyu1+!ifbba|Ptx1XPzz>!Or zgxU{RR#ZqxNC<GWm}XxyF)>-td-m*E_fIt!8mgBrUCO(e>CBBA7N(}6uSL#?%ggKQ z>Fvw8X|$%fK%->q)x+)l$+9d4d|U<xw9cMA>p#!t;jZ`vW@cuIiHQ-*85(L&q<~Hx z*|x3B)wQ+1|NN<`+NV#SR#s9n%fDCi{M_8)=jUqw`~Xdd&6_tbLY=jtP=ssgiWM0% z)|wjC{rPe0)~#*Z%+@p;+}xOa{NInq{A+>>OtQ0Izj^cK)2E^}%?xagjBF84-`(AP zdb<AeU9(-TuZ<R$m%o4aZf~goL&WLBhYw%8DCjr=z6iFnt83Qm+5YqG{$5)fodGJD zSFc`u`oxJh_x4KX^|QpR-LxqvF0Ss!+F47NEcx>9Z}pmBgW#f~O*3ZPSQEK<1K**G z6_u6cZ*P@;dg2MPo_G6wmxf{$b@kaZW+co_y1>EGv})C>)6?}q6XDsV<>iYvKL~?w zyIbE6-gd`StD~veX*Xf=WaWt-XV0FU;li5m!pqC6ZQmd9Rwqtw?%>c+Q6ZsA-~)f< z-tOk*<$W{XAlB7&>5?TaXRT8;>%q55CCzQ(zH$4uy1IIJSXh!Qivj534y~6jUs_pN zMJ!KfS-9}w2ANQPhP4Y8EYJ>Lr@	cW1|~TTw<cd-nbN`uh6D<l~F_QKs5iCa+-N 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 literal 0 HcmV?d00001 diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.svg b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.svg new file mode 100644 index 00000000..7ab64966 --- /dev/null +++ b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.svg @@ -0,0 +1,208 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<!-- Generated by graphviz version 2.40.1 (20161225.0304) + --> +<!-- Title: amr_graph Pages: 1 --> +<svg width="864pt" height="348pt" + viewBox="0.00 0.00 864.00 348.14" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g id="graph0" class="graph" transform="scale(.6649 .6649) rotate(0) translate(4 519.594)"> +<title>amr_graph</title> +<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-519.594 1295.4383,-519.594 1295.4383,4 -4,4"/> +<!-- s --> +<g id="node1" class="node"> +<title>s</title> +<ellipse fill="none" stroke="#000000" cx="51.9954" cy="-339.594" rx="51.9908" ry="51.9908"/> +<text text-anchor="middle" x="51.9954" y="-335.894" font-family="Times,serif" font-size="14.00" fill="#000000">s/system</text> +</g> +<!-- p --> +<g id="node2" class="node"> +<title>p</title> +<ellipse fill="none" stroke="#000000" cx="258.5859" cy="-466.594" rx="48.9926" ry="48.9926"/> +<text text-anchor="middle" x="258.5859" y="-462.894" font-family="Times,serif" font-size="14.00" fill="#000000">p/planet</text> +</g> +<!-- s->p --> +<g id="edge1" class="edge"> +<title>s->p</title> +<path fill="none" stroke="#000000" d="M96.3142,-366.8387C129.0736,-386.9773 173.7346,-414.4322 207.9106,-435.4417"/> +<polygon fill="#000000" stroke="#000000" points="206.4535,-438.6544 216.8055,-440.9098 210.1194,-432.6911 206.4535,-438.6544"/> +<text text-anchor="middle" x="153.9908" y="-425.394" font-family="Times,serif" font-size="14.00" fill="#000000">:domain</text> +</g> +<!-- b --> +<g id="node4" class="node"> +<title>b</title> +<ellipse fill="none" stroke="#000000" cx="258.5859" cy="-339.594" rx="54.6905" ry="54.6905"/> +<text text-anchor="middle" x="258.5859" y="-335.894" font-family="Times,serif" font-size="14.00" fill="#000000">b/bind-01</text> +</g> +<!-- s->b --> +<g id="edge3" class="edge"> +<title>s->b</title> +<path fill="none" stroke="#000000" d="M104.1269,-339.594C131.393,-339.594 165.022,-339.594 193.9325,-339.594"/> +<polygon fill="#000000" stroke="#000000" points="193.9435,-343.0941 203.9435,-339.594 193.9434,-336.0941 193.9435,-343.0941"/> +<text text-anchor="middle" x="153.9908" y="-343.394" font-family="Times,serif" font-size="14.00" fill="#000000">:ARG1-of</text> +</g> +<!-- a --> +<g id="node6" class="node"> +<title>a</title> +<ellipse fill="none" stroke="#000000" cx="258.5859" cy="-230.594" rx="36.2938" ry="36.2938"/> +<text text-anchor="middle" x="258.5859" y="-226.894" font-family="Times,serif" font-size="14.00" fill="#000000">a/and</text> +</g> +<!-- s->a --> +<g id="edge5" class="edge"> +<title>s->a</title> +<path fill="none" stroke="#000000" d="M98.1012,-315.2679C133.798,-296.4338 182.8008,-270.5793 217.2375,-252.41"/> +<polygon fill="#000000" stroke="#000000" points="218.8895,-255.4957 226.1007,-247.7337 215.6229,-249.3046 218.8895,-255.4957"/> +<text text-anchor="middle" x="153.9908" y="-304.394" font-family="Times,serif" font-size="14.00" fill="#000000">:part</text> +</g> +<!-- n --> +<g id="node3" class="node"> +<title>n</title> +<ellipse fill="none" stroke="#000000" cx="466.0248" cy="-470.594" rx="44.6926" ry="44.6926"/> +<text text-anchor="middle" x="466.0248" y="-466.894" font-family="Times,serif" font-size="14.00" fill="#000000">n/name</text> +</g> +<!-- p->n --> +<g id="edge2" class="edge"> +<title>p->n</title> +<path fill="none" stroke="#000000" d="M307.4834,-467.5369C338.5034,-468.135 378.7044,-468.9102 410.8626,-469.5303"/> +<polygon fill="#000000" stroke="#000000" points="410.9335,-473.0322 420.9992,-469.7258 411.0685,-466.0335 410.9335,-473.0322"/> +<text text-anchor="middle" x="354.1811" y="-472.394" font-family="Times,serif" font-size="14.00" fill="#000000">:name</text> +</g> +<!-- node_0 --> +<g id="node13" class="node"> +<title>node_0</title> +<polygon fill="none" stroke="#000000" points="732.613,-515.594 664.613,-515.594 664.613,-479.594 732.613,-479.594 732.613,-515.594"/> +<text text-anchor="middle" x="698.613" y="-493.894" font-family="Times,serif" font-size="14.00" fill="#000000">"Solar"</text> +</g> +<!-- n->node_0 --> +<g id="edge13" class="edge"> +<title>n->node_0</title> +<path fill="none" stroke="#000000" d="M510.5949,-475.7679C551.9393,-480.5674 613.1261,-487.6703 654.3665,-492.4576"/> +<polygon fill="#000000" stroke="#000000" points="654.0604,-495.9455 664.3973,-493.6221 654.8677,-488.9922 654.0604,-495.9455"/> +<text text-anchor="middle" x="586.8685" y="-491.394" font-family="Times,serif" font-size="14.00" fill="#000000">:op1</text> +</g> +<!-- node_1 --> +<g id="node14" class="node"> +<title>node_1</title> +<polygon fill="none" stroke="#000000" points="740.113,-461.594 657.113,-461.594 657.113,-425.594 740.113,-425.594 740.113,-461.594"/> +<text text-anchor="middle" x="698.613" y="-439.894" font-family="Times,serif" font-size="14.00" fill="#000000">"System"</text> +</g> +<!-- n->node_1 --> +<g id="edge14" class="edge"> +<title>n->node_1</title> +<path fill="none" stroke="#000000" d="M510.5949,-465.4201C549.5072,-460.9029 605.9963,-454.3454 646.8898,-449.5983"/> +<polygon fill="#000000" stroke="#000000" points="647.4006,-453.0626 656.9303,-448.4327 646.5933,-446.1093 647.4006,-453.0626"/> +<text text-anchor="middle" x="586.8685" y="-462.394" font-family="Times,serif" font-size="14.00" fill="#000000">:op2</text> +</g> +<!-- g --> +<g id="node5" class="node"> +<title>g</title> +<ellipse fill="none" stroke="#000000" cx="466.0248" cy="-336.594" rx="70.6878" ry="70.6878"/> +<text text-anchor="middle" x="466.0248" y="-332.894" font-family="Times,serif" font-size="14.00" fill="#000000">g/gravitation</text> +</g> +<!-- b->g --> +<g id="edge4" class="edge"> +<title>b->g</title> +<path fill="none" stroke="#000000" d="M313.3594,-338.8019C335.2058,-338.4859 360.8113,-338.1156 384.7429,-337.7695"/> +<polygon fill="#000000" stroke="#000000" points="384.9327,-341.2672 394.881,-337.6229 384.8314,-334.268 384.9327,-341.2672"/> +<text text-anchor="middle" x="354.1811" y="-341.394" font-family="Times,serif" font-size="14.00" fill="#000000">:ARG0</text> +</g> +<!-- s2 --> +<g id="node7" class="node"> +<title>s2</title> +<ellipse fill="none" stroke="#000000" cx="897.3039" cy="-234.594" rx="40.8928" ry="40.8928"/> +<text text-anchor="middle" x="897.3039" y="-230.894" font-family="Times,serif" font-size="14.00" fill="#000000">s2/sun</text> +</g> +<!-- a->s2 --> +<g id="edge6" class="edge"> +<title>a->s2</title> +<path fill="none" stroke="#000000" d="M295.2203,-230.8234C403.3794,-231.5008 721.5314,-233.4932 846.2842,-234.2745"/> +<polygon fill="#000000" stroke="#000000" points="846.3163,-237.7747 856.338,-234.3375 846.3602,-230.7748 846.3163,-237.7747"/> +<text text-anchor="middle" x="586.8685" y="-236.394" font-family="Times,serif" font-size="14.00" fill="#000000">:op1</text> +</g> +<!-- o --> +<g id="node8" class="node"> +<title>o</title> +<ellipse fill="none" stroke="#000000" cx="466.0248" cy="-155.594" rx="48.1917" ry="48.1917"/> +<text text-anchor="middle" x="466.0248" y="-151.894" font-family="Times,serif" font-size="14.00" fill="#000000">o/object</text> +</g> +<!-- a->o --> +<g id="edge7" class="edge"> +<title>a->o</title> +<path fill="none" stroke="#000000" d="M292.8402,-218.2093C324.8478,-206.6369 373.1896,-189.1588 410.6723,-175.6068"/> +<polygon fill="#000000" stroke="#000000" points="412.2272,-178.7665 420.4413,-172.0748 409.847,-172.1835 412.2272,-178.7665"/> +<text text-anchor="middle" x="354.1811" y="-207.394" font-family="Times,serif" font-size="14.00" fill="#000000">:op2</text> +</g> +<!-- o2 --> +<g id="node9" class="node"> +<title>o2</title> +<ellipse fill="none" stroke="#000000" cx="698.613" cy="-144.594" rx="61.99" ry="61.99"/> +<text text-anchor="middle" x="698.613" y="-140.894" font-family="Times,serif" font-size="14.00" fill="#000000">o2/orbit-01</text> +</g> +<!-- o->o2 --> +<g id="edge8" class="edge"> +<title>o->o2</title> +<path fill="none" stroke="#000000" d="M514.2172,-153.3148C546.6911,-151.779 590.1036,-149.7258 626.648,-147.9975"/> +<polygon fill="#000000" stroke="#000000" points="626.935,-151.4879 636.7585,-147.5193 626.6043,-144.4958 626.935,-151.4879"/> +<text text-anchor="middle" x="586.8685" y="-155.394" font-family="Times,serif" font-size="14.00" fill="#000000">:ARG0-of</text> +</g> +<!-- o2->s2 --> +<g id="edge9" class="edge"> +<title>o2->s2</title> +<path fill="none" stroke="#000000" d="M755.6495,-168.7924C781.0839,-179.7625 811.3426,-193.0604 838.3576,-205.594 842.6576,-207.589 847.1151,-209.7006 851.5656,-211.8384"/> +<polygon fill="#000000" stroke="#000000" points="850.113,-215.0237 860.6385,-216.2342 853.1652,-208.7241 850.113,-215.0237"/> +<text text-anchor="middle" x="808.3576" y="-209.394" font-family="Times,serif" font-size="14.00" fill="#000000">:ARG1</text> +</g> +<!-- o3 --> +<g id="node10" class="node"> +<title>o3</title> +<ellipse fill="none" stroke="#000000" cx="897.3039" cy="-141.594" rx="34.394" ry="34.394"/> +<text text-anchor="middle" x="897.3039" y="-137.894" font-family="Times,serif" font-size="14.00" fill="#000000">o3/or</text> +</g> +<!-- o2->o3 --> +<g id="edge10" class="edge"> +<title>o2->o3</title> +<path fill="none" stroke="#000000" d="M760.3909,-143.6612C790.2909,-143.2098 825.5153,-142.6779 852.7476,-142.2668"/> +<polygon fill="#000000" stroke="#000000" points="852.8196,-145.7662 862.7656,-142.1155 852.7138,-138.767 852.8196,-145.7662"/> +<text text-anchor="middle" x="808.3576" y="-147.394" font-family="Times,serif" font-size="14.00" fill="#000000">:manner</text> +</g> +<!-- d --> +<g id="node11" class="node"> +<title>d</title> +<ellipse fill="none" stroke="#000000" cx="1072.8443" cy="-214.594" rx="61.99" ry="61.99"/> +<text text-anchor="middle" x="1072.8443" y="-210.894" font-family="Times,serif" font-size="14.00" fill="#000000">d/direct-02</text> +</g> +<!-- o3->d --> +<g id="edge11" class="edge"> +<title>o3->d</title> +<path fill="none" stroke="#000000" d="M929.5007,-154.9833C950.9219,-163.8915 979.8454,-175.9196 1006.1015,-186.8384"/> +<polygon fill="#000000" stroke="#000000" points="1005.0579,-190.195 1015.6353,-190.8031 1007.7458,-183.7316 1005.0579,-190.195"/> +<text text-anchor="middle" x="971.7503" y="-182.394" font-family="Times,serif" font-size="14.00" fill="#000000">:op1</text> +</g> +<!-- d2 --> +<g id="node12" class="node"> +<title>d2</title> +<ellipse fill="none" stroke="#000000" cx="1072.8443" cy="-67.594" rx="67.6881" ry="67.6881"/> +<text text-anchor="middle" x="1072.8443" y="-63.894" font-family="Times,serif" font-size="14.00" fill="#000000">d2/direct-02</text> +</g> +<!-- o3->d2 --> +<g id="edge12" class="edge"> +<title>o3->d2</title> +<path fill="none" stroke="#000000" d="M929.093,-128.1932C949.1553,-119.7358 975.9149,-108.4551 1000.904,-97.9208"/> +<polygon fill="#000000" stroke="#000000" points="1002.5219,-101.0371 1010.377,-93.9274 999.8027,-94.5869 1002.5219,-101.0371"/> +<text text-anchor="middle" x="971.7503" y="-119.394" font-family="Times,serif" font-size="14.00" fill="#000000">:op2</text> +</g> +<!-- node_2 --> +<g id="node15" class="node"> +<title>node_2</title> +<polygon fill="none" stroke="#000000" points="1291.4383,-85.594 1237.4383,-85.594 1237.4383,-49.594 1291.4383,-49.594 1291.4383,-85.594"/> +<text text-anchor="middle" x="1264.4383" y="-63.894" font-family="Times,serif" font-size="14.00" fill="#000000">-</text> +</g> +<!-- d2->node_2 --> +<g id="edge15" class="edge"> +<title>d2->node_2</title> +<path fill="none" stroke="#000000" d="M1140.6628,-67.594C1169.7319,-67.594 1202.5686,-67.594 1227.1125,-67.594"/> +<polygon fill="#000000" stroke="#000000" points="1227.4248,-71.0941 1237.4248,-67.594 1227.4247,-64.0941 1227.4248,-71.0941"/> +<text text-anchor="middle" x="1188.9383" y="-71.394" font-family="Times,serif" font-size="14.00" fill="#000000">:polarity</text> +</g> +</g> +</svg> diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.ttl new file mode 100644 index 00000000..c7e3f5be --- /dev/null +++ b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document-01/document-01.stog.amr.ttl @@ -0,0 +1,99 @@ +@prefix ns1: <http://amr.isi.edu/frames/ld/v1.2.2/> . +@prefix ns2: <http://amr.isi.edu/rdf/amr-terms#> . +@prefix ns3: <http://amr.isi.edu/rdf/core-amr#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . + +ns3:Concept a rdfs:Class ; + rdfs:label "AMR-Concept" . + +ns3:Role a rdfs:Class ; + rdfs:label "AMR-Role" . + +<http://amr.isi.edu/amr_data/document-01#b> a ns1:bind-01 ; + ns1:bind-01.ARG0 <http://amr.isi.edu/amr_data/document-01#g> ; + ns1:bind-01.ARG1 <http://amr.isi.edu/amr_data/document-01#s> . + +<http://amr.isi.edu/amr_data/document-01#o2> a ns1:orbit-01 ; + ns1:orbit-01.ARG0 <http://amr.isi.edu/amr_data/document-01#o> ; + ns1:orbit-01.ARG1 <http://amr.isi.edu/amr_data/document-01#s2> ; + ns2:manner <http://amr.isi.edu/amr_data/document-01#o3> . + +<http://amr.isi.edu/amr_data/document-01#root01> a ns3:AMR ; + ns3:has-id "document-01" ; + ns3:has-sentence "The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly.." ; + ns3:root <http://amr.isi.edu/amr_data/document-01#s> . + +ns1:bind-01.ARG0 a ns1:FrameRole . + +ns1:bind-01.ARG1 a ns1:FrameRole . + +ns1:orbit-01.ARG0 a ns1:FrameRole . + +ns1:orbit-01.ARG1 a ns1:FrameRole . + +ns2:domain a ns3:Role . + +ns2:manner a ns3:Role . + +ns2:op1 a ns3:Role . + +ns2:op2 a ns3:Role . + +ns2:part a ns3:Role . + +<http://amr.isi.edu/amr_data/document-01#a> a ns3:and ; + ns2:op1 <http://amr.isi.edu/amr_data/document-01#s2> ; + ns2:op2 <http://amr.isi.edu/amr_data/document-01#o> . + +<http://amr.isi.edu/amr_data/document-01#d> a ns1:direct-02 . + +<http://amr.isi.edu/amr_data/document-01#d2> a ns1:direct-02 ; + ns2:polarity "-" . + +<http://amr.isi.edu/amr_data/document-01#g> a ns2:gravitation . + +<http://amr.isi.edu/amr_data/document-01#o3> a ns3:or ; + ns2:op1 <http://amr.isi.edu/amr_data/document-01#d> ; + ns2:op2 <http://amr.isi.edu/amr_data/document-01#d2> . + +<http://amr.isi.edu/amr_data/document-01#p> a <http://amr.isi.edu/entity-types#planet> ; + rdfs:label "Solar System" . + +<http://amr.isi.edu/entity-types#planet> a ns3:NamedEntity . + +ns1:bind-01 a ns3:Frame . + +ns1:orbit-01 a ns3:Frame . + +ns2:gravitation a ns3:Concept . + +ns2:object a ns3:Concept . + +ns2:sun a ns3:Concept . + +ns2:system a ns3:Concept . + +ns3:NamedEntity a ns3:Concept ; + rdfs:label "AMR-EntityType", + "AMR-Term" . + +ns3:and a ns3:Concept . + +ns3:or a ns3:Concept . + +<http://amr.isi.edu/amr_data/document-01#o> a ns2:object . + +<http://amr.isi.edu/amr_data/document-01#s> a ns2:system ; + ns2:domain <http://amr.isi.edu/amr_data/document-01#p> ; + ns2:part <http://amr.isi.edu/amr_data/document-01#a> . + +<http://amr.isi.edu/amr_data/document-01#s2> a ns2:sun . + +ns1:direct-02 a ns3:Frame . + +ns3:Frame a ns3:Concept ; + rdfs:label "AMR-PropBank-Frame" . + +ns1:FrameRole a ns3:Role ; + rdfs:label "AMR-PropBank-Role" . + diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document.sentence.txt b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document.sentence.txt new file mode 100644 index 00000000..a6d17ba9 --- /dev/null +++ b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/document.sentence.txt @@ -0,0 +1 @@ +The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly.. \ No newline at end of file diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/full-ontology.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/full-ontology.ttl new file mode 100644 index 00000000..ab06ee26 --- /dev/null +++ b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/full-ontology.ttl @@ -0,0 +1,162 @@ +@prefix ns1: <https://tenet.tetras-libre.fr/semantic-net#> . +@prefix ns2: <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#> . + +ns1:atomClass_gravitation_g ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation> . + +ns1:atomClass_object_o ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#object> . + +ns1:atomClass_sun_s2 ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#sun> . + +ns1:atomClass_system_p ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> . + +ns1:atomClass_system_s ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> . + +ns1:atomProperty_bind_b ns1:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#bind-of> ; + ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#bind> . + +ns1:atomProperty_direct_d ns1:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#direct-of> ; + ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#direct> . + +ns1:atomProperty_hasManner_m9 ns1:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#hasManner> ; + ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#hasManner> . + +ns1:atomProperty_hasPart_p9 ns1:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#hasPart> ; + ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#hasPart> . + +ns1:atomProperty_orbit_o2 ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#orbit> . + +ns1:compositeClass_gravitation-binding-system-hasPart-sun-and-object_g ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-sun-and-object> . + +ns1:compositeClass_system-hasPart-sun-and-object-hasPart-object_s ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-object> . + +ns1:compositeClass_system-hasPart-sun-and-object-hasPart-sun_s ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-sun> . + +ns1:compositeClass_system-hasPart-sun-and-object_s ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> . + +ns1:compositeProperty_not-direct_d2 ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#not-direct> . + +ns1:compositeProperty_orbit-hasManner-direct_o2 ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> . + +ns1:compositeProperty_orbit-hasManner-not-direct_o2 ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-not-direct> . + +ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-libre.fr/extract-result#solar-system> . + +<https://tenet.tetras-libre.fr/extract-result#bind> a owl:ObjectProperty ; + rdfs:label "bind" ; + rdfs:subPropertyOf ns2:Out_ObjectProperty ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#direct> a owl:ObjectProperty ; + rdfs:label "direct" ; + rdfs:subPropertyOf ns2:Out_ObjectProperty ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#direct-of> a owl:ObjectProperty ; + rdfs:label "direct-of" ; + rdfs:subPropertyOf ns2:Out_ObjectProperty ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-sun-and-object> a owl:Class ; + rdfs:label "gravitation-binding-system-hasPart-sun-and-object" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty <https://tenet.tetras-libre.fr/extract-result#bind-of> ; + owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> ], + <https://tenet.tetras-libre.fr/extract-result#gravitation> ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#not-direct> a owl:ObjectProperty ; + rdfs:label "not-direct" ; + rdfs:subPropertyOf ns2:Out_ObjectProperty ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> a owl:ObjectProperty ; + rdfs:label "orbit-hasManner-direct" ; + rdfs:subPropertyOf ns2:Out_ObjectProperty, + <https://tenet.tetras-libre.fr/extract-result#orbit> ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-not-direct> a owl:ObjectProperty ; + rdfs:label "orbit-hasManner-not-direct" ; + rdfs:subPropertyOf ns2:Out_ObjectProperty, + <https://tenet.tetras-libre.fr/extract-result#orbit> ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#solar-system> a owl:individual, + <https://tenet.tetras-libre.fr/extract-result#system>, + <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object>, + <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-object>, + <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-sun> ; + rdfs:label "Solar System" ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#bind-of> a owl:ObjectProperty ; + rdfs:label "bind-of" ; + rdfs:subPropertyOf ns2:Out_ObjectProperty ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#gravitation> a owl:Class ; + rdfs:label "gravitation" ; + rdfs:subClassOf ns2:Entity ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#hasManner> a owl:ObjectProperty ; + rdfs:label "hasManner" ; + rdfs:subPropertyOf ns2:Out_ObjectProperty ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-object> a owl:Class ; + rdfs:label "system-hasPart-sun-and-object-hasPart-object" ; + 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>, + <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-sun> a owl:Class ; + rdfs:label "system-hasPart-sun-and-object-hasPart-sun" ; + 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>, + <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#object> a owl:Class ; + rdfs:label "object" ; + rdfs:subClassOf ns2:Entity ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#orbit> a owl:ObjectProperty ; + rdfs:label "orbit" ; + rdfs:subPropertyOf ns2:Out_ObjectProperty ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#sun> a owl:Class ; + rdfs:label "sun" ; + rdfs:subClassOf ns2:Entity ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> a owl:Class ; + rdfs:label "system-hasPart-sun-and-object" ; + 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> ], + [ 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> ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#hasPart> a owl:ObjectProperty ; + rdfs:label "hasPart" ; + rdfs:subPropertyOf ns2:Out_ObjectProperty ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#system> a owl:Class ; + rdfs:label "system" ; + rdfs:subClassOf ns2:Entity ; + ns2:fromStructure "document-01" . + diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/ontologies-1/ontologies.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/ontologies-1/ontologies.ttl new file mode 100644 index 00000000..913fb477 --- /dev/null +++ b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/ontologies-1/ontologies.ttl @@ -0,0 +1,870 @@ +@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 ns11: <http://amr.isi.edu/frames/ld/v1.2.2/> . +@prefix ns2: <http://amr.isi.edu/rdf/amr-terms#> . +@prefix ns3: <http://amr.isi.edu/rdf/core-amr#> . +@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 sys: <https://tenet.tetras-libre.fr/base-ontology#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . + +ns3:Concept a rdfs:Class, + owl:Class ; + rdfs:label "AMR-Concept" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:Role a rdfs:Class, + owl:Class ; + rdfs:label "AMR-Role" ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#b> a ns11:bind-01 ; + ns11:bind-01.ARG0 <http://amr.isi.edu/amr_data/document-01#g> ; + ns11:bind-01.ARG1 <http://amr.isi.edu/amr_data/document-01#s> . + +<http://amr.isi.edu/amr_data/document-01#o2> a ns11:orbit-01 ; + ns11:orbit-01.ARG0 <http://amr.isi.edu/amr_data/document-01#o> ; + ns11:orbit-01.ARG1 <http://amr.isi.edu/amr_data/document-01#s2> ; + ns2:manner <http://amr.isi.edu/amr_data/document-01#o3> . + +<http://amr.isi.edu/amr_data/document-01#root01> a ns3:AMR ; + ns3:has-id "document-01" ; + ns3:has-sentence "The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly.." ; + ns3:root <http://amr.isi.edu/amr_data/document-01#s> . + +<http://amr.isi.edu/amr_data/test-1#root01> ns3:hasID "test-1" ; + ns3:hasSentence "The sun is a star." ; + ns3:root <http://amr.isi.edu/amr_data/test-1#s> . + +<http://amr.isi.edu/amr_data/test-2#root01> ns3:hasID "test-2" ; + ns3:hasSentence "Earth is a planet." ; + ns3:root <http://amr.isi.edu/amr_data/test-2#p> . + +ns11:bind-01.ARG0 a ns11:FrameRole . + +ns11:bind-01.ARG1 a ns11:FrameRole . + +ns11:orbit-01.ARG0 a ns11:FrameRole . + +ns11:orbit-01.ARG1 a ns11:FrameRole . + +ns2:domain a ns3:Role, + owl:AnnotationProperty, + owl:NamedIndividual . + +ns2:manner a ns3:Role . + +ns2:op1 a ns3:Role . + +ns2:op2 a ns3:Role . + +ns2:part a ns3:Role . + +ns3:hasID a owl:AnnotationProperty . + +ns3:hasSentence a owl:AnnotationProperty . + +ns3:root a owl:AnnotationProperty . + +<https://amr.tetras-libre.fr/rdf/schema> a owl:Ontology ; + owl:versionIRI :0.1 . + +:AMR_DataProperty a owl:DatatypeProperty . + +:AMR_Predicat_Concept a owl:Class ; + rdfs:subClassOf :AMR_Concept . + +:AMR_Prep_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +:AMR_Relation_Concept a owl:Class ; + rdfs:subClassOf :AMR_Concept . + +:AMR_Root a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_Term_Concept a owl:Class ; + rdfs:subClassOf :AMR_Concept . + +:AMR_Value a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:AMR_Variable a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:fromAmrLkFramerole a owl:AnnotationProperty ; + rdfs:subPropertyOf :fromAmrLk . + +:fromAmrLkRole a owl:AnnotationProperty ; + rdfs:subPropertyOf :fromAmrLk . + +:fromAmrLkRoot a owl:AnnotationProperty ; + rdfs:subPropertyOf :fromAmrLk . + +:getDirectPropertyName a owl:AnnotationProperty ; + rdfs:subPropertyOf :getProperty . + +:getInversePropertyName a owl:AnnotationProperty ; + rdfs:subPropertyOf :getProperty . + +:getPropertyType a owl:AnnotationProperty ; + rdfs:subPropertyOf :getProperty . + +:hasConcept a owl:ObjectProperty ; + rdfs:domain :AMR_Leaf ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:hasConceptLink a owl:AnnotationProperty ; + rdfs:subPropertyOf :hasLink . + +:hasEdgeLink a owl:AnnotationProperty ; + rdfs:subPropertyOf :hasLink . + +:hasReification a owl:AnnotationProperty ; + rdfs:range xsd:boolean ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:hasReificationConcept a owl:AnnotationProperty ; + rdfs:subPropertyOf :hasReificationDefinition . + +:hasReificationDomain a owl:AnnotationProperty ; + rdfs:subPropertyOf :hasReificationDefinition . + +:hasReificationRange a owl:AnnotationProperty ; + rdfs:subPropertyOf :hasReificationDefinition . + +:hasRelationName a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:hasRoleID a owl:ObjectProperty ; + rdfs:domain :AMR_Edge ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:hasRoleTag a owl:ObjectProperty ; + rdfs:domain :AMR_Edge ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:hasRolesetID a owl:ObjectProperty ; + rdfs:domain :AMR_Edge ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:hasRootLeaf a owl:ObjectProperty ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:hasSentenceID a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:hasSentenceStatement a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:hasVariable a owl:ObjectProperty ; + rdfs:domain :AMR_Leaf ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:label a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:phenomena_conjunction_and a owl:Class ; + rdfs:subClassOf :phenomena_conjunction ; + :hasConceptLink "and" ; + :label "conjunction-AND" . + +:phenomena_conjunction_or a owl:Class ; + rdfs:subClassOf :phenomena_conjunction ; + :hasConceptLink "or" ; + :label "conjunction-OR" . + +:phenomena_degree a owl:Class ; + rdfs:subClassOf :AMR_Phenomena ; + :hasConceptLink "have-degree-91" ; + :label "degree" . + +:relation_domain a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification false ; + :hasRelationName "domain" . + +:relation_manner a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification true ; + :hasReificationConcept "hasManner" ; + :hasReificationDomain "ARG1" ; + :hasReificationRange "ARG2" ; + :hasRelationName "manner" . + +:relation_mod a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification false ; + :hasRelationName "mod" . + +:relation_name a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification false ; + :hasRelationName "name" . + +:relation_part a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification true ; + :hasReificationConcept "hasPart" ; + :hasReificationDomain "ARG1" ; + :hasReificationRange "ARG2" ; + :hasRelationName "part" . + +:relation_polarity a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification false ; + :hasRelationName "polarity" . + +:relation_quant a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification false ; + :hasRelationName "quant" . + +:role_ARG0 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG0" . + +:role_ARG1 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG1" . + +:role_ARG2 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG2" . + +:role_ARG3 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG3" . + +:role_ARG4 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG4" . + +:role_ARG5 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG5" . + +:role_ARG6 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG6" . + +:role_ARG7 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG7" . + +:role_ARG8 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG8" . + +:role_ARG9 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG9" . + +:role_domain a owl:Class ; + rdfs:subClassOf :AMR_NonCore_Role ; + :hasRelationName "domain" ; + :label "domain" ; + :toReifyAsConcept "domain" ; + :toReifyWithBaseEdge "ARG0" ; + :toReifyWithHeadEdge "ARG1" . + +:role_have-degree-91 a owl:Class ; + rdfs:subClassOf :AMR_Specific_Role ; + :getPropertyType <net:specificProperty> . + +:role_manner a owl:Class ; + rdfs:subClassOf :AMR_NonCore_Role ; + :getDirectPropertyName "manner" ; + :getPropertyType owl:DataProperty ; + :label "manner" ; + :toReifyAsConcept "manner" ; + :toReifyWithBaseEdge "ARG0" ; + :toReifyWithHeadEdge "ARG1" . + +:role_mod a owl:Class ; + rdfs:subClassOf :AMR_NonCore_Role ; + :getDirectPropertyName "hasFeature"^^xsd:string ; + :getPropertyType rdfs:subClassOf, + owl:ObjectProperty ; + :label "mod" ; + :toReifyAsConcept "mod" ; + :toReifyWithBaseEdge "ARG0" ; + :toReifyWithHeadEdge "ARG1" . + +:role_name a owl:Class ; + rdfs:subClassOf :AMR_NonCore_Role ; + :label "name" . + +:role_op1 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op1" . + +:role_op2 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op2" . + +:role_op3 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op3" . + +:role_op4 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op4" . + +:role_op5 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op5" . + +:role_op6 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op6" . + +:role_op7 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op7" . + +:role_op8 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op8" . + +:role_op9 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op9" . + +:role_part a owl:Class ; + rdfs:subClassOf :AMR_NonCore_Role ; + :getDirectPropertyName "hasPart"^^xsd:string ; + :getInversePropertyName "partOf"^^xsd:string ; + :getPropertyType owl:ObjectProperty ; + :toReifyAsConcept "part" ; + :toReifyWithBaseEdge "ARG0" ; + :toReifyWithHeadEdge "ARG1" . + +:role_polarity a owl:Class ; + rdfs:subClassOf :AMR_Specific_Role ; + :label "polarity" . + +:role_quant a owl:Class ; + rdfs:subClassOf :AMR_Specific_Role ; + :label "quant" . + +:toReifyAsConcept a owl:AnnotationProperty ; + rdfs:subPropertyOf :toReify . + +:toReifyWithBaseEdge a owl:AnnotationProperty ; + rdfs:subPropertyOf :toReify . + +:toReifyWithHeadEdge a owl:AnnotationProperty ; + rdfs:subPropertyOf :toReify . + +<https://tenet.tetras-libre.fr/base-ontology> a owl:Ontology . + +sys:Event a owl:Class ; + rdfs:subClassOf sys:Out_Structure . + +sys:Undetermined_Thing a owl:Class ; + rdfs:subClassOf sys:Out_Structure . + +sys:fromStructure a owl:AnnotationProperty ; + rdfs:subPropertyOf sys:Out_AnnotationProperty . + +sys:hasDegree a owl:ObjectProperty ; + rdfs:subPropertyOf sys:Out_ObjectProperty . + +sys:hasFeature a owl:ObjectProperty ; + rdfs:subPropertyOf sys:Out_ObjectProperty . + +<https://tenet.tetras-libre.fr/config/parameters> a owl:Ontology . + +cprm:Config_Parameters a owl:Class ; + cprm:baseURI "https://tenet.tetras-libre.fr/" ; + cprm:netURI "https://tenet.tetras-libre.fr/semantic-net#" ; + cprm:newClassRef "new-class#" ; + cprm:newPropertyRef "new-relation#" ; + cprm:objectRef "object_" ; + cprm:targetOntologyURI "https://tenet.tetras-libre.fr/base-ontology/" . + +cprm:baseURI a rdf:Property ; + rdfs:label "Base URI" ; + rdfs:domain cprm:Frame ; + rdfs:range xsd:string ; + rdfs:subPropertyOf cprm:configParamProperty . + +cprm:netURI a rdf:Property ; + rdfs:label "Net URI" ; + rdfs:domain cprm:Frame ; + rdfs:range xsd:string ; + rdfs:subPropertyOf cprm:configParamProperty . + +cprm:newClassRef a rdf:Property ; + rdfs:label "Reference for a new class" ; + rdfs:subPropertyOf cprm:configParamProperty . + +cprm:newPropertyRef a rdf:Property ; + rdfs:label "Reference for a new property" ; + rdfs:subPropertyOf cprm:configParamProperty . + +cprm:objectRef a rdf:Property ; + rdfs:label "Object Reference" ; + rdfs:subPropertyOf cprm:configParamProperty . + +cprm:targetOntologyURI a rdf:Property ; + rdfs:label "URI of classes in target ontology" ; + rdfs:domain cprm:Frame ; + rdfs:range xsd:string ; + rdfs:subPropertyOf cprm:configParamProperty . + +<https://tenet.tetras-libre.fr/semantic-net> a owl:Ontology . + +net:Atom_Class_Net a owl:Class ; + rdfs:subClassOf net:Class_Net . + +net:Atom_Property_Net a owl:Class ; + rdfs:subClassOf net:Property_Net . + +net:Composite_Class_Net a owl:Class ; + rdfs:subClassOf net:Class_Net . + +net:Composite_Property_Net a owl:Class ; + rdfs:subClassOf net:Property_Net . + +net:Deprecated_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Individual_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Instance a owl:Class ; + rdfs:label "Semantic Net Instance" ; + rdfs:subClassOf net:Net_Structure . + +net:Logical_Set_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Object a owl:Class ; + rdfs:label "Object using in semantic net instance" ; + rdfs:subClassOf net:Net_Structure . + +net:Phenomena_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Property_Axiom_Net a owl:Class ; + rdfs:subClassOf net:Axiom_Net . + +net:Property_Direction a owl:Class ; + rdfs:subClassOf net:Feature . + +net:Relation a owl:Class ; + rdfs:subClassOf net:Net_Structure . + +net:Restriction_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Value_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:abstractionClass a owl:AnnotationProperty ; + rdfs:label "abstraction class" ; + rdfs:subPropertyOf net:objectValue . + +net:atom a owl:Class ; + rdfs:label "atom" ; + rdfs:subClassOf net:Type . + +net:atomOf a owl:AnnotationProperty ; + rdfs:label "atom of" ; + rdfs:subPropertyOf net:typeProperty . + +net:atomType a owl:AnnotationProperty ; + rdfs:label "atom type" ; + rdfs:subPropertyOf net:objectType . + +net:class a owl:Class ; + rdfs:label "class" ; + rdfs:subClassOf net:Type . + +net:composite a owl:Class ; + rdfs:label "composite" ; + rdfs:subClassOf net:Type . + +net:conjunctive_list a owl:Class ; + rdfs:label "conjunctive-list" ; + rdfs:subClassOf net:list . + +net:disjunctive_list a owl:Class ; + rdfs:label "disjunctive-list" ; + rdfs:subClassOf net:list . + +net:entityClass a owl:AnnotationProperty ; + rdfs:label "entity class" ; + rdfs:subPropertyOf net:objectValue . + +net:entity_class_list a owl:Class ; + rdfs:label "entityClassList" ; + rdfs:subClassOf net:class_list . + +net:event a owl:Class ; + rdfs:label "event" ; + rdfs:subClassOf net:Type . + +net:featureClass a owl:AnnotationProperty ; + rdfs:label "feature class" ; + rdfs:subPropertyOf net:objectValue . + +net:has_atom a owl:AnnotationProperty ; + rdfs:label "has atom" ; + rdfs:subPropertyOf net:has_object . + +net:has_class a owl:AnnotationProperty ; + rdfs:label "is class" ; + rdfs:subPropertyOf net:objectValue . + +net:has_class_name a owl:AnnotationProperty ; + rdfs:subPropertyOf net:has_value . + +net:has_class_uri a owl:AnnotationProperty ; + rdfs:label "class uri" ; + rdfs:subPropertyOf net:objectValue . + +net:has_concept a owl:AnnotationProperty ; + rdfs:label "concept "@fr ; + rdfs:subPropertyOf net:objectValue . + +net:has_entity a owl:AnnotationProperty ; + rdfs:label "has entity" ; + rdfs:subPropertyOf net:has_object . + +net:has_feature a owl:AnnotationProperty ; + rdfs:label "has feature" ; + rdfs:subPropertyOf net:has_object . + +net:has_instance a owl:AnnotationProperty ; + rdfs:label "entity instance" ; + rdfs:subPropertyOf net:objectValue . + +net:has_instance_uri a owl:AnnotationProperty ; + rdfs:label "instance uri" ; + rdfs:subPropertyOf net:objectValue . + +net:has_item a owl:AnnotationProperty ; + rdfs:label "has item" ; + rdfs:subPropertyOf net:has_object . + +net:has_mother_class a owl:AnnotationProperty ; + rdfs:label "has mother class" ; + rdfs:subPropertyOf net:objectValue . + +net:has_mother_class_uri a owl:AnnotationProperty ; + rdfs:label "parent class uri" ; + rdfs:subPropertyOf net:objectValue . + +net:has_node a owl:AnnotationProperty ; + rdfs:label "UNL Node" ; + rdfs:subPropertyOf net:netProperty . + +net:has_parent a owl:AnnotationProperty ; + rdfs:label "has parent" ; + rdfs:subPropertyOf net:has_object . + +net:has_parent_class a owl:AnnotationProperty ; + rdfs:label "parent class" ; + rdfs:subPropertyOf net:objectValue . + +net:has_parent_class_uri a owl:AnnotationProperty ; + rdfs:label "parent class uri" ; + rdfs:subPropertyOf net:objectValue . + +net:has_possible_domain a owl:AnnotationProperty ; + rdfs:label "has possible domain" ; + rdfs:subPropertyOf net:has_object . + +net:has_possible_range a owl:AnnotationProperty ; + rdfs:label "has possible range" ; + rdfs:subPropertyOf net:has_object . + +net:has_relation a owl:AnnotationProperty ; + rdfs:label "has relation" ; + rdfs:subPropertyOf net:has_relation_value . + +net:has_source a owl:AnnotationProperty ; + rdfs:label "has source" ; + rdfs:subPropertyOf net:has_relation_value . + +net:has_structure a owl:AnnotationProperty ; + rdfs:label "Linguistic Structure (in UNL Document)" ; + rdfs:subPropertyOf net:netProperty . + +net:has_target a owl:AnnotationProperty ; + rdfs:label "has target" ; + rdfs:subPropertyOf net:has_relation_value . + +net:inverse_direction a owl:NamedIndividual . + +net:listBy a owl:AnnotationProperty ; + rdfs:label "list by" ; + rdfs:subPropertyOf net:typeProperty . + +net:listGuiding a owl:AnnotationProperty ; + rdfs:label "Guiding connector of a list (or, and)" ; + rdfs:subPropertyOf net:objectValue . + +net:listOf a owl:AnnotationProperty ; + rdfs:label "list of" ; + rdfs:subPropertyOf net:typeProperty . + +net:modCat1 a owl:AnnotationProperty ; + rdfs:label "Modality Category (level 1)" ; + rdfs:subPropertyOf net:objectValue . + +net:modCat2 a owl:AnnotationProperty ; + rdfs:label "Modality Category (level 2)" ; + rdfs:subPropertyOf net:objectValue . + +net:normal_direction a owl:NamedIndividual . + +net:relation a owl:Class ; + rdfs:label "relation" ; + rdfs:subClassOf net:Type . + +net:relationOf a owl:AnnotationProperty ; + rdfs:label "relation of" ; + rdfs:subPropertyOf net:typeProperty . + +net:state_property a owl:Class ; + rdfs:label "stateProperty" ; + rdfs:subClassOf net:Type . + +net:type a owl:AnnotationProperty ; + rdfs:label "type "@fr ; + rdfs:subPropertyOf net:netProperty . + +net:unary_list a owl:Class ; + rdfs:label "unary-list" ; + rdfs:subClassOf net:list . + +net:verbClass a owl:AnnotationProperty ; + rdfs:label "verb class" ; + rdfs:subPropertyOf net:objectValue . + +<http://amr.isi.edu/amr_data/document-01#a> a ns3:and ; + ns2:op1 <http://amr.isi.edu/amr_data/document-01#s2> ; + ns2:op2 <http://amr.isi.edu/amr_data/document-01#o> . + +<http://amr.isi.edu/amr_data/document-01#d> a ns11:direct-02 . + +<http://amr.isi.edu/amr_data/document-01#d2> a ns11:direct-02 ; + ns2:polarity "-" . + +<http://amr.isi.edu/amr_data/document-01#g> a ns2:gravitation . + +<http://amr.isi.edu/amr_data/document-01#o3> a ns3:or ; + ns2:op1 <http://amr.isi.edu/amr_data/document-01#d> ; + ns2:op2 <http://amr.isi.edu/amr_data/document-01#d2> . + +<http://amr.isi.edu/amr_data/document-01#p> a <http://amr.isi.edu/entity-types#planet> ; + rdfs:label "Solar System" . + +<http://amr.isi.edu/amr_data/test-1#s> ns2:domain <http://amr.isi.edu/amr_data/test-1#s2> . + +<http://amr.isi.edu/amr_data/test-2#p> rdfs:label "Earth" . + +<http://amr.isi.edu/entity-types#planet> a ns3:NamedEntity . + +ns11:bind-01 a ns3:Frame . + +ns11:orbit-01 a ns3:Frame . + +ns2:gravitation a ns3:Concept . + +ns2:object a ns3:Concept . + +ns2:sun a ns3:Concept . + +ns2:system a ns3:Concept . + +ns3:AMR a owl:Class ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:NamedEntity a ns3:Concept, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-EntityType", + "AMR-Term" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:and a ns3:Concept . + +ns3:or a ns3:Concept . + +sys:Degree a owl:Class ; + rdfs:subClassOf sys:Out_Structure . + +sys:Entity a owl:Class ; + rdfs:subClassOf sys:Out_Structure . + +sys:Feature a owl:Class ; + rdfs:subClassOf sys:Out_Structure . + +sys:Out_AnnotationProperty a owl:AnnotationProperty . + +net:Axiom_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Feature a owl:Class ; + rdfs:subClassOf net:Net_Structure . + +net:class_list a owl:Class ; + rdfs:label "classList" ; + rdfs:subClassOf net:Type . + +net:has_value a owl:AnnotationProperty ; + rdfs:subPropertyOf net:netProperty . + +net:objectType a owl:AnnotationProperty ; + rdfs:label "object type" ; + rdfs:subPropertyOf net:objectProperty . + +<http://amr.isi.edu/amr_data/document-01#o> a ns2:object . + +<http://amr.isi.edu/amr_data/document-01#s> a ns2:system ; + ns2:domain <http://amr.isi.edu/amr_data/document-01#p> ; + ns2:part <http://amr.isi.edu/amr_data/document-01#a> . + +<http://amr.isi.edu/amr_data/document-01#s2> a ns2:sun . + +ns11:direct-02 a ns3:Frame . + +:AMR_Leaf a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_Phenomena a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:hasLink a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:phenomena_conjunction a owl:Class ; + rdfs:subClassOf :AMR_Phenomena ; + :hasConceptLink "contrast-01", + "either", + "neither" ; + :label "conjunction" . + +sys:Out_ObjectProperty a owl:ObjectProperty . + +net:Class_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Property_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:objectProperty a owl:AnnotationProperty ; + rdfs:label "object attribute" . + +ns3:Frame a ns3:Concept, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-PropBank-Frame" ; + rdfs:subClassOf :AMR_Linked_Data . + +:AMR_Concept a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:AMR_Edge a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_Specific_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +:fromAmrLk a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:getProperty a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:hasReificationDefinition a owl:AnnotationProperty ; + rdfs:range rdfs:Literal ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:toReify a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +net:has_relation_value a owl:AnnotationProperty ; + rdfs:label "has relation value" ; + rdfs:subPropertyOf net:has_object . + +net:list a owl:Class ; + rdfs:label "list" ; + rdfs:subClassOf net:Type . + +ns11:FrameRole a ns3:Role, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-PropBank-Role" ; + rdfs:subClassOf :AMR_Linked_Data . + +:AMR_Element a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +net:typeProperty a owl:AnnotationProperty ; + rdfs:label "type property" . + +:AMR_NonCore_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +:AMR_Role a owl:Class ; + rdfs:subClassOf :AMR_Element . + +sys:Out_Structure a owl:Class ; + rdfs:label "Output Ontology Structure" . + +net:netProperty a owl:AnnotationProperty ; + rdfs:label "netProperty" . + +:AMR_Linked_Data a owl:Class . + +:AMR_ObjectProperty a owl:ObjectProperty ; + rdfs:subPropertyOf owl:topObjectProperty . + +:AMR_Structure a owl:Class . + +cprm:configParamProperty a rdf:Property ; + rdfs:label "Config Parameter Property" . + +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)." . + +rdf:Property a owl:Class . + +:AMR_Relation a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +net:Type a owl:Class ; + rdfs:label "Semantic Net Type" ; + rdfs:subClassOf net:Net_Structure . + +net:has_object a owl:AnnotationProperty ; + rdfs:label "relation" ; + rdfs:subPropertyOf net:netProperty . + +:AMR_Op_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +net:Net a owl:Class ; + rdfs:subClassOf net:Net_Structure . + +:AMR_AnnotationProperty a owl:AnnotationProperty . + +:AMR_Core_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +net:objectValue a owl:AnnotationProperty ; + rdfs:label "valuations"@fr ; + rdfs:subPropertyOf net:objectProperty . + +[] a owl:AllDisjointClasses ; + owl:members ( sys:Degree sys:Entity sys:Feature ) . + diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/ontologies-1/ontologies_factoid.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/ontologies-1/ontologies_factoid.ttl new file mode 100644 index 00000000..ab06ee26 --- /dev/null +++ b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/ontologies-1/ontologies_factoid.ttl @@ -0,0 +1,162 @@ +@prefix ns1: <https://tenet.tetras-libre.fr/semantic-net#> . +@prefix ns2: <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#> . + +ns1:atomClass_gravitation_g ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation> . + +ns1:atomClass_object_o ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#object> . + +ns1:atomClass_sun_s2 ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#sun> . + +ns1:atomClass_system_p ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> . + +ns1:atomClass_system_s ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> . + +ns1:atomProperty_bind_b ns1:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#bind-of> ; + ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#bind> . + +ns1:atomProperty_direct_d ns1:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#direct-of> ; + ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#direct> . + +ns1:atomProperty_hasManner_m9 ns1:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#hasManner> ; + ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#hasManner> . + +ns1:atomProperty_hasPart_p9 ns1:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#hasPart> ; + ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#hasPart> . + +ns1:atomProperty_orbit_o2 ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#orbit> . + +ns1:compositeClass_gravitation-binding-system-hasPart-sun-and-object_g ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-sun-and-object> . + +ns1:compositeClass_system-hasPart-sun-and-object-hasPart-object_s ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-object> . + +ns1:compositeClass_system-hasPart-sun-and-object-hasPart-sun_s ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-sun> . + +ns1:compositeClass_system-hasPart-sun-and-object_s ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> . + +ns1:compositeProperty_not-direct_d2 ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#not-direct> . + +ns1:compositeProperty_orbit-hasManner-direct_o2 ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> . + +ns1:compositeProperty_orbit-hasManner-not-direct_o2 ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-not-direct> . + +ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-libre.fr/extract-result#solar-system> . + +<https://tenet.tetras-libre.fr/extract-result#bind> a owl:ObjectProperty ; + rdfs:label "bind" ; + rdfs:subPropertyOf ns2:Out_ObjectProperty ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#direct> a owl:ObjectProperty ; + rdfs:label "direct" ; + rdfs:subPropertyOf ns2:Out_ObjectProperty ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#direct-of> a owl:ObjectProperty ; + rdfs:label "direct-of" ; + rdfs:subPropertyOf ns2:Out_ObjectProperty ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-sun-and-object> a owl:Class ; + rdfs:label "gravitation-binding-system-hasPart-sun-and-object" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty <https://tenet.tetras-libre.fr/extract-result#bind-of> ; + owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> ], + <https://tenet.tetras-libre.fr/extract-result#gravitation> ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#not-direct> a owl:ObjectProperty ; + rdfs:label "not-direct" ; + rdfs:subPropertyOf ns2:Out_ObjectProperty ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> a owl:ObjectProperty ; + rdfs:label "orbit-hasManner-direct" ; + rdfs:subPropertyOf ns2:Out_ObjectProperty, + <https://tenet.tetras-libre.fr/extract-result#orbit> ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-not-direct> a owl:ObjectProperty ; + rdfs:label "orbit-hasManner-not-direct" ; + rdfs:subPropertyOf ns2:Out_ObjectProperty, + <https://tenet.tetras-libre.fr/extract-result#orbit> ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#solar-system> a owl:individual, + <https://tenet.tetras-libre.fr/extract-result#system>, + <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object>, + <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-object>, + <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-sun> ; + rdfs:label "Solar System" ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#bind-of> a owl:ObjectProperty ; + rdfs:label "bind-of" ; + rdfs:subPropertyOf ns2:Out_ObjectProperty ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#gravitation> a owl:Class ; + rdfs:label "gravitation" ; + rdfs:subClassOf ns2:Entity ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#hasManner> a owl:ObjectProperty ; + rdfs:label "hasManner" ; + rdfs:subPropertyOf ns2:Out_ObjectProperty ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-object> a owl:Class ; + rdfs:label "system-hasPart-sun-and-object-hasPart-object" ; + 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>, + <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-sun> a owl:Class ; + rdfs:label "system-hasPart-sun-and-object-hasPart-sun" ; + 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>, + <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#object> a owl:Class ; + rdfs:label "object" ; + rdfs:subClassOf ns2:Entity ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#orbit> a owl:ObjectProperty ; + rdfs:label "orbit" ; + rdfs:subPropertyOf ns2:Out_ObjectProperty ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#sun> a owl:Class ; + rdfs:label "sun" ; + rdfs:subClassOf ns2:Entity ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> a owl:Class ; + rdfs:label "system-hasPart-sun-and-object" ; + 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> ], + [ 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> ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#hasPart> a owl:ObjectProperty ; + rdfs:label "hasPart" ; + rdfs:subPropertyOf ns2:Out_ObjectProperty ; + ns2:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#system> a owl:Class ; + rdfs:label "system" ; + rdfs:subClassOf ns2:Entity ; + ns2:fromStructure "document-01" . + diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/ontologies-1/ontologies_generation.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/ontologies-1/ontologies_generation.ttl new file mode 100644 index 00000000..e7c64486 --- /dev/null +++ b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/ontologies-1/ontologies_generation.ttl @@ -0,0 +1,1745 @@ +@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 ns11: <http://amr.isi.edu/frames/ld/v1.2.2/> . +@prefix ns2: <http://amr.isi.edu/rdf/amr-terms#> . +@prefix ns3: <http://amr.isi.edu/rdf/core-amr#> . +@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 sys: <https://tenet.tetras-libre.fr/base-ontology#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . + +ns3:Concept a rdfs:Class, + owl:Class ; + rdfs:label "AMR-Concept" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:Role a rdfs:Class, + owl:Class ; + rdfs:label "AMR-Role" ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/test-1#root01> ns3:hasID "test-1" ; + ns3:hasSentence "The sun is a star." ; + ns3:root <http://amr.isi.edu/amr_data/test-1#s> . + +<http://amr.isi.edu/amr_data/test-2#root01> ns3:hasID "test-2" ; + ns3:hasSentence "Earth is a planet." ; + ns3:root <http://amr.isi.edu/amr_data/test-2#p> . + +ns11:bind-01.ARG0 a ns11:FrameRole . + +ns11:bind-01.ARG1 a ns11:FrameRole . + +ns11:orbit-01.ARG0 a ns11:FrameRole . + +ns11:orbit-01.ARG1 a ns11:FrameRole . + +ns2:domain a ns3:Role, + owl:AnnotationProperty, + owl:NamedIndividual . + +ns2:op1 a ns3:Role . + +ns2:op2 a ns3:Role . + +ns3:hasID a owl:AnnotationProperty . + +ns3:hasSentence a owl:AnnotationProperty . + +ns3:root a owl:AnnotationProperty . + +<https://amr.tetras-libre.fr/rdf/schema> a owl:Ontology ; + owl:versionIRI :0.1 . + +:AMR_DataProperty a owl:DatatypeProperty . + +:AMR_Prep_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +:edge_a_op1_s2 a :AMR_Edge ; + :hasAmrRole :role_op1 ; + :hasRoleID "op1" . + +:edge_a_op2_o a :AMR_Edge ; + :hasAmrRole :role_op2 ; + :hasRoleID "op2" . + +:edge_b_ARG0_g a :AMR_Edge ; + :hasAmrRole :role_ARG0 ; + :hasRoleID "ARG0" . + +:edge_b_ARG1_s a :AMR_Edge ; + :hasAmrRole :role_ARG1 ; + :hasRoleID "ARG1" . + +:edge_d2_polarity_negative a :AMR_Edge ; + :hasAmrRole :role_polarity ; + :hasRoleID "polarity" . + +:edge_m9_ARG0_o2 a :AMR_Edge ; + :hasAmrRole :role_ARG0 ; + :hasRoleID "ARG0" . + +:edge_m9_ARG1_o3 a :AMR_Edge ; + :hasAmrRole :role_ARG1 ; + :hasRoleID "ARG1" . + +:edge_o2_ARG0_o a :AMR_Edge ; + :hasAmrRole :role_ARG0 ; + :hasRoleID "ARG0" . + +:edge_o2_ARG1_s2 a :AMR_Edge ; + :hasAmrRole :role_ARG1 ; + :hasRoleID "ARG1" . + +:edge_o3_op1_d a :AMR_Edge ; + :hasAmrRole :role_op1 ; + :hasRoleID "op1" . + +:edge_o3_op2_d2 a :AMR_Edge ; + :hasAmrRole :role_op2 ; + :hasRoleID "op2" . + +:edge_p9_ARG0_s a :AMR_Edge ; + :hasAmrRole :role_ARG0 ; + :hasRoleID "ARG0" . + +:edge_p9_ARG1_a a :AMR_Edge ; + :hasAmrRole :role_ARG1 ; + :hasRoleID "ARG1" . + +:edge_p_name_SolarSystem a :AMR_Edge ; + :hasAmrRole :role_name ; + :hasRoleID "name" . + +:edge_s_domain_p a :AMR_Edge ; + :hasAmrRole :role_domain ; + :hasRoleID "domain" . + +:fromAmrLkFramerole a owl:AnnotationProperty ; + rdfs:subPropertyOf :fromAmrLk . + +:fromAmrLkRole a owl:AnnotationProperty ; + rdfs:subPropertyOf :fromAmrLk . + +:fromAmrLkRoot a owl:AnnotationProperty ; + rdfs:subPropertyOf :fromAmrLk . + +:getDirectPropertyName a owl:AnnotationProperty ; + rdfs:subPropertyOf :getProperty . + +:getInversePropertyName a owl:AnnotationProperty ; + rdfs:subPropertyOf :getProperty . + +:getPropertyType a owl:AnnotationProperty ; + rdfs:subPropertyOf :getProperty . + +:hasConcept a owl:ObjectProperty ; + rdfs:domain :AMR_Leaf ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:hasConceptLink a owl:AnnotationProperty ; + rdfs:subPropertyOf :hasLink . + +:hasEdgeLink a owl:AnnotationProperty ; + rdfs:subPropertyOf :hasLink . + +:hasReification a owl:AnnotationProperty ; + rdfs:range xsd:boolean ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:hasReificationConcept a owl:AnnotationProperty ; + rdfs:subPropertyOf :hasReificationDefinition . + +:hasReificationDomain a owl:AnnotationProperty ; + rdfs:subPropertyOf :hasReificationDefinition . + +:hasReificationRange a owl:AnnotationProperty ; + rdfs:subPropertyOf :hasReificationDefinition . + +:hasRelationName a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:hasRoleID a owl:ObjectProperty ; + rdfs:domain :AMR_Edge ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:hasRoleTag a owl:ObjectProperty ; + rdfs:domain :AMR_Edge ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:hasRolesetID a owl:ObjectProperty ; + rdfs:domain :AMR_Edge ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:hasRootLeaf a owl:ObjectProperty ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:hasSentenceID a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:hasSentenceStatement a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:hasVariable a owl:ObjectProperty ; + rdfs:domain :AMR_Leaf ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:label a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:phenomena_degree a owl:Class ; + rdfs:subClassOf :AMR_Phenomena ; + :hasConceptLink "have-degree-91" ; + :label "degree" . + +:relation_domain a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification false ; + :hasRelationName "domain" . + +:relation_manner a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification true ; + :hasReificationConcept "hasManner" ; + :hasReificationDomain "ARG1" ; + :hasReificationRange "ARG2" ; + :hasRelationName "manner" . + +:relation_mod a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification false ; + :hasRelationName "mod" . + +:relation_name a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification false ; + :hasRelationName "name" . + +:relation_part a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification true ; + :hasReificationConcept "hasPart" ; + :hasReificationDomain "ARG1" ; + :hasReificationRange "ARG2" ; + :hasRelationName "part" . + +:relation_polarity a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification false ; + :hasRelationName "polarity" . + +:relation_quant a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification false ; + :hasRelationName "quant" . + +:role_ARG2 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG2" . + +:role_ARG3 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG3" . + +:role_ARG4 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG4" . + +:role_ARG5 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG5" . + +:role_ARG6 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG6" . + +:role_ARG7 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG7" . + +:role_ARG8 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG8" . + +:role_ARG9 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG9" . + +:role_have-degree-91 a owl:Class ; + rdfs:subClassOf :AMR_Specific_Role ; + :getPropertyType <net:specificProperty> . + +:role_manner a owl:Class ; + rdfs:subClassOf :AMR_NonCore_Role ; + :getDirectPropertyName "manner" ; + :getPropertyType owl:DataProperty ; + :label "manner" ; + :toReifyAsConcept "manner" ; + :toReifyWithBaseEdge "ARG0" ; + :toReifyWithHeadEdge "ARG1" . + +:role_mod a owl:Class ; + rdfs:subClassOf :AMR_NonCore_Role ; + :getDirectPropertyName "hasFeature"^^xsd:string ; + :getPropertyType rdfs:subClassOf, + owl:ObjectProperty ; + :label "mod" ; + :toReifyAsConcept "mod" ; + :toReifyWithBaseEdge "ARG0" ; + :toReifyWithHeadEdge "ARG1" . + +:role_op3 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op3" . + +:role_op4 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op4" . + +:role_op5 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op5" . + +:role_op6 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op6" . + +:role_op7 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op7" . + +:role_op8 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op8" . + +:role_op9 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op9" . + +:role_part a owl:Class ; + rdfs:subClassOf :AMR_NonCore_Role ; + :getDirectPropertyName "hasPart"^^xsd:string ; + :getInversePropertyName "partOf"^^xsd:string ; + :getPropertyType owl:ObjectProperty ; + :toReifyAsConcept "part" ; + :toReifyWithBaseEdge "ARG0" ; + :toReifyWithHeadEdge "ARG1" . + +:role_quant a owl:Class ; + rdfs:subClassOf :AMR_Specific_Role ; + :label "quant" . + +:root_document-01 a :AMR_Root ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#root01> ; + :hasRootLeaf :leaf_system_s ; + :hasSentenceID "document-01" ; + :hasSentenceStatement "The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly.." . + +:toReifyAsConcept a owl:AnnotationProperty ; + rdfs:subPropertyOf :toReify . + +:toReifyWithBaseEdge a owl:AnnotationProperty ; + rdfs:subPropertyOf :toReify . + +:toReifyWithHeadEdge a owl:AnnotationProperty ; + rdfs:subPropertyOf :toReify . + +<https://tenet.tetras-libre.fr/base-ontology> a owl:Ontology . + +sys:Event a owl:Class ; + rdfs:subClassOf sys:Out_Structure . + +sys:Undetermined_Thing a owl:Class ; + rdfs:subClassOf sys:Out_Structure . + +sys:fromStructure a owl:AnnotationProperty ; + rdfs:subPropertyOf sys:Out_AnnotationProperty . + +sys:hasDegree a owl:ObjectProperty ; + rdfs:subPropertyOf sys:Out_ObjectProperty . + +sys:hasFeature a owl:ObjectProperty ; + rdfs:subPropertyOf sys:Out_ObjectProperty . + +<https://tenet.tetras-libre.fr/config/parameters> a owl:Ontology . + +cprm:Config_Parameters a owl:Class ; + cprm:baseURI "https://tenet.tetras-libre.fr/" ; + cprm:netURI "https://tenet.tetras-libre.fr/semantic-net#" ; + cprm:newClassRef "new-class#" ; + cprm:newPropertyRef "new-relation#" ; + cprm:objectRef "object_" ; + cprm:targetOntologyURI "https://tenet.tetras-libre.fr/base-ontology/" . + +cprm:baseURI a rdf:Property ; + rdfs:label "Base URI" ; + rdfs:domain cprm:Frame ; + rdfs:range xsd:string ; + rdfs:subPropertyOf cprm:configParamProperty . + +cprm:netURI a rdf:Property ; + rdfs:label "Net URI" ; + rdfs:domain cprm:Frame ; + rdfs:range xsd:string ; + rdfs:subPropertyOf cprm:configParamProperty . + +cprm:newClassRef a rdf:Property ; + rdfs:label "Reference for a new class" ; + rdfs:subPropertyOf cprm:configParamProperty . + +cprm:newPropertyRef a rdf:Property ; + rdfs:label "Reference for a new property" ; + rdfs:subPropertyOf cprm:configParamProperty . + +cprm:objectRef a rdf:Property ; + rdfs:label "Object Reference" ; + rdfs:subPropertyOf cprm:configParamProperty . + +cprm:targetOntologyURI a rdf:Property ; + rdfs:label "URI of classes in target ontology" ; + rdfs:domain cprm:Frame ; + rdfs:range xsd:string ; + rdfs:subPropertyOf cprm:configParamProperty . + +<https://tenet.tetras-libre.fr/semantic-net> a owl:Ontology . + +net:Instance a owl:Class ; + rdfs:label "Semantic Net Instance" ; + rdfs:subClassOf net:Net_Structure . + +net:Object a owl:Class ; + rdfs:label "Object using in semantic net instance" ; + rdfs:subClassOf net:Net_Structure . + +net:Property_Axiom_Net a owl:Class ; + rdfs:subClassOf net:Axiom_Net . + +net:Property_Direction a owl:Class ; + rdfs:subClassOf net:Feature . + +net:abstractionClass a owl:AnnotationProperty ; + rdfs:label "abstraction class" ; + rdfs:subPropertyOf net:objectValue . + +net:atom a owl:Class ; + rdfs:label "atom" ; + rdfs:subClassOf net:Type . + +net:atomOf a owl:AnnotationProperty ; + rdfs:label "atom of" ; + rdfs:subPropertyOf net:typeProperty . + +net:atomType a owl:AnnotationProperty ; + rdfs:label "atom type" ; + rdfs:subPropertyOf net:objectType . + +net:axiom_disjointProperty_direct_not-direct_d2 a net:Axiom_Net ; + net:composeFrom net:atomProperty_direct_d2, + net:compositeProperty_not-direct_d2 ; + net:coverBaseNode :leaf_direct-02_d2 ; + net:coverNode :leaf_direct-02_d2 ; + net:hasAxiomName "disjointProperty" ; + net:hasAxiomURI owl:propertyDisjointWith ; + net:hasNaming "disjointProperty_direct_not-direct" ; + net:hasNetArgument net:atomProperty_direct_d2, + net:compositeProperty_not-direct_d2 ; + net:hasStructure "document-01" . + +net:axiom_disjointProperty_not-direct_direct_d2 a net:Axiom_Net ; + net:composeFrom net:atomProperty_direct_d2, + net:compositeProperty_not-direct_d2 ; + net:coverBaseNode :leaf_direct-02_d2 ; + net:coverNode :leaf_direct-02_d2 ; + net:hasAxiomName "disjointProperty" ; + net:hasAxiomURI owl:propertyDisjointWith ; + net:hasNaming "disjointProperty_not-direct_direct" ; + net:hasNetArgument net:atomProperty_direct_d2, + net:compositeProperty_not-direct_d2 ; + net:hasStructure "document-01" . + +net:class a owl:Class ; + rdfs:label "class" ; + rdfs:subClassOf net:Type . + +net:composite a owl:Class ; + rdfs:label "composite" ; + rdfs:subClassOf net:Type . + +net:compositeProperty_orbit-hasManner-direct_o2 a net:Composite_Property_Net ; + :role_ARG0 net:atomClass_object_o ; + :role_ARG1 net:atomClass_sun_s2 ; + net:composeFrom net:atomProperty_direct_d, + net:atomProperty_direct_d2, + net:atomProperty_hasManner_m9, + net:atomProperty_orbit_o2 ; + net:coverBaseNode :leaf_orbit-01_o2 ; + net:coverNode :leaf_direct-02_d, + :leaf_direct-02_d2, + :leaf_hasManner_m9, + :leaf_orbit-01_o2 ; + net:hasMotherPropertyNet net:atomProperty_orbit_o2 ; + net:hasNaming "orbit-hasManner-direct" ; + net:hasPropertyType owl:ObjectProperty ; + net:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> ; + net:hasRestriction net:restriction_hasManner-direct_m9 ; + net:hasStructure "document-01" . + +net:compositeProperty_orbit-hasManner-not-direct_o2 a net:Composite_Property_Net ; + :role_ARG0 net:atomClass_object_o ; + :role_ARG1 net:atomClass_sun_s2 ; + net:composeFrom net:atomProperty_hasManner_m9, + net:atomProperty_orbit_o2, + net:compositeProperty_not-direct_d2 ; + net:coverBaseNode :leaf_orbit-01_o2 ; + net:coverNode :leaf_direct-02_d2, + :leaf_hasManner_m9, + :leaf_orbit-01_o2 ; + net:hasMotherPropertyNet net:atomProperty_orbit_o2 ; + net:hasNaming "orbit-hasManner-not-direct" ; + net:hasPropertyType owl:ObjectProperty ; + net:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-not-direct> ; + net:hasRestriction net:restriction_hasManner-not-direct_m9 ; + net:hasStructure "document-01" . + +net:conjunctive_list a owl:Class ; + rdfs:label "conjunctive-list" ; + rdfs:subClassOf net:list . + +net:disjunctive_list a owl:Class ; + rdfs:label "disjunctive-list" ; + rdfs:subClassOf net:list . + +net:entityClass a owl:AnnotationProperty ; + rdfs:label "entity class" ; + rdfs:subPropertyOf net:objectValue . + +net:entity_class_list a owl:Class ; + rdfs:label "entityClassList" ; + rdfs:subClassOf net:class_list . + +net:event a owl:Class ; + rdfs:label "event" ; + rdfs:subClassOf net:Type . + +net:featureClass a owl:AnnotationProperty ; + rdfs:label "feature class" ; + rdfs:subPropertyOf net:objectValue . + +net:has_atom a owl:AnnotationProperty ; + rdfs:label "has atom" ; + rdfs:subPropertyOf net:has_object . + +net:has_class a owl:AnnotationProperty ; + rdfs:label "is class" ; + rdfs:subPropertyOf net:objectValue . + +net:has_class_name a owl:AnnotationProperty ; + rdfs:subPropertyOf net:has_value . + +net:has_class_uri a owl:AnnotationProperty ; + rdfs:label "class uri" ; + rdfs:subPropertyOf net:objectValue . + +net:has_concept a owl:AnnotationProperty ; + rdfs:label "concept "@fr ; + rdfs:subPropertyOf net:objectValue . + +net:has_entity a owl:AnnotationProperty ; + rdfs:label "has entity" ; + rdfs:subPropertyOf net:has_object . + +net:has_feature a owl:AnnotationProperty ; + rdfs:label "has feature" ; + rdfs:subPropertyOf net:has_object . + +net:has_instance a owl:AnnotationProperty ; + rdfs:label "entity instance" ; + rdfs:subPropertyOf net:objectValue . + +net:has_instance_uri a owl:AnnotationProperty ; + rdfs:label "instance uri" ; + rdfs:subPropertyOf net:objectValue . + +net:has_item a owl:AnnotationProperty ; + rdfs:label "has item" ; + rdfs:subPropertyOf net:has_object . + +net:has_mother_class a owl:AnnotationProperty ; + rdfs:label "has mother class" ; + rdfs:subPropertyOf net:objectValue . + +net:has_mother_class_uri a owl:AnnotationProperty ; + rdfs:label "parent class uri" ; + rdfs:subPropertyOf net:objectValue . + +net:has_node a owl:AnnotationProperty ; + rdfs:label "UNL Node" ; + rdfs:subPropertyOf net:netProperty . + +net:has_parent a owl:AnnotationProperty ; + rdfs:label "has parent" ; + rdfs:subPropertyOf net:has_object . + +net:has_parent_class a owl:AnnotationProperty ; + rdfs:label "parent class" ; + rdfs:subPropertyOf net:objectValue . + +net:has_parent_class_uri a owl:AnnotationProperty ; + rdfs:label "parent class uri" ; + rdfs:subPropertyOf net:objectValue . + +net:has_possible_domain a owl:AnnotationProperty ; + rdfs:label "has possible domain" ; + rdfs:subPropertyOf net:has_object . + +net:has_possible_range a owl:AnnotationProperty ; + rdfs:label "has possible range" ; + rdfs:subPropertyOf net:has_object . + +net:has_relation a owl:AnnotationProperty ; + rdfs:label "has relation" ; + rdfs:subPropertyOf net:has_relation_value . + +net:has_source a owl:AnnotationProperty ; + rdfs:label "has source" ; + rdfs:subPropertyOf net:has_relation_value . + +net:has_structure a owl:AnnotationProperty ; + rdfs:label "Linguistic Structure (in UNL Document)" ; + rdfs:subPropertyOf net:netProperty . + +net:has_target a owl:AnnotationProperty ; + rdfs:label "has target" ; + rdfs:subPropertyOf net:has_relation_value . + +net:inverse_direction a owl:NamedIndividual . + +net:listBy a owl:AnnotationProperty ; + rdfs:label "list by" ; + rdfs:subPropertyOf net:typeProperty . + +net:listGuiding a owl:AnnotationProperty ; + rdfs:label "Guiding connector of a list (or, and)" ; + rdfs:subPropertyOf net:objectValue . + +net:listOf a owl:AnnotationProperty ; + rdfs:label "list of" ; + rdfs:subPropertyOf net:typeProperty . + +net:modCat1 a owl:AnnotationProperty ; + rdfs:label "Modality Category (level 1)" ; + rdfs:subPropertyOf net:objectValue . + +net:modCat2 a owl:AnnotationProperty ; + rdfs:label "Modality Category (level 2)" ; + rdfs:subPropertyOf net:objectValue . + +net:normal_direction a owl:NamedIndividual . + +net:relation a owl:Class ; + rdfs:label "relation" ; + rdfs:subClassOf net:Type . + +net:relationOf a owl:AnnotationProperty ; + rdfs:label "relation of" ; + rdfs:subPropertyOf net:typeProperty . + +net:state_property a owl:Class ; + rdfs:label "stateProperty" ; + rdfs:subClassOf net:Type . + +net:type a owl:AnnotationProperty ; + rdfs:label "type "@fr ; + rdfs:subPropertyOf net:netProperty . + +net:unary_list a owl:Class ; + rdfs:label "unary-list" ; + rdfs:subClassOf net:list . + +net:verbClass a owl:AnnotationProperty ; + rdfs:label "verb class" ; + rdfs:subPropertyOf net:objectValue . + +<http://amr.isi.edu/amr_data/document-01#b> a ns11:bind-01 ; + ns11:bind-01.ARG0 <http://amr.isi.edu/amr_data/document-01#g> ; + ns11:bind-01.ARG1 <http://amr.isi.edu/amr_data/document-01#s> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#o2> a ns11:orbit-01 ; + ns11:orbit-01.ARG0 <http://amr.isi.edu/amr_data/document-01#o> ; + ns11:orbit-01.ARG1 <http://amr.isi.edu/amr_data/document-01#s2> ; + ns2:manner <http://amr.isi.edu/amr_data/document-01#o3> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#root01> a ns3:AMR ; + ns3:has-id "document-01" ; + ns3:has-sentence "The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly.." ; + ns3:root <http://amr.isi.edu/amr_data/document-01#s> . + +<http://amr.isi.edu/amr_data/test-1#s> ns2:domain <http://amr.isi.edu/amr_data/test-1#s2> . + +<http://amr.isi.edu/amr_data/test-2#p> rdfs:label "Earth" . + +<http://amr.isi.edu/entity-types#planet> a ns3:NamedEntity ; + rdfs:comment "bug" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:AMR a owl:Class ; + rdfs:subClassOf :AMR_Linked_Data . + +:AMR_Root a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:concept_and rdfs:subClassOf :AMR_Relation_Concept ; + :fromAmrLk ns3:and ; + :hasPhenomenaLink :phenomena_conjunction_and ; + :label "and" . + +:concept_bind-01 rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns11:bind-01 ; + :label "bind-01" . + +:concept_gravitation rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk ns2:gravitation ; + :label "gravitation" . + +:concept_manner rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns2:manner ; + :isReifiedConcept true ; + :label "hasManner" . + +:concept_object rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk ns2:object ; + :label "object" . + +:concept_or rdfs:subClassOf :AMR_Relation_Concept ; + :fromAmrLk ns3:or ; + :hasPhenomenaLink :phenomena_conjunction_or ; + :label "or" . + +:concept_orbit-01 rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns11:orbit-01 ; + :label "orbit-01" . + +:concept_part rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns2:part ; + :isReifiedConcept true ; + :label "hasPart" . + +:concept_sun rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk ns2:sun ; + :label "sun" . + +:role_domain a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_NonCore_Role ; + :hasRelationName "domain" ; + :label "domain" ; + :toReifyAsConcept "domain" ; + :toReifyWithBaseEdge "ARG0" ; + :toReifyWithHeadEdge "ARG1" . + +:role_name a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_NonCore_Role ; + :label "name" . + +:role_polarity a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_Specific_Role ; + :label "polarity" . + +:value_SolarSystem a :AMR_Value ; + rdfs:label "Solar System" . + +:variable_a a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#a> ; + :label "a" . + +:variable_b a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#b> ; + :label "b" . + +:variable_d a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#d> ; + :label "d" . + +:variable_d2 a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#d2> ; + :label "d2" . + +:variable_g a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#g> ; + :label "g" . + +:variable_m9 a ns2:manner, + :AMR_Variable ; + :isReifiedVariable true ; + :label "m9" . + +:variable_o a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#o> ; + :label "o" . + +:variable_o2 a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#o2> ; + :label "o2" . + +:variable_o3 a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#o3> ; + :label "o3" . + +:variable_p a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#p> ; + :label "p" ; + :name "Solar System" . + +:variable_p9 a ns2:part, + :AMR_Variable ; + :isReifiedVariable true ; + :label "p9" . + +:variable_s a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#s> ; + :label "s" . + +:variable_s2 a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#s2> ; + :label "s2" . + +sys:Degree a owl:Class ; + rdfs:subClassOf sys:Out_Structure . + +sys:Feature a owl:Class ; + rdfs:subClassOf sys:Out_Structure . + +sys:Out_AnnotationProperty a owl:AnnotationProperty . + +<https://tenet.tetras-libre.fr/extract-result#bind> a owl:ObjectProperty ; + rdfs:label "bind" ; + rdfs:subPropertyOf sys:Out_ObjectProperty ; + sys:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#direct> a owl:ObjectProperty ; + rdfs:label "direct" ; + rdfs:subPropertyOf sys:Out_ObjectProperty ; + sys:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#direct-of> a owl:ObjectProperty ; + rdfs:label "direct-of" ; + rdfs:subPropertyOf sys:Out_ObjectProperty ; + sys:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-sun-and-object> a owl:Class ; + rdfs:label "gravitation-binding-system-hasPart-sun-and-object" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:onProperty <https://tenet.tetras-libre.fr/extract-result#bind-of> ; + owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> ], + <https://tenet.tetras-libre.fr/extract-result#gravitation> ; + sys:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#not-direct> a owl:ObjectProperty ; + rdfs:label "not-direct" ; + rdfs:subPropertyOf sys:Out_ObjectProperty ; + sys:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> a owl:ObjectProperty ; + rdfs:label "orbit-hasManner-direct" ; + rdfs:subPropertyOf sys:Out_ObjectProperty, + <https://tenet.tetras-libre.fr/extract-result#orbit> ; + sys:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-not-direct> a owl:ObjectProperty ; + rdfs:label "orbit-hasManner-not-direct" ; + rdfs:subPropertyOf sys:Out_ObjectProperty, + <https://tenet.tetras-libre.fr/extract-result#orbit> ; + sys:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#solar-system> a owl:individual, + <https://tenet.tetras-libre.fr/extract-result#system>, + <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object>, + <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-object>, + <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-sun> ; + rdfs:label "Solar System" ; + sys:fromStructure "document-01" . + +net:Feature a owl:Class ; + rdfs:subClassOf net:Net_Structure . + +net:Individual_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Logical_Set_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:atomProperty_bind_b a net:Atom_Property_Net ; + :role_ARG0 net:atomClass_gravitation_g, + net:compositeClass_gravitation-binding-system-hasPart-sun-and-object_g ; + :role_ARG1 net:atomClass_system_s, + net:compositeClass_system-hasPart-sun-and-object-hasPart-object_s, + net:compositeClass_system-hasPart-sun-and-object-hasPart-sun_s, + net:compositeClass_system-hasPart-sun-and-object_s ; + net:coverBaseNode :leaf_bind-01_b ; + net:coverNode :leaf_bind-01_b ; + net:hasNaming "bind" ; + net:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#bind-of> ; + net:hasPropertyName "bind" ; + net:hasPropertyName01 "binding" ; + net:hasPropertyName10 "bind-by" ; + net:hasPropertyName12 "bind-of" ; + net:hasPropertyType owl:ObjectProperty ; + net:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#bind> ; + net:hasStructure "document-01" ; + net:isCoreRoleLinked true ; + net:targetArgumentNode :leaf_gravitation_g, + :leaf_system_s ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:class_list a owl:Class ; + rdfs:label "classList" ; + rdfs:subClassOf net:Type . + +net:compositeClass_gravitation-binding-system-hasPart-sun-and-object_g a net:Composite_Class_Net ; + net:coverBaseNode :leaf_gravitation_g ; + net:coverNode :leaf_and_a, + :leaf_bind-01_b, + :leaf_gravitation_g, + :leaf_hasPart_p9, + :leaf_system_s ; + net:coverNodeCount 5 ; + net:hasClassName "gravitation-binding-system-hasPart-sun-and-object" ; + net:hasClassType sys:Entity ; + net:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-sun-and-object> ; + net:hasMotherClassNet net:atomClass_gravitation_g ; + net:hasRestriction01 net:restriction_binding_system-hasPart-sun-and-object ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:has_value a owl:AnnotationProperty ; + rdfs:subPropertyOf net:netProperty . + +net:objectType a owl:AnnotationProperty ; + rdfs:label "object type" ; + rdfs:subPropertyOf net:objectProperty . + +net:phenomena_conjunction-AND_a a net:Phenomena_Net ; + :role_op1 net:atomClass_sun_s2 ; + :role_op2 net:atomClass_object_o ; + net:coverBaseNode :leaf_and_a ; + net:coverNode :leaf_and_a ; + net:hasNaming "conjunction-AND" ; + net:hasPhenomenaRef "and" ; + net:hasPhenomenaType :phenomena_conjunction_and ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:phenomena_conjunction-OR_o3 a net:Phenomena_Net ; + :role_op1 net:atomProperty_direct_d ; + :role_op2 net:atomProperty_direct_d2, + net:compositeProperty_not-direct_d2 ; + net:coverBaseNode :leaf_or_o3 ; + net:coverNode :leaf_or_o3 ; + net:hasNaming "conjunction-OR" ; + net:hasPhenomenaRef "or" ; + net:hasPhenomenaType :phenomena_conjunction_or ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:restriction_binding_system-hasPart-sun-and-object a net:Restriction_Net ; + net:coverBaseNode :leaf_gravitation_g ; + net:coverNode :leaf_and_a, + :leaf_bind-01_b, + :leaf_gravitation_g, + :leaf_hasPart_p9, + :leaf_system_s ; + net:coverTargetNode :leaf_and_a, + :leaf_bind-01_b, + :leaf_hasPart_p9, + :leaf_system_s ; + net:hasNaming "gravitation-binding-system-hasPart-sun-and-object" ; + net:hasRestrictionNetValue net:compositeClass_system-hasPart-sun-and-object_s ; + net:hasRestrictionOnProperty net:atomProperty_bind_b . + +net:restriction_hasManner-direct_m9 a net:Restriction_Net ; + net:composeFrom net:atomProperty_direct_d, + net:atomProperty_direct_d2, + net:atomProperty_hasManner_m9 ; + net:coverBaseNode :leaf_hasManner_m9 ; + net:coverNode :leaf_direct-02_d, + :leaf_direct-02_d2, + :leaf_hasManner_m9 ; + net:hasNaming "hasManner-direct" ; + net:hasRestrictionNetValue net:atomProperty_direct_d, + net:atomProperty_direct_d2 ; + net:hasRestrictionOnProperty net:atomProperty_hasManner_m9 ; + net:hasStructure "document-01" . + +net:restriction_hasManner-not-direct_m9 a net:Restriction_Net ; + net:composeFrom net:atomProperty_hasManner_m9, + net:compositeProperty_not-direct_d2 ; + net:coverBaseNode :leaf_hasManner_m9 ; + net:coverNode :leaf_direct-02_d2, + :leaf_hasManner_m9 ; + net:hasNaming "hasManner-not-direct" ; + net:hasRestrictionNetValue net:compositeProperty_not-direct_d2 ; + net:hasRestrictionOnProperty net:atomProperty_hasManner_m9 ; + net:hasStructure "document-01" . + +<http://amr.isi.edu/amr_data/document-01#a> a ns3:and ; + ns2:op1 <http://amr.isi.edu/amr_data/document-01#s2> ; + ns2:op2 <http://amr.isi.edu/amr_data/document-01#o> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#d> a ns11:direct-02 ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#d2> a ns11:direct-02 ; + ns2:polarity "-" ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#g> a ns2:gravitation ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#o3> a ns3:or ; + ns2:op1 <http://amr.isi.edu/amr_data/document-01#d> ; + ns2:op2 <http://amr.isi.edu/amr_data/document-01#d2> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#p> a <http://amr.isi.edu/entity-types#planet>, + <http://amr.isi.edu/entity-types#system> ; + rdfs:label "Solar System" ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/entity-types#system> a ns3:NamedEntity ; + rdfs:label "system" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns11:bind-01 a ns3:Frame ; + rdfs:subClassOf :AMR_Linked_Data . + +ns11:orbit-01 a ns3:Frame ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:gravitation a ns3:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:manner a ns3:Role ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:object a ns3:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:part a ns3:Role ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:sun a ns3:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:system a ns3:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:NamedEntity a ns3:Concept, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-EntityType", + "AMR-Term" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:and a ns3:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:or a ns3:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +:AMR_Phenomena a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_Relation_Concept a owl:Class ; + rdfs:subClassOf :AMR_Concept . + +:AMR_Value a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:concept_direct-02 rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns11:direct-02 ; + :label "direct-02" . + +:concept_system rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk <http://amr.isi.edu/entity-types#system>, + ns2:system ; + :label "system" . + +:hasLink a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:phenomena_conjunction a owl:Class ; + rdfs:subClassOf :AMR_Phenomena ; + :hasConceptLink "contrast-01", + "either", + "neither" ; + :label "conjunction" . + +:phenomena_conjunction_and a owl:Class ; + rdfs:subClassOf :phenomena_conjunction ; + :hasConceptLink "and" ; + :label "conjunction-AND" . + +:phenomena_conjunction_or a owl:Class ; + rdfs:subClassOf :phenomena_conjunction ; + :hasConceptLink "or" ; + :label "conjunction-OR" . + +:role_op1 a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op1" . + +:role_op2 a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op2" . + +:value_negative a :AMR_Value ; + rdfs:label "negative" . + +<https://tenet.tetras-libre.fr/extract-result#bind-of> a owl:ObjectProperty ; + rdfs:label "bind-of" ; + rdfs:subPropertyOf sys:Out_ObjectProperty ; + sys:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#gravitation> a owl:Class ; + rdfs:label "gravitation" ; + rdfs:subClassOf sys:Entity ; + sys:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#hasManner> a owl:ObjectProperty ; + rdfs:label "hasManner" ; + rdfs:subPropertyOf sys:Out_ObjectProperty ; + sys:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-object> a owl:Class ; + rdfs:label "system-hasPart-sun-and-object-hasPart-object" ; + 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>, + <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> ; + sys:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-sun> a owl:Class ; + rdfs:label "system-hasPart-sun-and-object-hasPart-sun" ; + 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>, + <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> ; + sys:fromStructure "document-01" . + +net:Class_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Phenomena_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Property_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Value_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:atomClass_gravitation_g a net:Atom_Class_Net ; + net:coverBaseNode :leaf_gravitation_g ; + net:coverNode :leaf_gravitation_g ; + net:coverNodeCount 1 ; + net:hasClassName "gravitation" ; + net:hasClassType sys:Entity ; + net:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation> ; + net:hasNaming "gravitation" ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:logicalSet_and_a a net:Logical_Set_Net ; + :role_op1 net:atomClass_sun_s2 ; + :role_op2 net:atomClass_object_o ; + net:bindPropertyNet net:atomProperty_hasPart_p9 ; + net:bindRestriction net:restriction_hasPart_object, + net:restriction_hasPart_sun ; + net:containsNet net:atomClass_object_o, + net:atomClass_sun_s2 ; + net:containsNet1 net:atomClass_sun_s2 ; + net:containsNet2 net:atomClass_object_o ; + net:coverBaseNode :leaf_and_a ; + net:coverNode :leaf_and_a ; + net:hasLogicalConstraint "AND" ; + net:hasNaming "hasPart-sun-and-object" ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:objectProperty a owl:AnnotationProperty ; + rdfs:label "object attribute" . + +net:value_SolarSystem_blankNode a net:Value_Net ; + net:hasNaming "Solar System" ; + net:hasStructure "document-01" ; + net:hasValueLabel "Solar System" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:value_negative_blankNode a net:Value_Net ; + net:hasNaming "negative" ; + net:hasStructure "document-01" ; + net:hasValueLabel "negative" ; + net:trackProgress net:initialized, + net:relation_propagated . + +<http://amr.isi.edu/amr_data/document-01#o> a ns2:object ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#s> a ns2:system ; + ns2:domain <http://amr.isi.edu/amr_data/document-01#p> ; + ns2:part <http://amr.isi.edu/amr_data/document-01#a> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#s2> a ns2:sun ; + rdfs:subClassOf :AMR_Linked_Data . + +ns11:direct-02 a ns3:Frame ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:Frame a ns3:Concept, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-PropBank-Frame" ; + rdfs:subClassOf :AMR_Linked_Data . + +:AMR_Concept a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:AMR_Specific_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +:fromAmrLk a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:getProperty a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:hasReificationDefinition a owl:AnnotationProperty ; + rdfs:range rdfs:Literal ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:toReify a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +<https://tenet.tetras-libre.fr/extract-result#object> a owl:Class ; + rdfs:label "object" ; + rdfs:subClassOf sys:Entity ; + sys:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#orbit> a owl:ObjectProperty ; + rdfs:label "orbit" ; + rdfs:subPropertyOf sys:Out_ObjectProperty ; + sys:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#sun> a owl:Class ; + rdfs:label "sun" ; + rdfs:subClassOf sys:Entity ; + sys:fromStructure "document-01" . + +net:Axiom_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Composite_Property_Net a owl:Class ; + rdfs:subClassOf net:Property_Net . + +net:Deprecated_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:compositeClass_system-hasPart-sun-and-object-hasPart-object_s a net:Composite_Class_Net ; + :role_domain net:atomClass_system_p, + net:individual_system_SolarSystem ; + net:coverBaseNode :leaf_system_s ; + net:coverNode :leaf_and_a, + :leaf_hasPart_p9, + :leaf_object_o, + :leaf_system_s ; + net:coverNodeCount 4 ; + net:hasClassName "system-hasPart-sun-and-object-hasPart-object" ; + net:hasClassType sys:Entity ; + net:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-object> ; + net:hasMotherClassNet net:atomClass_system_p, + net:compositeClass_system-hasPart-sun-and-object_s ; + net:hasRestriction01 net:restriction_hasPart_object ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:compositeClass_system-hasPart-sun-and-object-hasPart-sun_s a net:Composite_Class_Net ; + :role_domain net:atomClass_system_p, + net:individual_system_SolarSystem ; + net:coverBaseNode :leaf_system_s ; + net:coverNode :leaf_and_a, + :leaf_hasPart_p9, + :leaf_sun_s2, + :leaf_system_s ; + net:coverNodeCount 4 ; + net:hasClassName "system-hasPart-sun-and-object-hasPart-sun" ; + net:hasClassType sys:Entity ; + net:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-sun> ; + net:hasMotherClassNet net:atomClass_system_p, + net:compositeClass_system-hasPart-sun-and-object_s ; + net:hasRestriction01 net:restriction_hasPart_sun ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:has_relation_value a owl:AnnotationProperty ; + rdfs:label "has relation value" ; + rdfs:subPropertyOf net:has_object . + +net:list a owl:Class ; + rdfs:label "list" ; + rdfs:subClassOf net:Type . + +net:restriction_hasPart_object a net:Restriction_Net ; + net:coverBaseNode :leaf_system_s ; + net:coverNode :leaf_and_a, + :leaf_hasPart_p9, + :leaf_object_o, + :leaf_system_s ; + net:coverTargetNode :leaf_hasPart_p9, + :leaf_object_o ; + net:hasNaming "system-hasPart-sun-and-object-hasPart-object" ; + net:hasRestrictionNetValue net:atomClass_object_o ; + net:hasRestrictionOnProperty net:atomProperty_hasPart_p9 . + +net:restriction_hasPart_sun a net:Restriction_Net ; + net:coverBaseNode :leaf_system_s ; + net:coverNode :leaf_and_a, + :leaf_hasPart_p9, + :leaf_sun_s2, + :leaf_system_s ; + net:coverTargetNode :leaf_hasPart_p9, + :leaf_sun_s2 ; + net:hasNaming "system-hasPart-sun-and-object-hasPart-sun" ; + net:hasRestrictionNetValue net:atomClass_sun_s2 ; + net:hasRestrictionOnProperty net:atomProperty_hasPart_p9 . + +ns11:FrameRole a ns3:Role, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-PropBank-Role" ; + rdfs:subClassOf :AMR_Linked_Data . + +:AMR_Element a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_Term_Concept a owl:Class ; + rdfs:subClassOf :AMR_Concept . + +:leaf_or_o3 a :AMR_Leaf ; + :edge_o3_op1_d :leaf_direct-02_d ; + :edge_o3_op2_d2 :leaf_direct-02_d2 ; + :hasConcept :concept_or ; + :hasVariable :variable_o3 . + +:role_ARG0 a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG0" . + +:role_ARG1 a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG1" . + +net:Composite_Class_Net a owl:Class ; + rdfs:subClassOf net:Class_Net . + +net:atomProperty_hasPart_p9 a net:Atom_Property_Net ; + :role_ARG0 net:atomClass_system_s, + net:compositeClass_system-hasPart-sun-and-object-hasPart-object_s, + net:compositeClass_system-hasPart-sun-and-object-hasPart-sun_s, + net:compositeClass_system-hasPart-sun-and-object_s ; + :role_ARG1 net:atomClass_object_o, + net:atomClass_sun_s2, + net:logicalSet_and_a, + net:phenomena_conjunction-AND_a ; + net:coverBaseNode :leaf_hasPart_p9 ; + net:coverNode :leaf_hasPart_p9 ; + net:hasNaming "hasPart" ; + net:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#hasPart> ; + net:hasPropertyName "hasPart" ; + net:hasPropertyName01 "hasPart" ; + net:hasPropertyName10 "hasPart" ; + net:hasPropertyName12 "hasPart" ; + net:hasPropertyType owl:ObjectProperty ; + net:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#hasPart> ; + net:hasStructure "document-01" ; + net:isCoreRoleLinked true ; + net:targetArgumentNode :leaf_and_a, + :leaf_system_s ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:individual_system_SolarSystem a net:Individual_Net ; + :role_name net:value_SolarSystem_blankNode ; + net:coverBaseNode :leaf_system_p ; + net:coverNode :leaf_system_p ; + net:hasIndividualLabel "Solar System" ; + net:hasIndividualURI <https://tenet.tetras-libre.fr/extract-result#solar-system> ; + net:hasMotherClassName net:atomClass_system_p ; + net:hasMotherClassNet net:atomClass_system_p, + net:atomClass_system_s, + net:compositeClass_system-hasPart-sun-and-object-hasPart-object_s, + net:compositeClass_system-hasPart-sun-and-object-hasPart-sun_s, + net:compositeClass_system-hasPart-sun-and-object_s ; + net:hasNaming "system" ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:typeProperty a owl:AnnotationProperty ; + rdfs:label "type property" . + +:AMR_NonCore_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +:AMR_Predicat_Concept a owl:Class ; + rdfs:subClassOf :AMR_Concept . + +:AMR_Role a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:leaf_bind-01_b a :AMR_Leaf ; + :edge_b_ARG0_g :leaf_gravitation_g ; + :edge_b_ARG1_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 . + +:leaf_system_p a :AMR_Leaf ; + :edge_p_name_SolarSystem :value_SolarSystem ; + :hasConcept :concept_system ; + :hasVariable :variable_p . + +sys:Out_Structure a owl:Class ; + rdfs:label "Output Ontology Structure" . + +<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> a owl:Class ; + rdfs:label "system-hasPart-sun-and-object" ; + 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> ], + [ 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> ; + sys:fromStructure "document-01" . + +net:Atom_Class_Net a owl:Class ; + rdfs:subClassOf net:Class_Net . + +net:Restriction_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 ; + net:hasNaming "direct" ; + net:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#direct-of> ; + net:hasPropertyName "direct" ; + net:hasPropertyName01 "directing" ; + net:hasPropertyName10 "direct-by" ; + net:hasPropertyName12 "direct-of" ; + net:hasPropertyType owl:ObjectProperty ; + net:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#direct> ; + net:hasStructure "document-01" ; + net:isCoreRoleLinked true ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:atomProperty_orbit_o2 a net:Atom_Property_Net, + net:Deprecated_Net ; + :role_ARG0 net:atomClass_object_o ; + :role_ARG1 net:atomClass_sun_s2 ; + net:coverBaseNode :leaf_orbit-01_o2 ; + net:coverNode :leaf_orbit-01_o2 ; + net:hasNaming "orbit" ; + net:hasPropertyName "orbit" ; + net:hasPropertyName01 "orbiting" ; + net:hasPropertyName10 "orbit-by" ; + net:hasPropertyName12 "orbit-of" ; + net:hasPropertyType owl:ObjectProperty ; + net:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#orbit> ; + net:hasStructure "document-01" ; + net:isCoreRoleLinked true ; + net:targetArgumentNode :leaf_object_o, + :leaf_sun_s2 ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:netProperty a owl:AnnotationProperty ; + rdfs:label "netProperty" . + +:AMR_ObjectProperty a owl:ObjectProperty ; + rdfs:subPropertyOf owl:topObjectProperty . + +:AMR_Structure a owl:Class . + +cprm:configParamProperty a rdf:Property ; + rdfs:label "Config Parameter Property" . + +<https://tenet.tetras-libre.fr/extract-result#hasPart> a owl:ObjectProperty ; + rdfs:label "hasPart" ; + rdfs:subPropertyOf sys:Out_ObjectProperty ; + sys:fromStructure "document-01" . + +<https://tenet.tetras-libre.fr/extract-result#system> a owl:Class ; + rdfs:label "system" ; + rdfs:subClassOf sys:Entity ; + sys:fromStructure "document-01" . + +net:Atom_Property_Net a owl:Class ; + rdfs:subClassOf net:Property_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)." . + +net:atomClass_system_s a net:Atom_Class_Net, + net:Deprecated_Net ; + :role_domain net:atomClass_system_p, + net:individual_system_SolarSystem ; + net:coverBaseNode :leaf_system_s ; + net:coverNode :leaf_system_s ; + net:coverNodeCount 1 ; + net:hasClassName "system" ; + net:hasClassType sys:Entity ; + net:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> ; + net:hasMotherClassNet net:atomClass_system_p ; + net:hasNaming "system" ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:atomProperty_hasManner_m9 a net:Atom_Property_Net ; + :role_ARG0 net:atomProperty_orbit_o2 ; + :role_ARG1 net:atomProperty_direct_d, + net:atomProperty_direct_d2, + net:compositeProperty_not-direct_d2, + net:phenomena_conjunction-OR_o3 ; + net:coverBaseNode :leaf_hasManner_m9 ; + net:coverNode :leaf_hasManner_m9 ; + net:hasNaming "hasManner" ; + net:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#hasManner> ; + net:hasPropertyName "hasManner" ; + net:hasPropertyName01 "hasManner" ; + net:hasPropertyName10 "hasManner" ; + net:hasPropertyName12 "hasManner" ; + net:hasPropertyType owl:ObjectProperty ; + net:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#hasManner> ; + net:hasStructure "document-01" ; + net:isCoreRoleLinked true ; + net:targetArgumentNode :leaf_or_o3, + :leaf_orbit-01_o2 ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:compositeClass_system-hasPart-sun-and-object_s a net:Composite_Class_Net ; + :role_domain net:atomClass_system_p, + net:individual_system_SolarSystem ; + net:coverBaseNode :leaf_system_s ; + net:coverNode :leaf_and_a, + :leaf_hasPart_p9, + :leaf_system_s ; + net:coverNodeCount 3 ; + net:hasClassName "system-hasPart-sun-and-object" ; + net:hasClassType sys:Entity ; + net:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> ; + net:hasMotherClassNet net:atomClass_system_p, + net:atomClass_system_s ; + net:hasNaming "system-hasPart-sun-and-object" ; + net:hasRestriction01 net:restriction_hasPart_object, + net:restriction_hasPart_sun ; + net:hasStructure "document-01" ; + net:trackMainNetComposante net:atomClass_system_s ; + net:trackNetComposante net:atomClass_system_s, + net:atomProperty_hasPart_p9, + net:logicalSet_and_a ; + net:trackProgress net:initialized, + net:relation_propagated . + +rdf:Property a owl:Class . + +:AMR_Relation a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +net:Relation a owl:Class ; + rdfs:subClassOf net:Net_Structure . + +:leaf_gravitation_g a :AMR_Leaf ; + :hasConcept :concept_gravitation ; + :hasVariable :variable_g . + +:leaf_hasManner_m9 a :AMR_Leaf ; + :edge_m9_ARG0_o2 :leaf_orbit-01_o2 ; + :edge_m9_ARG1_o3 :leaf_or_o3 ; + :hasConcept :concept_manner ; + :hasVariable :variable_m9 ; + :isReifiedLeaf true . + +:leaf_object_o a :AMR_Leaf ; + :hasConcept :concept_object ; + :hasVariable :variable_o . + +:leaf_orbit-01_o2 a :AMR_Leaf ; + :edge_o2_ARG0_o :leaf_object_o ; + :edge_o2_ARG1_s2 :leaf_sun_s2 ; + :hasConcept :concept_orbit-01 ; + :hasVariable :variable_o2 . + +:leaf_sun_s2 a :AMR_Leaf ; + :hasConcept :concept_sun ; + :hasVariable :variable_s2 . + +net:Type a owl:Class ; + rdfs:label "Semantic Net Type" ; + rdfs:subClassOf net:Net_Structure . + +net:has_object a owl:AnnotationProperty ; + rdfs:label "relation" ; + rdfs:subPropertyOf net:netProperty . + +:AMR_Op_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +net:Net a owl:Class ; + rdfs:subClassOf net:Net_Structure . + +net:atomClass_object_o a net:Atom_Class_Net ; + net:coverBaseNode :leaf_object_o ; + net:coverNode :leaf_object_o ; + net:coverNodeCount 1 ; + net:hasClassName "object" ; + net:hasClassType sys:Entity ; + net:hasClassURI <https://tenet.tetras-libre.fr/extract-result#object> ; + net:hasNaming "object" ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:atomClass_sun_s2 a net:Atom_Class_Net ; + net:coverBaseNode :leaf_sun_s2 ; + net:coverNode :leaf_sun_s2 ; + net:coverNodeCount 1 ; + net:hasClassName "sun" ; + net:hasClassType sys:Entity ; + net:hasClassURI <https://tenet.tetras-libre.fr/extract-result#sun> ; + net:hasNaming "sun" ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:compositeProperty_not-direct_d2 a net:Composite_Property_Net ; + :role_polarity net:value_negative_blankNode ; + net:composeFrom net:atomProperty_direct_d2 ; + net:coverBaseNode :leaf_direct-02_d2 ; + net:coverNode :leaf_direct-02_d2 ; + net:hasNaming "not-direct" ; + net:hasPropertyType owl:ObjectProperty ; + net:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#not-direct> ; + net:hasStructure "document-01" . + +:AMR_AnnotationProperty a owl:AnnotationProperty . + +:AMR_Core_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +net:atomClass_system_p a net:Atom_Class_Net ; + :role_name net:value_SolarSystem_blankNode ; + net:coverBaseNode :leaf_system_p ; + net:coverNode :leaf_system_p ; + net:coverNodeCount 1 ; + net:hasClassName "system" ; + net:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> ; + net:hasNaming "system" ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:atomProperty_direct_d2 a net:Atom_Property_Net, + net:Deprecated_Net ; + :role_polarity net:value_negative_blankNode ; + net:coverBaseNode :leaf_direct-02_d2 ; + net:coverNode :leaf_direct-02_d2 ; + net:hasNaming "direct" ; + net:hasPropertyName "direct" ; + net:hasPropertyName01 "directing" ; + net:hasPropertyName10 "direct-by" ; + net:hasPropertyName12 "direct-of" ; + net:hasPropertyType owl:ObjectProperty ; + net:hasStructure "document-01" ; + net:isCoreRoleLinked true ; + net:targetArgumentNode :value_negative ; + net:trackProgress net:initialized, + net:relation_propagated . + +:leaf_hasPart_p9 a :AMR_Leaf ; + :edge_p9_ARG0_s :leaf_system_s ; + :edge_p9_ARG1_a :leaf_and_a ; + :hasConcept :concept_part ; + :hasVariable :variable_p9 ; + :isReifiedLeaf true . + +sys:Out_ObjectProperty a owl:ObjectProperty . + +:AMR_Variable a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:leaf_direct-02_d2 a :AMR_Leaf ; + :edge_d2_polarity_negative :value_negative ; + :hasConcept :concept_direct-02 ; + :hasVariable :variable_d2 . + +sys:Entity a owl:Class ; + rdfs:subClassOf sys:Out_Structure . + +:leaf_and_a a :AMR_Leaf ; + :edge_a_op1_s2 :leaf_sun_s2 ; + :edge_a_op2_o :leaf_object_o ; + :hasConcept :concept_and ; + :hasVariable :variable_a . + +:AMR_Leaf a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +net:objectValue a owl:AnnotationProperty ; + rdfs:label "valuations"@fr ; + rdfs:subPropertyOf net:objectProperty . + +:AMR_Edge a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:leaf_system_s a :AMR_Leaf ; + :edge_s_domain_p :leaf_system_p ; + :hasConcept :concept_system ; + :hasVariable :variable_s . + +:AMR_Linked_Data a owl:Class . + +[] a owl:AllDisjointClasses ; + owl:members ( sys:Degree sys:Entity sys:Feature ) . + diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/ontologies-1/ontologies_preprocessing.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/ontologies-1/ontologies_preprocessing.ttl new file mode 100644 index 00000000..65757618 --- /dev/null +++ b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/ontologies-1/ontologies_preprocessing.ttl @@ -0,0 +1,1144 @@ +@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 ns11: <http://amr.isi.edu/frames/ld/v1.2.2/> . +@prefix ns2: <http://amr.isi.edu/rdf/amr-terms#> . +@prefix ns3: <http://amr.isi.edu/rdf/core-amr#> . +@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 sys: <https://tenet.tetras-libre.fr/base-ontology#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . + +ns3:Concept a rdfs:Class, + owl:Class ; + rdfs:label "AMR-Concept" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:Role a rdfs:Class, + owl:Class ; + rdfs:label "AMR-Role" ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/test-1#root01> ns3:hasID "test-1" ; + ns3:hasSentence "The sun is a star." ; + ns3:root <http://amr.isi.edu/amr_data/test-1#s> . + +<http://amr.isi.edu/amr_data/test-2#root01> ns3:hasID "test-2" ; + ns3:hasSentence "Earth is a planet." ; + ns3:root <http://amr.isi.edu/amr_data/test-2#p> . + +ns11:bind-01.ARG0 a ns11:FrameRole . + +ns11:bind-01.ARG1 a ns11:FrameRole . + +ns11:orbit-01.ARG0 a ns11:FrameRole . + +ns11:orbit-01.ARG1 a ns11:FrameRole . + +ns2:domain a ns3:Role, + owl:AnnotationProperty, + owl:NamedIndividual . + +ns2:op1 a ns3:Role . + +ns2:op2 a ns3:Role . + +ns3:hasID a owl:AnnotationProperty . + +ns3:hasSentence a owl:AnnotationProperty . + +ns3:root a owl:AnnotationProperty . + +<https://amr.tetras-libre.fr/rdf/schema> a owl:Ontology ; + owl:versionIRI :0.1 . + +:AMR_DataProperty a owl:DatatypeProperty . + +:AMR_Prep_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +:edge_a_op1_s2 a :AMR_Edge ; + :hasAmrRole :role_op1 ; + :hasRoleID "op1" . + +:edge_a_op2_o a :AMR_Edge ; + :hasAmrRole :role_op2 ; + :hasRoleID "op2" . + +:edge_b_ARG0_g a :AMR_Edge ; + :hasAmrRole :role_ARG0 ; + :hasRoleID "ARG0" . + +:edge_b_ARG1_s a :AMR_Edge ; + :hasAmrRole :role_ARG1 ; + :hasRoleID "ARG1" . + +:edge_d2_polarity_negative a :AMR_Edge ; + :hasAmrRole :role_polarity ; + :hasRoleID "polarity" . + +:edge_m9_ARG0_o2 a :AMR_Edge ; + :hasAmrRole :role_ARG0 ; + :hasRoleID "ARG0" . + +:edge_m9_ARG1_o3 a :AMR_Edge ; + :hasAmrRole :role_ARG1 ; + :hasRoleID "ARG1" . + +:edge_o2_ARG0_o a :AMR_Edge ; + :hasAmrRole :role_ARG0 ; + :hasRoleID "ARG0" . + +:edge_o2_ARG1_s2 a :AMR_Edge ; + :hasAmrRole :role_ARG1 ; + :hasRoleID "ARG1" . + +:edge_o3_op1_d a :AMR_Edge ; + :hasAmrRole :role_op1 ; + :hasRoleID "op1" . + +:edge_o3_op2_d2 a :AMR_Edge ; + :hasAmrRole :role_op2 ; + :hasRoleID "op2" . + +:edge_p9_ARG0_s a :AMR_Edge ; + :hasAmrRole :role_ARG0 ; + :hasRoleID "ARG0" . + +:edge_p9_ARG1_a a :AMR_Edge ; + :hasAmrRole :role_ARG1 ; + :hasRoleID "ARG1" . + +:edge_p_name_SolarSystem a :AMR_Edge ; + :hasAmrRole :role_name ; + :hasRoleID "name" . + +:edge_s_domain_p a :AMR_Edge ; + :hasAmrRole :role_domain ; + :hasRoleID "domain" . + +:fromAmrLkFramerole a owl:AnnotationProperty ; + rdfs:subPropertyOf :fromAmrLk . + +:fromAmrLkRole a owl:AnnotationProperty ; + rdfs:subPropertyOf :fromAmrLk . + +:fromAmrLkRoot a owl:AnnotationProperty ; + rdfs:subPropertyOf :fromAmrLk . + +:getDirectPropertyName a owl:AnnotationProperty ; + rdfs:subPropertyOf :getProperty . + +:getInversePropertyName a owl:AnnotationProperty ; + rdfs:subPropertyOf :getProperty . + +:getPropertyType a owl:AnnotationProperty ; + rdfs:subPropertyOf :getProperty . + +:hasConcept a owl:ObjectProperty ; + rdfs:domain :AMR_Leaf ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:hasConceptLink a owl:AnnotationProperty ; + rdfs:subPropertyOf :hasLink . + +:hasEdgeLink a owl:AnnotationProperty ; + rdfs:subPropertyOf :hasLink . + +:hasReification a owl:AnnotationProperty ; + rdfs:range xsd:boolean ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:hasReificationConcept a owl:AnnotationProperty ; + rdfs:subPropertyOf :hasReificationDefinition . + +:hasReificationDomain a owl:AnnotationProperty ; + rdfs:subPropertyOf :hasReificationDefinition . + +:hasReificationRange a owl:AnnotationProperty ; + rdfs:subPropertyOf :hasReificationDefinition . + +:hasRelationName a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:hasRoleID a owl:ObjectProperty ; + rdfs:domain :AMR_Edge ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:hasRoleTag a owl:ObjectProperty ; + rdfs:domain :AMR_Edge ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:hasRolesetID a owl:ObjectProperty ; + rdfs:domain :AMR_Edge ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:hasRootLeaf a owl:ObjectProperty ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:hasSentenceID a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:hasSentenceStatement a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:hasVariable a owl:ObjectProperty ; + rdfs:domain :AMR_Leaf ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:label a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:leaf_bind-01_b a :AMR_Leaf ; + :edge_b_ARG0_g :leaf_gravitation_g ; + :edge_b_ARG1_s :leaf_system_s ; + :hasConcept :concept_bind-01 ; + :hasVariable :variable_b . + +:leaf_hasManner_m9 a :AMR_Leaf ; + :edge_m9_ARG0_o2 :leaf_orbit-01_o2 ; + :edge_m9_ARG1_o3 :leaf_or_o3 ; + :hasConcept :concept_manner ; + :hasVariable :variable_m9 ; + :isReifiedLeaf true . + +:leaf_hasPart_p9 a :AMR_Leaf ; + :edge_p9_ARG0_s :leaf_system_s ; + :edge_p9_ARG1_a :leaf_and_a ; + :hasConcept :concept_part ; + :hasVariable :variable_p9 ; + :isReifiedLeaf true . + +:phenomena_degree a owl:Class ; + rdfs:subClassOf :AMR_Phenomena ; + :hasConceptLink "have-degree-91" ; + :label "degree" . + +:relation_domain a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification false ; + :hasRelationName "domain" . + +:relation_manner a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification true ; + :hasReificationConcept "hasManner" ; + :hasReificationDomain "ARG1" ; + :hasReificationRange "ARG2" ; + :hasRelationName "manner" . + +:relation_mod a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification false ; + :hasRelationName "mod" . + +:relation_name a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification false ; + :hasRelationName "name" . + +:relation_part a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification true ; + :hasReificationConcept "hasPart" ; + :hasReificationDomain "ARG1" ; + :hasReificationRange "ARG2" ; + :hasRelationName "part" . + +:relation_polarity a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification false ; + :hasRelationName "polarity" . + +:relation_quant a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification false ; + :hasRelationName "quant" . + +:role_ARG2 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG2" . + +:role_ARG3 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG3" . + +:role_ARG4 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG4" . + +:role_ARG5 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG5" . + +:role_ARG6 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG6" . + +:role_ARG7 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG7" . + +:role_ARG8 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG8" . + +:role_ARG9 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG9" . + +:role_have-degree-91 a owl:Class ; + rdfs:subClassOf :AMR_Specific_Role ; + :getPropertyType <net:specificProperty> . + +:role_manner a owl:Class ; + rdfs:subClassOf :AMR_NonCore_Role ; + :getDirectPropertyName "manner" ; + :getPropertyType owl:DataProperty ; + :label "manner" ; + :toReifyAsConcept "manner" ; + :toReifyWithBaseEdge "ARG0" ; + :toReifyWithHeadEdge "ARG1" . + +:role_mod a owl:Class ; + rdfs:subClassOf :AMR_NonCore_Role ; + :getDirectPropertyName "hasFeature"^^xsd:string ; + :getPropertyType rdfs:subClassOf, + owl:ObjectProperty ; + :label "mod" ; + :toReifyAsConcept "mod" ; + :toReifyWithBaseEdge "ARG0" ; + :toReifyWithHeadEdge "ARG1" . + +:role_op3 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op3" . + +:role_op4 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op4" . + +:role_op5 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op5" . + +:role_op6 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op6" . + +:role_op7 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op7" . + +:role_op8 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op8" . + +:role_op9 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op9" . + +:role_part a owl:Class ; + rdfs:subClassOf :AMR_NonCore_Role ; + :getDirectPropertyName "hasPart"^^xsd:string ; + :getInversePropertyName "partOf"^^xsd:string ; + :getPropertyType owl:ObjectProperty ; + :toReifyAsConcept "part" ; + :toReifyWithBaseEdge "ARG0" ; + :toReifyWithHeadEdge "ARG1" . + +:role_quant a owl:Class ; + rdfs:subClassOf :AMR_Specific_Role ; + :label "quant" . + +:root_document-01 a :AMR_Root ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#root01> ; + :hasRootLeaf :leaf_system_s ; + :hasSentenceID "document-01" ; + :hasSentenceStatement "The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly.." . + +:toReifyAsConcept a owl:AnnotationProperty ; + rdfs:subPropertyOf :toReify . + +:toReifyWithBaseEdge a owl:AnnotationProperty ; + rdfs:subPropertyOf :toReify . + +:toReifyWithHeadEdge a owl:AnnotationProperty ; + rdfs:subPropertyOf :toReify . + +<https://tenet.tetras-libre.fr/base-ontology> a owl:Ontology . + +sys:Event a owl:Class ; + rdfs:subClassOf sys:Out_Structure . + +sys:Undetermined_Thing a owl:Class ; + rdfs:subClassOf sys:Out_Structure . + +sys:fromStructure a owl:AnnotationProperty ; + rdfs:subPropertyOf sys:Out_AnnotationProperty . + +sys:hasDegree a owl:ObjectProperty ; + rdfs:subPropertyOf sys:Out_ObjectProperty . + +sys:hasFeature a owl:ObjectProperty ; + rdfs:subPropertyOf sys:Out_ObjectProperty . + +<https://tenet.tetras-libre.fr/config/parameters> a owl:Ontology . + +cprm:Config_Parameters a owl:Class ; + cprm:baseURI "https://tenet.tetras-libre.fr/" ; + cprm:netURI "https://tenet.tetras-libre.fr/semantic-net#" ; + cprm:newClassRef "new-class#" ; + cprm:newPropertyRef "new-relation#" ; + cprm:objectRef "object_" ; + cprm:targetOntologyURI "https://tenet.tetras-libre.fr/base-ontology/" . + +cprm:baseURI a rdf:Property ; + rdfs:label "Base URI" ; + rdfs:domain cprm:Frame ; + rdfs:range xsd:string ; + rdfs:subPropertyOf cprm:configParamProperty . + +cprm:netURI a rdf:Property ; + rdfs:label "Net URI" ; + rdfs:domain cprm:Frame ; + rdfs:range xsd:string ; + rdfs:subPropertyOf cprm:configParamProperty . + +cprm:newClassRef a rdf:Property ; + rdfs:label "Reference for a new class" ; + rdfs:subPropertyOf cprm:configParamProperty . + +cprm:newPropertyRef a rdf:Property ; + rdfs:label "Reference for a new property" ; + rdfs:subPropertyOf cprm:configParamProperty . + +cprm:objectRef a rdf:Property ; + rdfs:label "Object Reference" ; + rdfs:subPropertyOf cprm:configParamProperty . + +cprm:targetOntologyURI a rdf:Property ; + rdfs:label "URI of classes in target ontology" ; + rdfs:domain cprm:Frame ; + rdfs:range xsd:string ; + rdfs:subPropertyOf cprm:configParamProperty . + +<https://tenet.tetras-libre.fr/semantic-net> a owl:Ontology . + +net:Atom_Class_Net a owl:Class ; + rdfs:subClassOf net:Class_Net . + +net:Atom_Property_Net a owl:Class ; + rdfs:subClassOf net:Property_Net . + +net:Composite_Class_Net a owl:Class ; + rdfs:subClassOf net:Class_Net . + +net:Composite_Property_Net a owl:Class ; + rdfs:subClassOf net:Property_Net . + +net:Deprecated_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Individual_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Instance a owl:Class ; + rdfs:label "Semantic Net Instance" ; + rdfs:subClassOf net:Net_Structure . + +net:Logical_Set_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Object a owl:Class ; + rdfs:label "Object using in semantic net instance" ; + rdfs:subClassOf net:Net_Structure . + +net:Phenomena_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Property_Axiom_Net a owl:Class ; + rdfs:subClassOf net:Axiom_Net . + +net:Property_Direction a owl:Class ; + rdfs:subClassOf net:Feature . + +net:Relation a owl:Class ; + rdfs:subClassOf net:Net_Structure . + +net:Restriction_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Value_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:abstractionClass a owl:AnnotationProperty ; + rdfs:label "abstraction class" ; + rdfs:subPropertyOf net:objectValue . + +net:atom a owl:Class ; + rdfs:label "atom" ; + rdfs:subClassOf net:Type . + +net:atomOf a owl:AnnotationProperty ; + rdfs:label "atom of" ; + rdfs:subPropertyOf net:typeProperty . + +net:atomType a owl:AnnotationProperty ; + rdfs:label "atom type" ; + rdfs:subPropertyOf net:objectType . + +net:class a owl:Class ; + rdfs:label "class" ; + rdfs:subClassOf net:Type . + +net:composite a owl:Class ; + rdfs:label "composite" ; + rdfs:subClassOf net:Type . + +net:conjunctive_list a owl:Class ; + rdfs:label "conjunctive-list" ; + rdfs:subClassOf net:list . + +net:disjunctive_list a owl:Class ; + rdfs:label "disjunctive-list" ; + rdfs:subClassOf net:list . + +net:entityClass a owl:AnnotationProperty ; + rdfs:label "entity class" ; + rdfs:subPropertyOf net:objectValue . + +net:entity_class_list a owl:Class ; + rdfs:label "entityClassList" ; + rdfs:subClassOf net:class_list . + +net:event a owl:Class ; + rdfs:label "event" ; + rdfs:subClassOf net:Type . + +net:featureClass a owl:AnnotationProperty ; + rdfs:label "feature class" ; + rdfs:subPropertyOf net:objectValue . + +net:has_atom a owl:AnnotationProperty ; + rdfs:label "has atom" ; + rdfs:subPropertyOf net:has_object . + +net:has_class a owl:AnnotationProperty ; + rdfs:label "is class" ; + rdfs:subPropertyOf net:objectValue . + +net:has_class_name a owl:AnnotationProperty ; + rdfs:subPropertyOf net:has_value . + +net:has_class_uri a owl:AnnotationProperty ; + rdfs:label "class uri" ; + rdfs:subPropertyOf net:objectValue . + +net:has_concept a owl:AnnotationProperty ; + rdfs:label "concept "@fr ; + rdfs:subPropertyOf net:objectValue . + +net:has_entity a owl:AnnotationProperty ; + rdfs:label "has entity" ; + rdfs:subPropertyOf net:has_object . + +net:has_feature a owl:AnnotationProperty ; + rdfs:label "has feature" ; + rdfs:subPropertyOf net:has_object . + +net:has_instance a owl:AnnotationProperty ; + rdfs:label "entity instance" ; + rdfs:subPropertyOf net:objectValue . + +net:has_instance_uri a owl:AnnotationProperty ; + rdfs:label "instance uri" ; + rdfs:subPropertyOf net:objectValue . + +net:has_item a owl:AnnotationProperty ; + rdfs:label "has item" ; + rdfs:subPropertyOf net:has_object . + +net:has_mother_class a owl:AnnotationProperty ; + rdfs:label "has mother class" ; + rdfs:subPropertyOf net:objectValue . + +net:has_mother_class_uri a owl:AnnotationProperty ; + rdfs:label "parent class uri" ; + rdfs:subPropertyOf net:objectValue . + +net:has_node a owl:AnnotationProperty ; + rdfs:label "UNL Node" ; + rdfs:subPropertyOf net:netProperty . + +net:has_parent a owl:AnnotationProperty ; + rdfs:label "has parent" ; + rdfs:subPropertyOf net:has_object . + +net:has_parent_class a owl:AnnotationProperty ; + rdfs:label "parent class" ; + rdfs:subPropertyOf net:objectValue . + +net:has_parent_class_uri a owl:AnnotationProperty ; + rdfs:label "parent class uri" ; + rdfs:subPropertyOf net:objectValue . + +net:has_possible_domain a owl:AnnotationProperty ; + rdfs:label "has possible domain" ; + rdfs:subPropertyOf net:has_object . + +net:has_possible_range a owl:AnnotationProperty ; + rdfs:label "has possible range" ; + rdfs:subPropertyOf net:has_object . + +net:has_relation a owl:AnnotationProperty ; + rdfs:label "has relation" ; + rdfs:subPropertyOf net:has_relation_value . + +net:has_source a owl:AnnotationProperty ; + rdfs:label "has source" ; + rdfs:subPropertyOf net:has_relation_value . + +net:has_structure a owl:AnnotationProperty ; + rdfs:label "Linguistic Structure (in UNL Document)" ; + rdfs:subPropertyOf net:netProperty . + +net:has_target a owl:AnnotationProperty ; + rdfs:label "has target" ; + rdfs:subPropertyOf net:has_relation_value . + +net:inverse_direction a owl:NamedIndividual . + +net:listBy a owl:AnnotationProperty ; + rdfs:label "list by" ; + rdfs:subPropertyOf net:typeProperty . + +net:listGuiding a owl:AnnotationProperty ; + rdfs:label "Guiding connector of a list (or, and)" ; + rdfs:subPropertyOf net:objectValue . + +net:listOf a owl:AnnotationProperty ; + rdfs:label "list of" ; + rdfs:subPropertyOf net:typeProperty . + +net:modCat1 a owl:AnnotationProperty ; + rdfs:label "Modality Category (level 1)" ; + rdfs:subPropertyOf net:objectValue . + +net:modCat2 a owl:AnnotationProperty ; + rdfs:label "Modality Category (level 2)" ; + rdfs:subPropertyOf net:objectValue . + +net:normal_direction a owl:NamedIndividual . + +net:relation a owl:Class ; + rdfs:label "relation" ; + rdfs:subClassOf net:Type . + +net:relationOf a owl:AnnotationProperty ; + rdfs:label "relation of" ; + rdfs:subPropertyOf net:typeProperty . + +net:state_property a owl:Class ; + rdfs:label "stateProperty" ; + rdfs:subClassOf net:Type . + +net:type a owl:AnnotationProperty ; + rdfs:label "type "@fr ; + rdfs:subPropertyOf net:netProperty . + +net:unary_list a owl:Class ; + rdfs:label "unary-list" ; + rdfs:subClassOf net:list . + +net:verbClass a owl:AnnotationProperty ; + rdfs:label "verb class" ; + rdfs:subPropertyOf net:objectValue . + +<http://amr.isi.edu/amr_data/document-01#b> a ns11:bind-01 ; + ns11:bind-01.ARG0 <http://amr.isi.edu/amr_data/document-01#g> ; + ns11:bind-01.ARG1 <http://amr.isi.edu/amr_data/document-01#s> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#o2> a ns11:orbit-01 ; + ns11:orbit-01.ARG0 <http://amr.isi.edu/amr_data/document-01#o> ; + ns11:orbit-01.ARG1 <http://amr.isi.edu/amr_data/document-01#s2> ; + ns2:manner <http://amr.isi.edu/amr_data/document-01#o3> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#root01> a ns3:AMR ; + ns3:has-id "document-01" ; + ns3:has-sentence "The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly.." ; + ns3:root <http://amr.isi.edu/amr_data/document-01#s> . + +<http://amr.isi.edu/amr_data/test-1#s> ns2:domain <http://amr.isi.edu/amr_data/test-1#s2> . + +<http://amr.isi.edu/amr_data/test-2#p> rdfs:label "Earth" . + +<http://amr.isi.edu/entity-types#planet> a ns3:NamedEntity ; + rdfs:comment "bug" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:AMR a owl:Class ; + rdfs:subClassOf :AMR_Linked_Data . + +:AMR_Root a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:concept_and rdfs:subClassOf :AMR_Relation_Concept ; + :fromAmrLk ns3:and ; + :hasPhenomenaLink :phenomena_conjunction_and ; + :label "and" . + +:concept_bind-01 rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns11:bind-01 ; + :label "bind-01" . + +:concept_gravitation rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk ns2:gravitation ; + :label "gravitation" . + +:concept_manner rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns2:manner ; + :isReifiedConcept true ; + :label "hasManner" . + +:concept_object rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk ns2:object ; + :label "object" . + +:concept_or rdfs:subClassOf :AMR_Relation_Concept ; + :fromAmrLk ns3:or ; + :hasPhenomenaLink :phenomena_conjunction_or ; + :label "or" . + +:concept_orbit-01 rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns11:orbit-01 ; + :label "orbit-01" . + +:concept_part rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns2:part ; + :isReifiedConcept true ; + :label "hasPart" . + +:concept_sun rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk ns2:sun ; + :label "sun" . + +:leaf_and_a a :AMR_Leaf ; + :edge_a_op1_s2 :leaf_sun_s2 ; + :edge_a_op2_o :leaf_object_o ; + :hasConcept :concept_and ; + :hasVariable :variable_a . + +:leaf_direct-02_d a :AMR_Leaf ; + :hasConcept :concept_direct-02 ; + :hasVariable :variable_d . + +:leaf_direct-02_d2 a :AMR_Leaf ; + :edge_d2_polarity_negative :value_negative ; + :hasConcept :concept_direct-02 ; + :hasVariable :variable_d2 . + +:leaf_gravitation_g a :AMR_Leaf ; + :hasConcept :concept_gravitation ; + :hasVariable :variable_g . + +:leaf_or_o3 a :AMR_Leaf ; + :edge_o3_op1_d :leaf_direct-02_d ; + :edge_o3_op2_d2 :leaf_direct-02_d2 ; + :hasConcept :concept_or ; + :hasVariable :variable_o3 . + +:leaf_orbit-01_o2 a :AMR_Leaf ; + :edge_o2_ARG0_o :leaf_object_o ; + :edge_o2_ARG1_s2 :leaf_sun_s2 ; + :hasConcept :concept_orbit-01 ; + :hasVariable :variable_o2 . + +:leaf_system_p a :AMR_Leaf ; + :edge_p_name_SolarSystem :value_SolarSystem ; + :hasConcept :concept_system ; + :hasVariable :variable_p . + +:phenomena_conjunction_and a owl:Class ; + rdfs:subClassOf :phenomena_conjunction ; + :hasConceptLink "and" ; + :label "conjunction-AND" . + +:phenomena_conjunction_or a owl:Class ; + rdfs:subClassOf :phenomena_conjunction ; + :hasConceptLink "or" ; + :label "conjunction-OR" . + +:role_domain a owl:Class ; + rdfs:subClassOf :AMR_NonCore_Role ; + :hasRelationName "domain" ; + :label "domain" ; + :toReifyAsConcept "domain" ; + :toReifyWithBaseEdge "ARG0" ; + :toReifyWithHeadEdge "ARG1" . + +:role_name a owl:Class ; + rdfs:subClassOf :AMR_NonCore_Role ; + :label "name" . + +:role_polarity a owl:Class ; + rdfs:subClassOf :AMR_Specific_Role ; + :label "polarity" . + +:value_SolarSystem a :AMR_Value ; + rdfs:label "Solar System" . + +:value_negative a :AMR_Value ; + rdfs:label "negative" . + +:variable_a a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#a> ; + :label "a" . + +:variable_b a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#b> ; + :label "b" . + +:variable_d a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#d> ; + :label "d" . + +:variable_d2 a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#d2> ; + :label "d2" . + +:variable_g a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#g> ; + :label "g" . + +:variable_m9 a ns2:manner, + :AMR_Variable ; + :isReifiedVariable true ; + :label "m9" . + +:variable_o a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#o> ; + :label "o" . + +:variable_o2 a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#o2> ; + :label "o2" . + +:variable_o3 a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#o3> ; + :label "o3" . + +:variable_p a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#p> ; + :label "p" ; + :name "Solar System" . + +:variable_p9 a ns2:part, + :AMR_Variable ; + :isReifiedVariable true ; + :label "p9" . + +:variable_s a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#s> ; + :label "s" . + +:variable_s2 a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#s2> ; + :label "s2" . + +sys:Degree a owl:Class ; + rdfs:subClassOf sys:Out_Structure . + +sys:Entity a owl:Class ; + rdfs:subClassOf sys:Out_Structure . + +sys:Feature a owl:Class ; + rdfs:subClassOf sys:Out_Structure . + +sys:Out_AnnotationProperty a owl:AnnotationProperty . + +net:Axiom_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Feature a owl:Class ; + rdfs:subClassOf net:Net_Structure . + +net:class_list a owl:Class ; + rdfs:label "classList" ; + rdfs:subClassOf net:Type . + +net:has_value a owl:AnnotationProperty ; + rdfs:subPropertyOf net:netProperty . + +net:objectType a owl:AnnotationProperty ; + rdfs:label "object type" ; + rdfs:subPropertyOf net:objectProperty . + +<http://amr.isi.edu/amr_data/document-01#a> a ns3:and ; + ns2:op1 <http://amr.isi.edu/amr_data/document-01#s2> ; + ns2:op2 <http://amr.isi.edu/amr_data/document-01#o> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#d> a ns11:direct-02 ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#d2> a ns11:direct-02 ; + ns2:polarity "-" ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#g> a ns2:gravitation ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#o3> a ns3:or ; + ns2:op1 <http://amr.isi.edu/amr_data/document-01#d> ; + ns2:op2 <http://amr.isi.edu/amr_data/document-01#d2> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#p> a <http://amr.isi.edu/entity-types#planet>, + <http://amr.isi.edu/entity-types#system> ; + rdfs:label "Solar System" ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/entity-types#system> a ns3:NamedEntity ; + rdfs:label "system" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns11:bind-01 a ns3:Frame ; + rdfs:subClassOf :AMR_Linked_Data . + +ns11:orbit-01 a ns3:Frame ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:gravitation a ns3:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:manner a ns3:Role ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:object a ns3:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:part a ns3:Role ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:sun a ns3:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:system a ns3:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:NamedEntity a ns3:Concept, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-EntityType", + "AMR-Term" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:and a ns3:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:or a ns3:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +:AMR_Phenomena a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_Relation_Concept a owl:Class ; + rdfs:subClassOf :AMR_Concept . + +:AMR_Value a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:concept_direct-02 rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns11:direct-02 ; + :label "direct-02" . + +:concept_system rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk <http://amr.isi.edu/entity-types#system>, + ns2:system ; + :label "system" . + +:hasLink a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:leaf_object_o a :AMR_Leaf ; + :hasConcept :concept_object ; + :hasVariable :variable_o . + +:leaf_sun_s2 a :AMR_Leaf ; + :hasConcept :concept_sun ; + :hasVariable :variable_s2 . + +:phenomena_conjunction a owl:Class ; + rdfs:subClassOf :AMR_Phenomena ; + :hasConceptLink "contrast-01", + "either", + "neither" ; + :label "conjunction" . + +:role_op1 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op1" . + +:role_op2 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op2" . + +sys:Out_ObjectProperty a owl:ObjectProperty . + +net:Class_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Property_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:objectProperty a owl:AnnotationProperty ; + rdfs:label "object attribute" . + +<http://amr.isi.edu/amr_data/document-01#o> a ns2:object ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#s> a ns2:system ; + ns2:domain <http://amr.isi.edu/amr_data/document-01#p> ; + ns2:part <http://amr.isi.edu/amr_data/document-01#a> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#s2> a ns2:sun ; + rdfs:subClassOf :AMR_Linked_Data . + +ns11:direct-02 a ns3:Frame ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:Frame a ns3:Concept, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-PropBank-Frame" ; + rdfs:subClassOf :AMR_Linked_Data . + +:AMR_Concept a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:AMR_Specific_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +:fromAmrLk a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:getProperty a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:hasReificationDefinition a owl:AnnotationProperty ; + rdfs:range rdfs:Literal ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:leaf_system_s a :AMR_Leaf ; + :edge_s_domain_p :leaf_system_p ; + :hasConcept :concept_system ; + :hasVariable :variable_s . + +:toReify a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +net:has_relation_value a owl:AnnotationProperty ; + rdfs:label "has relation value" ; + rdfs:subPropertyOf net:has_object . + +net:list a owl:Class ; + rdfs:label "list" ; + rdfs:subClassOf net:Type . + +ns11:FrameRole a ns3:Role, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-PropBank-Role" ; + rdfs:subClassOf :AMR_Linked_Data . + +:AMR_Element a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_Term_Concept a owl:Class ; + rdfs:subClassOf :AMR_Concept . + +:role_ARG0 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG0" . + +:role_ARG1 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG1" . + +net:typeProperty a owl:AnnotationProperty ; + rdfs:label "type property" . + +:AMR_NonCore_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +:AMR_Predicat_Concept a owl:Class ; + rdfs:subClassOf :AMR_Concept . + +:AMR_Role a owl:Class ; + rdfs:subClassOf :AMR_Element . + +sys:Out_Structure a owl:Class ; + rdfs:label "Output Ontology Structure" . + +net:netProperty a owl:AnnotationProperty ; + rdfs:label "netProperty" . + +:AMR_ObjectProperty a owl:ObjectProperty ; + rdfs:subPropertyOf owl:topObjectProperty . + +:AMR_Structure a owl:Class . + +cprm:configParamProperty a rdf:Property ; + rdfs:label "Config Parameter Property" . + +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)." . + +rdf:Property a owl:Class . + +:AMR_Relation a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +net:Type a owl:Class ; + rdfs:label "Semantic Net Type" ; + rdfs:subClassOf net:Net_Structure . + +net:has_object a owl:AnnotationProperty ; + rdfs:label "relation" ; + rdfs:subPropertyOf net:netProperty . + +:AMR_Op_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +net:Net a owl:Class ; + rdfs:subClassOf net:Net_Structure . + +:AMR_AnnotationProperty a owl:AnnotationProperty . + +:AMR_Core_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +:AMR_Variable a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:AMR_Leaf a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +net:objectValue a owl:AnnotationProperty ; + rdfs:label "valuations"@fr ; + rdfs:subPropertyOf net:objectProperty . + +:AMR_Edge a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_Linked_Data a owl:Class . + +[] a owl:AllDisjointClasses ; + owl:members ( sys:Degree sys:Entity sys:Feature ) . + diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/ontologies-1/ontologies_transduction.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/ontologies-1/ontologies_transduction.ttl new file mode 100644 index 00000000..bd04784c --- /dev/null +++ b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/ontologies-1/ontologies_transduction.ttl @@ -0,0 +1,1606 @@ +@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 ns11: <http://amr.isi.edu/frames/ld/v1.2.2/> . +@prefix ns2: <http://amr.isi.edu/rdf/amr-terms#> . +@prefix ns3: <http://amr.isi.edu/rdf/core-amr#> . +@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 sys: <https://tenet.tetras-libre.fr/base-ontology#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . + +ns3:Concept a rdfs:Class, + owl:Class ; + rdfs:label "AMR-Concept" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:Role a rdfs:Class, + owl:Class ; + rdfs:label "AMR-Role" ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/test-1#root01> ns3:hasID "test-1" ; + ns3:hasSentence "The sun is a star." ; + ns3:root <http://amr.isi.edu/amr_data/test-1#s> . + +<http://amr.isi.edu/amr_data/test-2#root01> ns3:hasID "test-2" ; + ns3:hasSentence "Earth is a planet." ; + ns3:root <http://amr.isi.edu/amr_data/test-2#p> . + +ns11:bind-01.ARG0 a ns11:FrameRole . + +ns11:bind-01.ARG1 a ns11:FrameRole . + +ns11:orbit-01.ARG0 a ns11:FrameRole . + +ns11:orbit-01.ARG1 a ns11:FrameRole . + +ns2:domain a ns3:Role, + owl:AnnotationProperty, + owl:NamedIndividual . + +ns2:op1 a ns3:Role . + +ns2:op2 a ns3:Role . + +ns3:hasID a owl:AnnotationProperty . + +ns3:hasSentence a owl:AnnotationProperty . + +ns3:root a owl:AnnotationProperty . + +<https://amr.tetras-libre.fr/rdf/schema> a owl:Ontology ; + owl:versionIRI :0.1 . + +:AMR_DataProperty a owl:DatatypeProperty . + +:AMR_Prep_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +:edge_a_op1_s2 a :AMR_Edge ; + :hasAmrRole :role_op1 ; + :hasRoleID "op1" . + +:edge_a_op2_o a :AMR_Edge ; + :hasAmrRole :role_op2 ; + :hasRoleID "op2" . + +:edge_b_ARG0_g a :AMR_Edge ; + :hasAmrRole :role_ARG0 ; + :hasRoleID "ARG0" . + +:edge_b_ARG1_s a :AMR_Edge ; + :hasAmrRole :role_ARG1 ; + :hasRoleID "ARG1" . + +:edge_d2_polarity_negative a :AMR_Edge ; + :hasAmrRole :role_polarity ; + :hasRoleID "polarity" . + +:edge_m9_ARG0_o2 a :AMR_Edge ; + :hasAmrRole :role_ARG0 ; + :hasRoleID "ARG0" . + +:edge_m9_ARG1_o3 a :AMR_Edge ; + :hasAmrRole :role_ARG1 ; + :hasRoleID "ARG1" . + +:edge_o2_ARG0_o a :AMR_Edge ; + :hasAmrRole :role_ARG0 ; + :hasRoleID "ARG0" . + +:edge_o2_ARG1_s2 a :AMR_Edge ; + :hasAmrRole :role_ARG1 ; + :hasRoleID "ARG1" . + +:edge_o3_op1_d a :AMR_Edge ; + :hasAmrRole :role_op1 ; + :hasRoleID "op1" . + +:edge_o3_op2_d2 a :AMR_Edge ; + :hasAmrRole :role_op2 ; + :hasRoleID "op2" . + +:edge_p9_ARG0_s a :AMR_Edge ; + :hasAmrRole :role_ARG0 ; + :hasRoleID "ARG0" . + +:edge_p9_ARG1_a a :AMR_Edge ; + :hasAmrRole :role_ARG1 ; + :hasRoleID "ARG1" . + +:edge_p_name_SolarSystem a :AMR_Edge ; + :hasAmrRole :role_name ; + :hasRoleID "name" . + +:edge_s_domain_p a :AMR_Edge ; + :hasAmrRole :role_domain ; + :hasRoleID "domain" . + +:fromAmrLkFramerole a owl:AnnotationProperty ; + rdfs:subPropertyOf :fromAmrLk . + +:fromAmrLkRole a owl:AnnotationProperty ; + rdfs:subPropertyOf :fromAmrLk . + +:fromAmrLkRoot a owl:AnnotationProperty ; + rdfs:subPropertyOf :fromAmrLk . + +:getDirectPropertyName a owl:AnnotationProperty ; + rdfs:subPropertyOf :getProperty . + +:getInversePropertyName a owl:AnnotationProperty ; + rdfs:subPropertyOf :getProperty . + +:getPropertyType a owl:AnnotationProperty ; + rdfs:subPropertyOf :getProperty . + +:hasConcept a owl:ObjectProperty ; + rdfs:domain :AMR_Leaf ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:hasConceptLink a owl:AnnotationProperty ; + rdfs:subPropertyOf :hasLink . + +:hasEdgeLink a owl:AnnotationProperty ; + rdfs:subPropertyOf :hasLink . + +:hasReification a owl:AnnotationProperty ; + rdfs:range xsd:boolean ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:hasReificationConcept a owl:AnnotationProperty ; + rdfs:subPropertyOf :hasReificationDefinition . + +:hasReificationDomain a owl:AnnotationProperty ; + rdfs:subPropertyOf :hasReificationDefinition . + +:hasReificationRange a owl:AnnotationProperty ; + rdfs:subPropertyOf :hasReificationDefinition . + +:hasRelationName a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:hasRoleID a owl:ObjectProperty ; + rdfs:domain :AMR_Edge ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:hasRoleTag a owl:ObjectProperty ; + rdfs:domain :AMR_Edge ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:hasRolesetID a owl:ObjectProperty ; + rdfs:domain :AMR_Edge ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:hasRootLeaf a owl:ObjectProperty ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:hasSentenceID a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:hasSentenceStatement a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:hasVariable a owl:ObjectProperty ; + rdfs:domain :AMR_Leaf ; + rdfs:subPropertyOf :AMR_ObjectProperty . + +:label a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:phenomena_degree a owl:Class ; + rdfs:subClassOf :AMR_Phenomena ; + :hasConceptLink "have-degree-91" ; + :label "degree" . + +:relation_domain a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification false ; + :hasRelationName "domain" . + +:relation_manner a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification true ; + :hasReificationConcept "hasManner" ; + :hasReificationDomain "ARG1" ; + :hasReificationRange "ARG2" ; + :hasRelationName "manner" . + +:relation_mod a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification false ; + :hasRelationName "mod" . + +:relation_name a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification false ; + :hasRelationName "name" . + +:relation_part a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification true ; + :hasReificationConcept "hasPart" ; + :hasReificationDomain "ARG1" ; + :hasReificationRange "ARG2" ; + :hasRelationName "part" . + +:relation_polarity a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification false ; + :hasRelationName "polarity" . + +:relation_quant a owl:Class ; + rdfs:subClassOf :AMR_Relation ; + :hasReification false ; + :hasRelationName "quant" . + +:role_ARG2 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG2" . + +:role_ARG3 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG3" . + +:role_ARG4 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG4" . + +:role_ARG5 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG5" . + +:role_ARG6 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG6" . + +:role_ARG7 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG7" . + +:role_ARG8 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG8" . + +:role_ARG9 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG9" . + +:role_have-degree-91 a owl:Class ; + rdfs:subClassOf :AMR_Specific_Role ; + :getPropertyType <net:specificProperty> . + +:role_manner a owl:Class ; + rdfs:subClassOf :AMR_NonCore_Role ; + :getDirectPropertyName "manner" ; + :getPropertyType owl:DataProperty ; + :label "manner" ; + :toReifyAsConcept "manner" ; + :toReifyWithBaseEdge "ARG0" ; + :toReifyWithHeadEdge "ARG1" . + +:role_mod a owl:Class ; + rdfs:subClassOf :AMR_NonCore_Role ; + :getDirectPropertyName "hasFeature"^^xsd:string ; + :getPropertyType rdfs:subClassOf, + owl:ObjectProperty ; + :label "mod" ; + :toReifyAsConcept "mod" ; + :toReifyWithBaseEdge "ARG0" ; + :toReifyWithHeadEdge "ARG1" . + +:role_op3 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op3" . + +:role_op4 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op4" . + +:role_op5 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op5" . + +:role_op6 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op6" . + +:role_op7 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op7" . + +:role_op8 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op8" . + +:role_op9 a owl:Class ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op9" . + +:role_part a owl:Class ; + rdfs:subClassOf :AMR_NonCore_Role ; + :getDirectPropertyName "hasPart"^^xsd:string ; + :getInversePropertyName "partOf"^^xsd:string ; + :getPropertyType owl:ObjectProperty ; + :toReifyAsConcept "part" ; + :toReifyWithBaseEdge "ARG0" ; + :toReifyWithHeadEdge "ARG1" . + +:role_quant a owl:Class ; + rdfs:subClassOf :AMR_Specific_Role ; + :label "quant" . + +:root_document-01 a :AMR_Root ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#root01> ; + :hasRootLeaf :leaf_system_s ; + :hasSentenceID "document-01" ; + :hasSentenceStatement "The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly.." . + +:toReifyAsConcept a owl:AnnotationProperty ; + rdfs:subPropertyOf :toReify . + +:toReifyWithBaseEdge a owl:AnnotationProperty ; + rdfs:subPropertyOf :toReify . + +:toReifyWithHeadEdge a owl:AnnotationProperty ; + rdfs:subPropertyOf :toReify . + +<https://tenet.tetras-libre.fr/base-ontology> a owl:Ontology . + +sys:Event a owl:Class ; + rdfs:subClassOf sys:Out_Structure . + +sys:Undetermined_Thing a owl:Class ; + rdfs:subClassOf sys:Out_Structure . + +sys:fromStructure a owl:AnnotationProperty ; + rdfs:subPropertyOf sys:Out_AnnotationProperty . + +sys:hasDegree a owl:ObjectProperty ; + rdfs:subPropertyOf sys:Out_ObjectProperty . + +sys:hasFeature a owl:ObjectProperty ; + rdfs:subPropertyOf sys:Out_ObjectProperty . + +<https://tenet.tetras-libre.fr/config/parameters> a owl:Ontology . + +cprm:Config_Parameters a owl:Class ; + cprm:baseURI "https://tenet.tetras-libre.fr/" ; + cprm:netURI "https://tenet.tetras-libre.fr/semantic-net#" ; + cprm:newClassRef "new-class#" ; + cprm:newPropertyRef "new-relation#" ; + cprm:objectRef "object_" ; + cprm:targetOntologyURI "https://tenet.tetras-libre.fr/base-ontology/" . + +cprm:baseURI a rdf:Property ; + rdfs:label "Base URI" ; + rdfs:domain cprm:Frame ; + rdfs:range xsd:string ; + rdfs:subPropertyOf cprm:configParamProperty . + +cprm:netURI a rdf:Property ; + rdfs:label "Net URI" ; + rdfs:domain cprm:Frame ; + rdfs:range xsd:string ; + rdfs:subPropertyOf cprm:configParamProperty . + +cprm:newClassRef a rdf:Property ; + rdfs:label "Reference for a new class" ; + rdfs:subPropertyOf cprm:configParamProperty . + +cprm:newPropertyRef a rdf:Property ; + rdfs:label "Reference for a new property" ; + rdfs:subPropertyOf cprm:configParamProperty . + +cprm:objectRef a rdf:Property ; + rdfs:label "Object Reference" ; + rdfs:subPropertyOf cprm:configParamProperty . + +cprm:targetOntologyURI a rdf:Property ; + rdfs:label "URI of classes in target ontology" ; + rdfs:domain cprm:Frame ; + rdfs:range xsd:string ; + rdfs:subPropertyOf cprm:configParamProperty . + +<https://tenet.tetras-libre.fr/semantic-net> a owl:Ontology . + +net:Instance a owl:Class ; + rdfs:label "Semantic Net Instance" ; + rdfs:subClassOf net:Net_Structure . + +net:Object a owl:Class ; + rdfs:label "Object using in semantic net instance" ; + rdfs:subClassOf net:Net_Structure . + +net:Property_Axiom_Net a owl:Class ; + rdfs:subClassOf net:Axiom_Net . + +net:Property_Direction a owl:Class ; + rdfs:subClassOf net:Feature . + +net:abstractionClass a owl:AnnotationProperty ; + rdfs:label "abstraction class" ; + rdfs:subPropertyOf net:objectValue . + +net:atom a owl:Class ; + rdfs:label "atom" ; + rdfs:subClassOf net:Type . + +net:atomOf a owl:AnnotationProperty ; + rdfs:label "atom of" ; + rdfs:subPropertyOf net:typeProperty . + +net:atomType a owl:AnnotationProperty ; + rdfs:label "atom type" ; + rdfs:subPropertyOf net:objectType . + +net:axiom_disjointProperty_direct_not-direct_d2 a net:Axiom_Net ; + net:composeFrom net:atomProperty_direct_d2, + net:compositeProperty_not-direct_d2 ; + net:coverBaseNode :leaf_direct-02_d2 ; + net:coverNode :leaf_direct-02_d2 ; + net:hasAxiomName "disjointProperty" ; + net:hasAxiomURI owl:propertyDisjointWith ; + net:hasNaming "disjointProperty_direct_not-direct" ; + net:hasNetArgument net:atomProperty_direct_d2, + net:compositeProperty_not-direct_d2 ; + net:hasStructure "document-01" . + +net:axiom_disjointProperty_not-direct_direct_d2 a net:Axiom_Net ; + net:composeFrom net:atomProperty_direct_d2, + net:compositeProperty_not-direct_d2 ; + net:coverBaseNode :leaf_direct-02_d2 ; + net:coverNode :leaf_direct-02_d2 ; + net:hasAxiomName "disjointProperty" ; + net:hasAxiomURI owl:propertyDisjointWith ; + net:hasNaming "disjointProperty_not-direct_direct" ; + net:hasNetArgument net:atomProperty_direct_d2, + net:compositeProperty_not-direct_d2 ; + net:hasStructure "document-01" . + +net:class a owl:Class ; + rdfs:label "class" ; + rdfs:subClassOf net:Type . + +net:composite a owl:Class ; + rdfs:label "composite" ; + rdfs:subClassOf net:Type . + +net:compositeProperty_orbit-hasManner-direct_o2 a net:Composite_Property_Net ; + :role_ARG0 net:atomClass_object_o ; + :role_ARG1 net:atomClass_sun_s2 ; + net:composeFrom net:atomProperty_direct_d, + net:atomProperty_direct_d2, + net:atomProperty_hasManner_m9, + net:atomProperty_orbit_o2 ; + net:coverBaseNode :leaf_orbit-01_o2 ; + net:coverNode :leaf_direct-02_d, + :leaf_direct-02_d2, + :leaf_hasManner_m9, + :leaf_orbit-01_o2 ; + net:hasMotherPropertyNet net:atomProperty_orbit_o2 ; + net:hasNaming "orbit-hasManner-direct" ; + net:hasPropertyType owl:ObjectProperty ; + net:hasRestriction net:restriction_hasManner-direct_m9 ; + net:hasStructure "document-01" . + +net:compositeProperty_orbit-hasManner-not-direct_o2 a net:Composite_Property_Net ; + :role_ARG0 net:atomClass_object_o ; + :role_ARG1 net:atomClass_sun_s2 ; + net:composeFrom net:atomProperty_hasManner_m9, + net:atomProperty_orbit_o2, + net:compositeProperty_not-direct_d2 ; + net:coverBaseNode :leaf_orbit-01_o2 ; + net:coverNode :leaf_direct-02_d2, + :leaf_hasManner_m9, + :leaf_orbit-01_o2 ; + net:hasMotherPropertyNet net:atomProperty_orbit_o2 ; + net:hasNaming "orbit-hasManner-not-direct" ; + net:hasPropertyType owl:ObjectProperty ; + net:hasRestriction net:restriction_hasManner-not-direct_m9 ; + net:hasStructure "document-01" . + +net:conjunctive_list a owl:Class ; + rdfs:label "conjunctive-list" ; + rdfs:subClassOf net:list . + +net:disjunctive_list a owl:Class ; + rdfs:label "disjunctive-list" ; + rdfs:subClassOf net:list . + +net:entityClass a owl:AnnotationProperty ; + rdfs:label "entity class" ; + rdfs:subPropertyOf net:objectValue . + +net:entity_class_list a owl:Class ; + rdfs:label "entityClassList" ; + rdfs:subClassOf net:class_list . + +net:event a owl:Class ; + rdfs:label "event" ; + rdfs:subClassOf net:Type . + +net:featureClass a owl:AnnotationProperty ; + rdfs:label "feature class" ; + rdfs:subPropertyOf net:objectValue . + +net:has_atom a owl:AnnotationProperty ; + rdfs:label "has atom" ; + rdfs:subPropertyOf net:has_object . + +net:has_class a owl:AnnotationProperty ; + rdfs:label "is class" ; + rdfs:subPropertyOf net:objectValue . + +net:has_class_name a owl:AnnotationProperty ; + rdfs:subPropertyOf net:has_value . + +net:has_class_uri a owl:AnnotationProperty ; + rdfs:label "class uri" ; + rdfs:subPropertyOf net:objectValue . + +net:has_concept a owl:AnnotationProperty ; + rdfs:label "concept "@fr ; + rdfs:subPropertyOf net:objectValue . + +net:has_entity a owl:AnnotationProperty ; + rdfs:label "has entity" ; + rdfs:subPropertyOf net:has_object . + +net:has_feature a owl:AnnotationProperty ; + rdfs:label "has feature" ; + rdfs:subPropertyOf net:has_object . + +net:has_instance a owl:AnnotationProperty ; + rdfs:label "entity instance" ; + rdfs:subPropertyOf net:objectValue . + +net:has_instance_uri a owl:AnnotationProperty ; + rdfs:label "instance uri" ; + rdfs:subPropertyOf net:objectValue . + +net:has_item a owl:AnnotationProperty ; + rdfs:label "has item" ; + rdfs:subPropertyOf net:has_object . + +net:has_mother_class a owl:AnnotationProperty ; + rdfs:label "has mother class" ; + rdfs:subPropertyOf net:objectValue . + +net:has_mother_class_uri a owl:AnnotationProperty ; + rdfs:label "parent class uri" ; + rdfs:subPropertyOf net:objectValue . + +net:has_node a owl:AnnotationProperty ; + rdfs:label "UNL Node" ; + rdfs:subPropertyOf net:netProperty . + +net:has_parent a owl:AnnotationProperty ; + rdfs:label "has parent" ; + rdfs:subPropertyOf net:has_object . + +net:has_parent_class a owl:AnnotationProperty ; + rdfs:label "parent class" ; + rdfs:subPropertyOf net:objectValue . + +net:has_parent_class_uri a owl:AnnotationProperty ; + rdfs:label "parent class uri" ; + rdfs:subPropertyOf net:objectValue . + +net:has_possible_domain a owl:AnnotationProperty ; + rdfs:label "has possible domain" ; + rdfs:subPropertyOf net:has_object . + +net:has_possible_range a owl:AnnotationProperty ; + rdfs:label "has possible range" ; + rdfs:subPropertyOf net:has_object . + +net:has_relation a owl:AnnotationProperty ; + rdfs:label "has relation" ; + rdfs:subPropertyOf net:has_relation_value . + +net:has_source a owl:AnnotationProperty ; + rdfs:label "has source" ; + rdfs:subPropertyOf net:has_relation_value . + +net:has_structure a owl:AnnotationProperty ; + rdfs:label "Linguistic Structure (in UNL Document)" ; + rdfs:subPropertyOf net:netProperty . + +net:has_target a owl:AnnotationProperty ; + rdfs:label "has target" ; + rdfs:subPropertyOf net:has_relation_value . + +net:inverse_direction a owl:NamedIndividual . + +net:listBy a owl:AnnotationProperty ; + rdfs:label "list by" ; + rdfs:subPropertyOf net:typeProperty . + +net:listGuiding a owl:AnnotationProperty ; + rdfs:label "Guiding connector of a list (or, and)" ; + rdfs:subPropertyOf net:objectValue . + +net:listOf a owl:AnnotationProperty ; + rdfs:label "list of" ; + rdfs:subPropertyOf net:typeProperty . + +net:modCat1 a owl:AnnotationProperty ; + rdfs:label "Modality Category (level 1)" ; + rdfs:subPropertyOf net:objectValue . + +net:modCat2 a owl:AnnotationProperty ; + rdfs:label "Modality Category (level 2)" ; + rdfs:subPropertyOf net:objectValue . + +net:normal_direction a owl:NamedIndividual . + +net:relation a owl:Class ; + rdfs:label "relation" ; + rdfs:subClassOf net:Type . + +net:relationOf a owl:AnnotationProperty ; + rdfs:label "relation of" ; + rdfs:subPropertyOf net:typeProperty . + +net:state_property a owl:Class ; + rdfs:label "stateProperty" ; + rdfs:subClassOf net:Type . + +net:type a owl:AnnotationProperty ; + rdfs:label "type "@fr ; + rdfs:subPropertyOf net:netProperty . + +net:unary_list a owl:Class ; + rdfs:label "unary-list" ; + rdfs:subClassOf net:list . + +net:verbClass a owl:AnnotationProperty ; + rdfs:label "verb class" ; + rdfs:subPropertyOf net:objectValue . + +<http://amr.isi.edu/amr_data/document-01#b> a ns11:bind-01 ; + ns11:bind-01.ARG0 <http://amr.isi.edu/amr_data/document-01#g> ; + ns11:bind-01.ARG1 <http://amr.isi.edu/amr_data/document-01#s> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#o2> a ns11:orbit-01 ; + ns11:orbit-01.ARG0 <http://amr.isi.edu/amr_data/document-01#o> ; + ns11:orbit-01.ARG1 <http://amr.isi.edu/amr_data/document-01#s2> ; + ns2:manner <http://amr.isi.edu/amr_data/document-01#o3> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#root01> a ns3:AMR ; + ns3:has-id "document-01" ; + ns3:has-sentence "The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly.." ; + ns3:root <http://amr.isi.edu/amr_data/document-01#s> . + +<http://amr.isi.edu/amr_data/test-1#s> ns2:domain <http://amr.isi.edu/amr_data/test-1#s2> . + +<http://amr.isi.edu/amr_data/test-2#p> rdfs:label "Earth" . + +<http://amr.isi.edu/entity-types#planet> a ns3:NamedEntity ; + rdfs:comment "bug" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:AMR a owl:Class ; + rdfs:subClassOf :AMR_Linked_Data . + +:AMR_Root a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:concept_and rdfs:subClassOf :AMR_Relation_Concept ; + :fromAmrLk ns3:and ; + :hasPhenomenaLink :phenomena_conjunction_and ; + :label "and" . + +:concept_bind-01 rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns11:bind-01 ; + :label "bind-01" . + +:concept_gravitation rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk ns2:gravitation ; + :label "gravitation" . + +:concept_manner rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns2:manner ; + :isReifiedConcept true ; + :label "hasManner" . + +:concept_object rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk ns2:object ; + :label "object" . + +:concept_or rdfs:subClassOf :AMR_Relation_Concept ; + :fromAmrLk ns3:or ; + :hasPhenomenaLink :phenomena_conjunction_or ; + :label "or" . + +:concept_orbit-01 rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns11:orbit-01 ; + :label "orbit-01" . + +:concept_part rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns2:part ; + :isReifiedConcept true ; + :label "hasPart" . + +:concept_sun rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk ns2:sun ; + :label "sun" . + +:role_domain a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_NonCore_Role ; + :hasRelationName "domain" ; + :label "domain" ; + :toReifyAsConcept "domain" ; + :toReifyWithBaseEdge "ARG0" ; + :toReifyWithHeadEdge "ARG1" . + +:role_name a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_NonCore_Role ; + :label "name" . + +:role_polarity a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_Specific_Role ; + :label "polarity" . + +:value_SolarSystem a :AMR_Value ; + rdfs:label "Solar System" . + +:variable_a a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#a> ; + :label "a" . + +:variable_b a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#b> ; + :label "b" . + +:variable_d a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#d> ; + :label "d" . + +:variable_d2 a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#d2> ; + :label "d2" . + +:variable_g a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#g> ; + :label "g" . + +:variable_m9 a ns2:manner, + :AMR_Variable ; + :isReifiedVariable true ; + :label "m9" . + +:variable_o a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#o> ; + :label "o" . + +:variable_o2 a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#o2> ; + :label "o2" . + +:variable_o3 a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#o3> ; + :label "o3" . + +:variable_p a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#p> ; + :label "p" ; + :name "Solar System" . + +:variable_p9 a ns2:part, + :AMR_Variable ; + :isReifiedVariable true ; + :label "p9" . + +:variable_s a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#s> ; + :label "s" . + +:variable_s2 a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#s2> ; + :label "s2" . + +sys:Degree a owl:Class ; + rdfs:subClassOf sys:Out_Structure . + +sys:Feature a owl:Class ; + rdfs:subClassOf sys:Out_Structure . + +sys:Out_AnnotationProperty a owl:AnnotationProperty . + +net:Feature a owl:Class ; + rdfs:subClassOf net:Net_Structure . + +net:Individual_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Logical_Set_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:atomProperty_bind_b a net:Atom_Property_Net ; + :role_ARG0 net:atomClass_gravitation_g, + net:compositeClass_gravitation-binding-system-hasPart-sun-and-object_g ; + :role_ARG1 net:atomClass_system_s, + net:compositeClass_system-hasPart-sun-and-object-hasPart-object_s, + net:compositeClass_system-hasPart-sun-and-object-hasPart-sun_s, + net:compositeClass_system-hasPart-sun-and-object_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 "document-01" ; + net:isCoreRoleLinked true ; + net:targetArgumentNode :leaf_gravitation_g, + :leaf_system_s ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:class_list a owl:Class ; + rdfs:label "classList" ; + rdfs:subClassOf net:Type . + +net:compositeClass_gravitation-binding-system-hasPart-sun-and-object_g a net:Composite_Class_Net ; + net:coverBaseNode :leaf_gravitation_g ; + net:coverNode :leaf_and_a, + :leaf_bind-01_b, + :leaf_gravitation_g, + :leaf_hasPart_p9, + :leaf_system_s ; + net:coverNodeCount 5 ; + net:hasClassName "gravitation-binding-system-hasPart-sun-and-object" ; + net:hasClassType sys:Entity ; + net:hasMotherClassNet net:atomClass_gravitation_g ; + net:hasRestriction01 net:restriction_binding_system-hasPart-sun-and-object ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:has_value a owl:AnnotationProperty ; + rdfs:subPropertyOf net:netProperty . + +net:objectType a owl:AnnotationProperty ; + rdfs:label "object type" ; + rdfs:subPropertyOf net:objectProperty . + +net:phenomena_conjunction-AND_a a net:Phenomena_Net ; + :role_op1 net:atomClass_sun_s2 ; + :role_op2 net:atomClass_object_o ; + net:coverBaseNode :leaf_and_a ; + net:coverNode :leaf_and_a ; + net:hasNaming "conjunction-AND" ; + net:hasPhenomenaRef "and" ; + net:hasPhenomenaType :phenomena_conjunction_and ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:phenomena_conjunction-OR_o3 a net:Phenomena_Net ; + :role_op1 net:atomProperty_direct_d ; + :role_op2 net:atomProperty_direct_d2, + net:compositeProperty_not-direct_d2 ; + net:coverBaseNode :leaf_or_o3 ; + net:coverNode :leaf_or_o3 ; + net:hasNaming "conjunction-OR" ; + net:hasPhenomenaRef "or" ; + net:hasPhenomenaType :phenomena_conjunction_or ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:restriction_binding_system-hasPart-sun-and-object a net:Restriction_Net ; + net:coverBaseNode :leaf_gravitation_g ; + net:coverNode :leaf_and_a, + :leaf_bind-01_b, + :leaf_gravitation_g, + :leaf_hasPart_p9, + :leaf_system_s ; + net:coverTargetNode :leaf_and_a, + :leaf_bind-01_b, + :leaf_hasPart_p9, + :leaf_system_s ; + net:hasNaming "gravitation-binding-system-hasPart-sun-and-object" ; + net:hasRestrictionNetValue net:compositeClass_system-hasPart-sun-and-object_s ; + net:hasRestrictionOnProperty net:atomProperty_bind_b . + +net:restriction_hasManner-direct_m9 a net:Restriction_Net ; + net:composeFrom net:atomProperty_direct_d, + net:atomProperty_direct_d2, + net:atomProperty_hasManner_m9 ; + net:coverBaseNode :leaf_hasManner_m9 ; + net:coverNode :leaf_direct-02_d, + :leaf_direct-02_d2, + :leaf_hasManner_m9 ; + net:hasNaming "hasManner-direct" ; + net:hasRestrictionNetValue net:atomProperty_direct_d, + net:atomProperty_direct_d2 ; + net:hasRestrictionOnProperty net:atomProperty_hasManner_m9 ; + net:hasStructure "document-01" . + +net:restriction_hasManner-not-direct_m9 a net:Restriction_Net ; + net:composeFrom net:atomProperty_hasManner_m9, + net:compositeProperty_not-direct_d2 ; + net:coverBaseNode :leaf_hasManner_m9 ; + net:coverNode :leaf_direct-02_d2, + :leaf_hasManner_m9 ; + net:hasNaming "hasManner-not-direct" ; + net:hasRestrictionNetValue net:compositeProperty_not-direct_d2 ; + net:hasRestrictionOnProperty net:atomProperty_hasManner_m9 ; + net:hasStructure "document-01" . + +<http://amr.isi.edu/amr_data/document-01#a> a ns3:and ; + ns2:op1 <http://amr.isi.edu/amr_data/document-01#s2> ; + ns2:op2 <http://amr.isi.edu/amr_data/document-01#o> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#d> a ns11:direct-02 ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#d2> a ns11:direct-02 ; + ns2:polarity "-" ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#g> a ns2:gravitation ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#o3> a ns3:or ; + ns2:op1 <http://amr.isi.edu/amr_data/document-01#d> ; + ns2:op2 <http://amr.isi.edu/amr_data/document-01#d2> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#p> a <http://amr.isi.edu/entity-types#planet>, + <http://amr.isi.edu/entity-types#system> ; + rdfs:label "Solar System" ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/entity-types#system> a ns3:NamedEntity ; + rdfs:label "system" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns11:bind-01 a ns3:Frame ; + rdfs:subClassOf :AMR_Linked_Data . + +ns11:orbit-01 a ns3:Frame ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:gravitation a ns3:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:manner a ns3:Role ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:object a ns3:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:part a ns3:Role ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:sun a ns3:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:system a ns3:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:NamedEntity a ns3:Concept, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-EntityType", + "AMR-Term" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:and a ns3:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:or a ns3:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +:AMR_Phenomena a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_Relation_Concept a owl:Class ; + rdfs:subClassOf :AMR_Concept . + +:AMR_Value a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:concept_direct-02 rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns11:direct-02 ; + :label "direct-02" . + +:concept_system rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk <http://amr.isi.edu/entity-types#system>, + ns2:system ; + :label "system" . + +:hasLink a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:phenomena_conjunction a owl:Class ; + rdfs:subClassOf :AMR_Phenomena ; + :hasConceptLink "contrast-01", + "either", + "neither" ; + :label "conjunction" . + +:phenomena_conjunction_and a owl:Class ; + rdfs:subClassOf :phenomena_conjunction ; + :hasConceptLink "and" ; + :label "conjunction-AND" . + +:phenomena_conjunction_or a owl:Class ; + rdfs:subClassOf :phenomena_conjunction ; + :hasConceptLink "or" ; + :label "conjunction-OR" . + +:role_op1 a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op1" . + +:role_op2 a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_Op_Role ; + :label "op2" . + +:value_negative a :AMR_Value ; + rdfs:label "negative" . + +sys:Out_ObjectProperty a owl:ObjectProperty . + +net:Class_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Phenomena_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Property_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Value_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:atomClass_gravitation_g a net:Atom_Class_Net ; + net:coverBaseNode :leaf_gravitation_g ; + net:coverNode :leaf_gravitation_g ; + net:coverNodeCount 1 ; + net:hasClassName "gravitation" ; + net:hasClassType sys:Entity ; + net:hasNaming "gravitation" ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:logicalSet_and_a a net:Logical_Set_Net ; + :role_op1 net:atomClass_sun_s2 ; + :role_op2 net:atomClass_object_o ; + net:bindPropertyNet net:atomProperty_hasPart_p9 ; + net:bindRestriction net:restriction_hasPart_object, + net:restriction_hasPart_sun ; + net:containsNet net:atomClass_object_o, + net:atomClass_sun_s2 ; + net:containsNet1 net:atomClass_sun_s2 ; + net:containsNet2 net:atomClass_object_o ; + net:coverBaseNode :leaf_and_a ; + net:coverNode :leaf_and_a ; + net:hasLogicalConstraint "AND" ; + net:hasNaming "hasPart-sun-and-object" ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:objectProperty a owl:AnnotationProperty ; + rdfs:label "object attribute" . + +net:value_SolarSystem_blankNode a net:Value_Net ; + net:hasNaming "Solar System" ; + net:hasStructure "document-01" ; + net:hasValueLabel "Solar System" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:value_negative_blankNode a net:Value_Net ; + net:hasNaming "negative" ; + net:hasStructure "document-01" ; + net:hasValueLabel "negative" ; + net:trackProgress net:initialized, + net:relation_propagated . + +<http://amr.isi.edu/amr_data/document-01#o> a ns2:object ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#s> a ns2:system ; + ns2:domain <http://amr.isi.edu/amr_data/document-01#p> ; + ns2:part <http://amr.isi.edu/amr_data/document-01#a> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#s2> a ns2:sun ; + rdfs:subClassOf :AMR_Linked_Data . + +ns11:direct-02 a ns3:Frame ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:Frame a ns3:Concept, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-PropBank-Frame" ; + rdfs:subClassOf :AMR_Linked_Data . + +:AMR_Concept a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:AMR_Specific_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +:fromAmrLk a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:getProperty a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:hasReificationDefinition a owl:AnnotationProperty ; + rdfs:range rdfs:Literal ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +:toReify a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +net:Axiom_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Composite_Property_Net a owl:Class ; + rdfs:subClassOf net:Property_Net . + +net:Deprecated_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:compositeClass_system-hasPart-sun-and-object-hasPart-object_s a net:Composite_Class_Net ; + :role_domain net:atomClass_system_p, + net:individual_system_SolarSystem ; + net:coverBaseNode :leaf_system_s ; + net:coverNode :leaf_and_a, + :leaf_hasPart_p9, + :leaf_object_o, + :leaf_system_s ; + net:coverNodeCount 4 ; + net:hasClassName "system-hasPart-sun-and-object-hasPart-object" ; + net:hasClassType sys:Entity ; + net:hasMotherClassNet net:atomClass_system_p, + net:compositeClass_system-hasPart-sun-and-object_s ; + net:hasRestriction01 net:restriction_hasPart_object ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:compositeClass_system-hasPart-sun-and-object-hasPart-sun_s a net:Composite_Class_Net ; + :role_domain net:atomClass_system_p, + net:individual_system_SolarSystem ; + net:coverBaseNode :leaf_system_s ; + net:coverNode :leaf_and_a, + :leaf_hasPart_p9, + :leaf_sun_s2, + :leaf_system_s ; + net:coverNodeCount 4 ; + net:hasClassName "system-hasPart-sun-and-object-hasPart-sun" ; + net:hasClassType sys:Entity ; + net:hasMotherClassNet net:atomClass_system_p, + net:compositeClass_system-hasPart-sun-and-object_s ; + net:hasRestriction01 net:restriction_hasPart_sun ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:has_relation_value a owl:AnnotationProperty ; + rdfs:label "has relation value" ; + rdfs:subPropertyOf net:has_object . + +net:list a owl:Class ; + rdfs:label "list" ; + rdfs:subClassOf net:Type . + +net:restriction_hasPart_object a net:Restriction_Net ; + net:coverBaseNode :leaf_system_s ; + net:coverNode :leaf_and_a, + :leaf_hasPart_p9, + :leaf_object_o, + :leaf_system_s ; + net:coverTargetNode :leaf_hasPart_p9, + :leaf_object_o ; + net:hasNaming "system-hasPart-sun-and-object-hasPart-object" ; + net:hasRestrictionNetValue net:atomClass_object_o ; + net:hasRestrictionOnProperty net:atomProperty_hasPart_p9 . + +net:restriction_hasPart_sun a net:Restriction_Net ; + net:coverBaseNode :leaf_system_s ; + net:coverNode :leaf_and_a, + :leaf_hasPart_p9, + :leaf_sun_s2, + :leaf_system_s ; + net:coverTargetNode :leaf_hasPart_p9, + :leaf_sun_s2 ; + net:hasNaming "system-hasPart-sun-and-object-hasPart-sun" ; + net:hasRestrictionNetValue net:atomClass_sun_s2 ; + net:hasRestrictionOnProperty net:atomProperty_hasPart_p9 . + +ns11:FrameRole a ns3:Role, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-PropBank-Role" ; + rdfs:subClassOf :AMR_Linked_Data . + +:AMR_Element a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_Term_Concept a owl:Class ; + rdfs:subClassOf :AMR_Concept . + +:leaf_or_o3 a :AMR_Leaf ; + :edge_o3_op1_d :leaf_direct-02_d ; + :edge_o3_op2_d2 :leaf_direct-02_d2 ; + :hasConcept :concept_or ; + :hasVariable :variable_o3 . + +:role_ARG0 a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG0" . + +:role_ARG1 a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG1" . + +net:Composite_Class_Net a owl:Class ; + rdfs:subClassOf net:Class_Net . + +net:atomProperty_hasPart_p9 a net:Atom_Property_Net ; + :role_ARG0 net:atomClass_system_s, + net:compositeClass_system-hasPart-sun-and-object-hasPart-object_s, + net:compositeClass_system-hasPart-sun-and-object-hasPart-sun_s, + net:compositeClass_system-hasPart-sun-and-object_s ; + :role_ARG1 net:atomClass_object_o, + net:atomClass_sun_s2, + net:logicalSet_and_a, + net:phenomena_conjunction-AND_a ; + net:coverBaseNode :leaf_hasPart_p9 ; + net:coverNode :leaf_hasPart_p9 ; + net:hasNaming "hasPart" ; + net:hasPropertyName "hasPart" ; + net:hasPropertyName01 "hasPart" ; + net:hasPropertyName10 "hasPart" ; + net:hasPropertyName12 "hasPart" ; + net:hasPropertyType owl:ObjectProperty ; + net:hasStructure "document-01" ; + net:isCoreRoleLinked true ; + net:targetArgumentNode :leaf_and_a, + :leaf_system_s ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:individual_system_SolarSystem a net:Individual_Net ; + :role_name net:value_SolarSystem_blankNode ; + net:coverBaseNode :leaf_system_p ; + net:coverNode :leaf_system_p ; + net:hasIndividualLabel "Solar System" ; + net:hasMotherClassName net:atomClass_system_p ; + net:hasMotherClassNet net:atomClass_system_p, + net:atomClass_system_s, + net:compositeClass_system-hasPart-sun-and-object-hasPart-object_s, + net:compositeClass_system-hasPart-sun-and-object-hasPart-sun_s, + net:compositeClass_system-hasPart-sun-and-object_s ; + net:hasNaming "system" ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:typeProperty a owl:AnnotationProperty ; + rdfs:label "type property" . + +:AMR_NonCore_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +:AMR_Predicat_Concept a owl:Class ; + rdfs:subClassOf :AMR_Concept . + +:AMR_Role a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:leaf_bind-01_b a :AMR_Leaf ; + :edge_b_ARG0_g :leaf_gravitation_g ; + :edge_b_ARG1_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 . + +:leaf_system_p a :AMR_Leaf ; + :edge_p_name_SolarSystem :value_SolarSystem ; + :hasConcept :concept_system ; + :hasVariable :variable_p . + +sys:Out_Structure a owl:Class ; + rdfs:label "Output Ontology Structure" . + +net:Atom_Class_Net a owl:Class ; + rdfs:subClassOf net:Class_Net . + +net:Restriction_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 ; + net:hasNaming "direct" ; + net:hasPropertyName "direct" ; + net:hasPropertyName01 "directing" ; + net:hasPropertyName10 "direct-by" ; + net:hasPropertyName12 "direct-of" ; + net:hasPropertyType owl:ObjectProperty ; + net:hasStructure "document-01" ; + net:isCoreRoleLinked true ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:atomProperty_orbit_o2 a net:Atom_Property_Net, + net:Deprecated_Net ; + :role_ARG0 net:atomClass_object_o ; + :role_ARG1 net:atomClass_sun_s2 ; + net:coverBaseNode :leaf_orbit-01_o2 ; + net:coverNode :leaf_orbit-01_o2 ; + net:hasNaming "orbit" ; + net:hasPropertyName "orbit" ; + net:hasPropertyName01 "orbiting" ; + net:hasPropertyName10 "orbit-by" ; + net:hasPropertyName12 "orbit-of" ; + net:hasPropertyType owl:ObjectProperty ; + net:hasStructure "document-01" ; + net:isCoreRoleLinked true ; + net:targetArgumentNode :leaf_object_o, + :leaf_sun_s2 ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:netProperty a owl:AnnotationProperty ; + rdfs:label "netProperty" . + +:AMR_ObjectProperty a owl:ObjectProperty ; + rdfs:subPropertyOf owl:topObjectProperty . + +:AMR_Structure a owl:Class . + +cprm:configParamProperty a rdf:Property ; + rdfs:label "Config Parameter Property" . + +net:Atom_Property_Net a owl:Class ; + rdfs:subClassOf net:Property_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)." . + +net:atomClass_system_s a net:Atom_Class_Net, + net:Deprecated_Net ; + :role_domain net:atomClass_system_p, + net:individual_system_SolarSystem ; + net:coverBaseNode :leaf_system_s ; + net:coverNode :leaf_system_s ; + net:coverNodeCount 1 ; + net:hasClassName "system" ; + net:hasClassType sys:Entity ; + net:hasMotherClassNet net:atomClass_system_p ; + net:hasNaming "system" ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:atomProperty_hasManner_m9 a net:Atom_Property_Net ; + :role_ARG0 net:atomProperty_orbit_o2 ; + :role_ARG1 net:atomProperty_direct_d, + net:atomProperty_direct_d2, + net:compositeProperty_not-direct_d2, + net:phenomena_conjunction-OR_o3 ; + net:coverBaseNode :leaf_hasManner_m9 ; + net:coverNode :leaf_hasManner_m9 ; + net:hasNaming "hasManner" ; + net:hasPropertyName "hasManner" ; + net:hasPropertyName01 "hasManner" ; + net:hasPropertyName10 "hasManner" ; + net:hasPropertyName12 "hasManner" ; + net:hasPropertyType owl:ObjectProperty ; + net:hasStructure "document-01" ; + net:isCoreRoleLinked true ; + net:targetArgumentNode :leaf_or_o3, + :leaf_orbit-01_o2 ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:compositeClass_system-hasPart-sun-and-object_s a net:Composite_Class_Net ; + :role_domain net:atomClass_system_p, + net:individual_system_SolarSystem ; + net:coverBaseNode :leaf_system_s ; + net:coverNode :leaf_and_a, + :leaf_hasPart_p9, + :leaf_system_s ; + net:coverNodeCount 3 ; + net:hasClassName "system-hasPart-sun-and-object" ; + net:hasClassType sys:Entity ; + net:hasMotherClassNet net:atomClass_system_p, + net:atomClass_system_s ; + net:hasNaming "system-hasPart-sun-and-object" ; + net:hasRestriction01 net:restriction_hasPart_object, + net:restriction_hasPart_sun ; + net:hasStructure "document-01" ; + net:trackMainNetComposante net:atomClass_system_s ; + net:trackNetComposante net:atomClass_system_s, + net:atomProperty_hasPart_p9, + net:logicalSet_and_a ; + net:trackProgress net:initialized, + net:relation_propagated . + +rdf:Property a owl:Class . + +:AMR_Relation a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +net:Relation a owl:Class ; + rdfs:subClassOf net:Net_Structure . + +:leaf_gravitation_g a :AMR_Leaf ; + :hasConcept :concept_gravitation ; + :hasVariable :variable_g . + +:leaf_hasManner_m9 a :AMR_Leaf ; + :edge_m9_ARG0_o2 :leaf_orbit-01_o2 ; + :edge_m9_ARG1_o3 :leaf_or_o3 ; + :hasConcept :concept_manner ; + :hasVariable :variable_m9 ; + :isReifiedLeaf true . + +:leaf_object_o a :AMR_Leaf ; + :hasConcept :concept_object ; + :hasVariable :variable_o . + +:leaf_orbit-01_o2 a :AMR_Leaf ; + :edge_o2_ARG0_o :leaf_object_o ; + :edge_o2_ARG1_s2 :leaf_sun_s2 ; + :hasConcept :concept_orbit-01 ; + :hasVariable :variable_o2 . + +:leaf_sun_s2 a :AMR_Leaf ; + :hasConcept :concept_sun ; + :hasVariable :variable_s2 . + +net:Type a owl:Class ; + rdfs:label "Semantic Net Type" ; + rdfs:subClassOf net:Net_Structure . + +net:has_object a owl:AnnotationProperty ; + rdfs:label "relation" ; + rdfs:subPropertyOf net:netProperty . + +:AMR_Op_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +sys:Entity a owl:Class ; + rdfs:subClassOf sys:Out_Structure . + +net:Net a owl:Class ; + rdfs:subClassOf net:Net_Structure . + +net:atomClass_object_o a net:Atom_Class_Net ; + net:coverBaseNode :leaf_object_o ; + net:coverNode :leaf_object_o ; + net:coverNodeCount 1 ; + net:hasClassName "object" ; + net:hasClassType sys:Entity ; + net:hasNaming "object" ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:atomClass_sun_s2 a net:Atom_Class_Net ; + net:coverBaseNode :leaf_sun_s2 ; + net:coverNode :leaf_sun_s2 ; + net:coverNodeCount 1 ; + net:hasClassName "sun" ; + net:hasClassType sys:Entity ; + net:hasNaming "sun" ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:compositeProperty_not-direct_d2 a net:Composite_Property_Net ; + :role_polarity net:value_negative_blankNode ; + net:composeFrom net:atomProperty_direct_d2 ; + net:coverBaseNode :leaf_direct-02_d2 ; + net:coverNode :leaf_direct-02_d2 ; + net:hasNaming "not-direct" ; + net:hasPropertyType owl:ObjectProperty ; + net:hasStructure "document-01" . + +:AMR_AnnotationProperty a owl:AnnotationProperty . + +:AMR_Core_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +net:atomClass_system_p a net:Atom_Class_Net ; + :role_name net:value_SolarSystem_blankNode ; + net:coverBaseNode :leaf_system_p ; + net:coverNode :leaf_system_p ; + net:coverNodeCount 1 ; + net:hasClassName "system" ; + net:hasNaming "system" ; + net:hasStructure "document-01" ; + net:trackProgress net:initialized, + net:relation_propagated . + +net:atomProperty_direct_d2 a net:Atom_Property_Net, + net:Deprecated_Net ; + :role_polarity net:value_negative_blankNode ; + net:coverBaseNode :leaf_direct-02_d2 ; + net:coverNode :leaf_direct-02_d2 ; + net:hasNaming "direct" ; + net:hasPropertyName "direct" ; + net:hasPropertyName01 "directing" ; + net:hasPropertyName10 "direct-by" ; + net:hasPropertyName12 "direct-of" ; + net:hasPropertyType owl:ObjectProperty ; + net:hasStructure "document-01" ; + net:isCoreRoleLinked true ; + net:targetArgumentNode :value_negative ; + net:trackProgress net:initialized, + net:relation_propagated . + +:leaf_hasPart_p9 a :AMR_Leaf ; + :edge_p9_ARG0_s :leaf_system_s ; + :edge_p9_ARG1_a :leaf_and_a ; + :hasConcept :concept_part ; + :hasVariable :variable_p9 ; + :isReifiedLeaf true . + +:AMR_Variable a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:leaf_direct-02_d2 a :AMR_Leaf ; + :edge_d2_polarity_negative :value_negative ; + :hasConcept :concept_direct-02 ; + :hasVariable :variable_d2 . + +:leaf_and_a a :AMR_Leaf ; + :edge_a_op1_s2 :leaf_sun_s2 ; + :edge_a_op2_o :leaf_object_o ; + :hasConcept :concept_and ; + :hasVariable :variable_a . + +:AMR_Leaf a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +net:objectValue a owl:AnnotationProperty ; + rdfs:label "valuations"@fr ; + rdfs:subPropertyOf net:objectProperty . + +:AMR_Edge a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:leaf_system_s a :AMR_Leaf ; + :edge_s_domain_p :leaf_system_p ; + :hasConcept :concept_system ; + :hasVariable :variable_s . + +:AMR_Linked_Data a owl:Class . + +[] a owl:AllDisjointClasses ; + owl:members ( sys:Degree sys:Entity sys:Feature ) . + diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/tenet.log b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/tenet.log new file mode 100644 index 00000000..7dfce0e4 --- /dev/null +++ b/tests/main_tests/test_owl_output/SolarSystemDev01-DemoRef/onto-by-sentence/tenet.log @@ -0,0 +1,854 @@ +- INFO - Dash is running on https://mars.tetras-lab.io:443/voila/app_proxy/8050/ + +- DEBUG - Starting new HTTP connection (1): 0.0.0.0:8050 +- DEBUG - Starting new HTTP connection (1): 0.0.0.0:8050 +- DEBUG - http://0.0.0.0:8050 "GET /_alive_2240ad53-4374-4170-b00f-796d03746d23 HTTP/1.1" 200 5 +- DEBUG - handle_msg[2b1b3287-6617-4389-be3d-a29711ee5232]({'header': {'date': datetime.datetime(2023, 5, 17, 17, 9, 10, 332000, tzinfo=tzlocal()), 'msg_id': '26949799-e22d-4a5a-876c-b5ad40c1d899', 'msg_type': 'comm_msg', 'session': '31fc6958-a734-470d-b8ee-add485c633b0', 'username': '', 'version': '5.2'}, 'msg_id': '26949799-e22d-4a5a-876c-b5ad40c1d899', 'msg_type': 'comm_msg', 'parent_header': {}, 'metadata': {}, 'content': {'comm_id': '2b1b3287-6617-4389-be3d-a29711ee5232', 'data': {'method': 'request_states'}}, 'buffers': []}) +- DEBUG - handle_close[2b1b3287-6617-4389-be3d-a29711ee5232]({'header': {'date': datetime.datetime(2023, 5, 17, 17, 9, 10, 665000, tzinfo=tzlocal()), 'msg_id': '174ed5d4-fa76-4b23-aa8b-cd0a0edeacad', 'msg_type': 'comm_close', 'session': '31fc6958-a734-470d-b8ee-add485c633b0', 'username': '', 'version': '5.2'}, 'msg_id': '174ed5d4-fa76-4b23-aa8b-cd0a0edeacad', 'msg_type': 'comm_close', 'parent_header': {}, 'metadata': {}, 'content': {'comm_id': '2b1b3287-6617-4389-be3d-a29711ee5232', 'data': {}}, 'buffers': []}) +- INFO - [AMR Batch] NL Document Parsing +- INFO - + === Reading input string === +- INFO - -- line number: 1 +- INFO - + === Preparation === +- INFO - -- base reference: document +- INFO - -- input filepath: None +- INFO - -- output dirpath: /opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/ +- INFO - -- Reading input line set to recover a list of work data +- DEBUG - *** sentence 1 *** +<work_data.WorkData object at 0x7f55f00de5e0> +- INFO - ----- number of sentences: 1 +- DEBUG - -- Making output directory tree (/opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/) +- DEBUG - -- Generating sentence file +- INFO - + === Text Convert to AMR Graphs === +- INFO - -- library: amrlib +- INFO - -- model: model_parse_xfm_bart_large-v0_1_0 +- DEBUG - (/opt/lib/TetrasMARS/corpus/cm-tool/amrModel/model_parse_xfm_bart_large-v0_1_0) +- INFO - -- Loading AMR model +- DEBUG - Starting new HTTPS connection (1): huggingface.co:443 +- DEBUG - https://huggingface.co:443 "HEAD /facebook/bart-large/resolve/main/tokenizer_config.json HTTP/1.1" 200 0 +- INFO - -- Converting sentences to AMR graphs +- DEBUG - Configured: Tree( + ('s', [ + ('/', 'system'), + (':domain', ('p', [ + ('/', 'planet'), + (':name', ('n', [ + ('/', 'name'), + (':op1', '"Solar"'), + (':op2', '"System"')]))])), + (':ARG1-of', ('b', [ + ('/', 'bind-01'), + (':ARG0', ('g', [ + ('/', 'gravitation')]))])), + (':part', ('a', [ + ('/', 'and'), + (':op1', ('s2', [ + ('/', 'sun')])), + (':op2', ('o', [ + ('/', 'object'), + (':ARG0-of', ('o2', [ + ('/', 'orbit-01'), + (':ARG1', 's2'), + (':manner', ('o3', [ + ('/', 'or'), + (':op1', ('d', [ + ('/', 'direct-02')])), + (':op2', ('d2', [ + ('/', 'direct-02'), + (':polarity', '-')]))]))]))]))]))])) +- DEBUG - Line 1: '(s / system' +- DEBUG - Token(type='LPAREN', text='(', lineno=1, offset=0, line='(s / system') +- DEBUG - Token(type='SYMBOL', text='s', lineno=1, offset=1, line='(s / system') +- DEBUG - Token(type='SLASH', text='/', lineno=1, offset=3, line='(s / system') +- DEBUG - Token(type='SYMBOL', text='system', lineno=1, offset=5, line='(s / system') +- DEBUG - Line 2: ' :domain (p / planet' +- DEBUG - Token(type='ROLE', text=':domain', lineno=2, offset=6, line=' :domain (p / planet') +- DEBUG - Token(type='LPAREN', text='(', lineno=2, offset=14, line=' :domain (p / planet') +- DEBUG - Token(type='SYMBOL', text='p', lineno=2, offset=15, line=' :domain (p / planet') +- DEBUG - Token(type='SLASH', text='/', lineno=2, offset=17, line=' :domain (p / planet') +- DEBUG - Token(type='SYMBOL', text='planet', lineno=2, offset=19, line=' :domain (p / planet') +- DEBUG - Line 3: ' :name (n / name' +- DEBUG - Token(type='ROLE', text=':name', lineno=3, offset=12, line=' :name (n / name') +- DEBUG - Token(type='LPAREN', text='(', lineno=3, offset=18, line=' :name (n / name') +- DEBUG - Token(type='SYMBOL', text='n', lineno=3, offset=19, line=' :name (n / name') +- DEBUG - Token(type='SLASH', text='/', lineno=3, offset=21, line=' :name (n / name') +- DEBUG - Token(type='SYMBOL', text='name', lineno=3, offset=23, line=' :name (n / name') +- DEBUG - Line 4: ' :op1 "Solar"' +- DEBUG - Token(type='ROLE', text=':op1', lineno=4, offset=18, line=' :op1 "Solar"') +- DEBUG - Token(type='STRING', text='"Solar"', lineno=4, offset=23, line=' :op1 "Solar"') +- DEBUG - Line 5: ' :op2 "System"))' +- DEBUG - Token(type='ROLE', text=':op2', lineno=5, offset=18, line=' :op2 "System"))') +- DEBUG - Token(type='STRING', text='"System"', lineno=5, offset=23, line=' :op2 "System"))') +- DEBUG - Token(type='RPAREN', text=')', lineno=5, offset=31, line=' :op2 "System"))') +- DEBUG - Token(type='RPAREN', text=')', lineno=5, offset=32, line=' :op2 "System"))') +- DEBUG - Line 6: ' :ARG1-of (b / bind-01' +- DEBUG - Token(type='ROLE', text=':ARG1-of', lineno=6, offset=6, line=' :ARG1-of (b / bind-01') +- DEBUG - Token(type='LPAREN', text='(', lineno=6, offset=15, line=' :ARG1-of (b / bind-01') +- DEBUG - Token(type='SYMBOL', text='b', lineno=6, offset=16, line=' :ARG1-of (b / bind-01') +- DEBUG - Token(type='SLASH', text='/', lineno=6, offset=18, line=' :ARG1-of (b / bind-01') +- DEBUG - Token(type='SYMBOL', text='bind-01', lineno=6, offset=20, line=' :ARG1-of (b / bind-01') +- DEBUG - Line 7: ' :ARG0 (g / gravitation))' +- DEBUG - Token(type='ROLE', text=':ARG0', lineno=7, offset=12, line=' :ARG0 (g / gravitation))') +- DEBUG - Token(type='LPAREN', text='(', lineno=7, offset=18, line=' :ARG0 (g / gravitation))') +- DEBUG - Token(type='SYMBOL', text='g', lineno=7, offset=19, line=' :ARG0 (g / gravitation))') +- DEBUG - Token(type='SLASH', text='/', lineno=7, offset=21, line=' :ARG0 (g / gravitation))') +- DEBUG - Token(type='SYMBOL', text='gravitation', lineno=7, offset=23, line=' :ARG0 (g / gravitation))') +- DEBUG - Token(type='RPAREN', text=')', lineno=7, offset=34, line=' :ARG0 (g / gravitation))') +- DEBUG - Token(type='RPAREN', text=')', lineno=7, offset=35, line=' :ARG0 (g / gravitation))') +- DEBUG - Line 8: ' :part (a / and' +- DEBUG - Token(type='ROLE', text=':part', lineno=8, offset=6, line=' :part (a / and') +- DEBUG - Token(type='LPAREN', text='(', lineno=8, offset=12, line=' :part (a / and') +- DEBUG - Token(type='SYMBOL', text='a', lineno=8, offset=13, line=' :part (a / and') +- DEBUG - Token(type='SLASH', text='/', lineno=8, offset=15, line=' :part (a / and') +- DEBUG - Token(type='SYMBOL', text='and', lineno=8, offset=17, line=' :part (a / and') +- DEBUG - Line 9: ' :op1 (s2 / sun)' +- DEBUG - Token(type='ROLE', text=':op1', lineno=9, offset=12, line=' :op1 (s2 / sun)') +- DEBUG - Token(type='LPAREN', text='(', lineno=9, offset=17, line=' :op1 (s2 / sun)') +- DEBUG - Token(type='SYMBOL', text='s2', lineno=9, offset=18, line=' :op1 (s2 / sun)') +- DEBUG - Token(type='SLASH', text='/', lineno=9, offset=21, line=' :op1 (s2 / sun)') +- DEBUG - Token(type='SYMBOL', text='sun', lineno=9, offset=23, line=' :op1 (s2 / sun)') +- DEBUG - Token(type='RPAREN', text=')', lineno=9, offset=26, line=' :op1 (s2 / sun)') +- DEBUG - Line 10: ' :op2 (o / object' +- DEBUG - Token(type='ROLE', text=':op2', lineno=10, offset=12, line=' :op2 (o / object') +- DEBUG - Token(type='LPAREN', text='(', lineno=10, offset=17, line=' :op2 (o / object') +- DEBUG - Token(type='SYMBOL', text='o', lineno=10, offset=18, line=' :op2 (o / object') +- DEBUG - Token(type='SLASH', text='/', lineno=10, offset=20, line=' :op2 (o / object') +- DEBUG - Token(type='SYMBOL', text='object', lineno=10, offset=22, line=' :op2 (o / object') +- DEBUG - Line 11: ' :ARG0-of (o2 / orbit-01' +- DEBUG - Token(type='ROLE', text=':ARG0-of', lineno=11, offset=18, line=' :ARG0-of (o2 / orbit-01') +- DEBUG - Token(type='LPAREN', text='(', lineno=11, offset=27, line=' :ARG0-of (o2 / orbit-01') +- DEBUG - Token(type='SYMBOL', text='o2', lineno=11, offset=28, line=' :ARG0-of (o2 / orbit-01') +- DEBUG - Token(type='SLASH', text='/', lineno=11, offset=31, line=' :ARG0-of (o2 / orbit-01') +- DEBUG - Token(type='SYMBOL', text='orbit-01', lineno=11, offset=33, line=' :ARG0-of (o2 / orbit-01') +- DEBUG - Line 12: ' :ARG1 s2' +- DEBUG - Token(type='ROLE', text=':ARG1', lineno=12, offset=24, line=' :ARG1 s2') +- DEBUG - Token(type='SYMBOL', text='s2', lineno=12, offset=30, line=' :ARG1 s2') +- DEBUG - Line 13: ' :manner (o3 / or' +- DEBUG - Token(type='ROLE', text=':manner', lineno=13, offset=24, line=' :manner (o3 / or') +- DEBUG - Token(type='LPAREN', text='(', lineno=13, offset=32, line=' :manner (o3 / or') +- DEBUG - Token(type='SYMBOL', text='o3', lineno=13, offset=33, line=' :manner (o3 / or') +- DEBUG - Token(type='SLASH', text='/', lineno=13, offset=36, line=' :manner (o3 / or') +- DEBUG - Token(type='SYMBOL', text='or', lineno=13, offset=38, line=' :manner (o3 / or') +- DEBUG - Line 14: ' :op1 (d / direct-02)' +- DEBUG - Token(type='ROLE', text=':op1', lineno=14, offset=30, line=' :op1 (d / direct-02)') +- DEBUG - Token(type='LPAREN', text='(', lineno=14, offset=35, line=' :op1 (d / direct-02)') +- DEBUG - Token(type='SYMBOL', text='d', lineno=14, offset=36, line=' :op1 (d / direct-02)') +- DEBUG - Token(type='SLASH', text='/', lineno=14, offset=38, line=' :op1 (d / direct-02)') +- DEBUG - Token(type='SYMBOL', text='direct-02', lineno=14, offset=40, line=' :op1 (d / direct-02)') +- DEBUG - Token(type='RPAREN', text=')', lineno=14, offset=49, line=' :op1 (d / direct-02)') +- DEBUG - Line 15: ' :op2 (d2 / direct-02' +- DEBUG - Token(type='ROLE', text=':op2', lineno=15, offset=30, line=' :op2 (d2 / direct-02') +- DEBUG - Token(type='LPAREN', text='(', lineno=15, offset=35, line=' :op2 (d2 / direct-02') +- DEBUG - Token(type='SYMBOL', text='d2', lineno=15, offset=36, line=' :op2 (d2 / direct-02') +- DEBUG - Token(type='SLASH', text='/', lineno=15, offset=39, line=' :op2 (d2 / direct-02') +- DEBUG - Token(type='SYMBOL', text='direct-02', lineno=15, offset=41, line=' :op2 (d2 / direct-02') +- DEBUG - Line 16: ' :polarity -))))))' +- DEBUG - Token(type='ROLE', text=':polarity', lineno=16, offset=36, line=' :polarity -))))))') +- DEBUG - Token(type='SYMBOL', text='-', lineno=16, offset=46, line=' :polarity -))))))') +- DEBUG - Token(type='RPAREN', text=')', lineno=16, offset=47, line=' :polarity -))))))') +- DEBUG - Token(type='RPAREN', text=')', lineno=16, offset=48, line=' :polarity -))))))') +- DEBUG - Token(type='RPAREN', text=')', lineno=16, offset=49, line=' :polarity -))))))') +- DEBUG - Token(type='RPAREN', text=')', lineno=16, offset=50, line=' :polarity -))))))') +- DEBUG - Token(type='RPAREN', text=')', lineno=16, offset=51, line=' :polarity -))))))') +- DEBUG - Token(type='RPAREN', text=')', lineno=16, offset=52, line=' :polarity -))))))') +- DEBUG - Parsed: Tree( + ('s', [ + ('/', 'system'), + (':domain', ('p', [ + ('/', 'planet'), + (':name', ('n', [ + ('/', 'name'), + (':op1', '"Solar"'), + (':op2', '"System"')]))])), + (':ARG1-of', ('b', [ + ('/', 'bind-01'), + (':ARG0', ('g', [ + ('/', 'gravitation')]))])), + (':part', ('a', [ + ('/', 'and'), + (':op1', ('s2', [ + ('/', 'sun')])), + (':op2', ('o', [ + ('/', 'object'), + (':ARG0-of', ('o2', [ + ('/', 'orbit-01'), + (':ARG1', 's2'), + (':manner', ('o3', [ + ('/', 'or'), + (':op1', ('d', [ + ('/', 'direct-02')])), + (':op2', ('d2', [ + ('/', 'direct-02'), + (':polarity', '-')]))]))]))]))]))])) +- INFO - Interpreted: Graph( + [('s', ':instance', 'system'), + ('s', ':domain', 'p'), + ('p', ':instance', 'planet'), + ('p', ':name', 'n'), + ('n', ':instance', 'name'), + ('n', ':op1', '"Solar"'), + ('n', ':op2', '"System"'), + ('s', ':ARG1-of', 'b'), + ('b', ':instance', 'bind-01'), + ('b', ':ARG0', 'g'), + ('g', ':instance', 'gravitation'), + ('s', ':part', 'a'), + ('a', ':instance', 'and'), + ('a', ':op1', 's2'), + ('s2', ':instance', 'sun'), + ('a', ':op2', 'o'), + ('o', ':instance', 'object'), + ('o', ':ARG0-of', 'o2'), + ('o2', ':instance', 'orbit-01'), + ('o2', ':ARG1', 's2'), + ('o2', ':manner', 'o3'), + ('o3', ':instance', 'or'), + ('o3', ':op1', 'd'), + ('d', ':instance', 'direct-02'), + ('o3', ':op2', 'd2'), + ('d2', ':instance', 'direct-02'), + ('d2', ':polarity', '-')], + epidata={('s', ':instance', 'system'): [], + ('s', ':domain', 'p'): [Push(p)], + ('p', ':instance', 'planet'): [], + ('p', ':name', 'n'): [Push(n)], + ('n', ':instance', 'name'): [], + ('n', ':op1', '"Solar"'): [], + ('n', ':op2', '"System"'): [POP, POP], + ('s', ':ARG1-of', 'b'): [Push(b)], + ('b', ':instance', 'bind-01'): [], + ('b', ':ARG0', 'g'): [Push(g)], + ('g', ':instance', 'gravitation'): [POP, POP], + ('s', ':part', 'a'): [Push(a)], + ('a', ':instance', 'and'): [], + ('a', ':op1', 's2'): [Push(s2)], + ('s2', ':instance', 'sun'): [POP], + ('a', ':op2', 'o'): [Push(o)], + ('o', ':instance', 'object'): [], + ('o', ':ARG0-of', 'o2'): [Push(o2)], + ('o2', ':instance', 'orbit-01'): [], + ('o2', ':ARG1', 's2'): [], + ('o2', ':manner', 'o3'): [Push(o3)], + ('o3', ':instance', 'or'): [], + ('o3', ':op1', 'd'): [Push(d)], + ('d', ':instance', 'direct-02'): [POP], + ('o3', ':op2', 'd2'): [Push(d2)], + ('d2', ':instance', 'direct-02'): [], + ('d2', ':polarity', '-'): [POP, POP, POP, POP, POP]}) +- INFO - ----- Sentence 1 successfully processed +- DEBUG - ['# ::snt The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly..\n(s / system\n :domain (p / planet\n :name (n / name\n :op1 "Solar"\n :op2 "System"))\n :ARG1-of (b / bind-01\n :ARG0 (g / gravitation))\n :part (a / and\n :op1 (s2 / sun)\n :op2 (o / object\n :ARG0-of (o2 / orbit-01\n :ARG1 s2\n :manner (o3 / or\n :op1 (d / direct-02)\n :op2 (d2 / direct-02\n :polarity -))))))'] +- INFO - ----- Total processed graph number: 1 +- INFO - -- Generating AMR graph files +- DEBUG - ----- AMR Graph file (penman): document-01.stog.amr.penman +- DEBUG - ----- AMR Graph file (dot): document-01.stog.amr.dot +- DEBUG - Line 1: '# ::snt The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly..' +- DEBUG - Token(type='COMMENT', text='# ::snt The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly..', lineno=1, offset=0, line='# ::snt The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly..') +- DEBUG - Line 2: '(s / system' +- DEBUG - Token(type='LPAREN', text='(', lineno=2, offset=0, line='(s / system') +- DEBUG - Token(type='SYMBOL', text='s', lineno=2, offset=1, line='(s / system') +- DEBUG - Token(type='SLASH', text='/', lineno=2, offset=3, line='(s / system') +- DEBUG - Token(type='SYMBOL', text='system', lineno=2, offset=5, line='(s / system') +- DEBUG - Line 3: ' :domain (p / planet' +- DEBUG - Token(type='ROLE', text=':domain', lineno=3, offset=6, line=' :domain (p / planet') +- DEBUG - Token(type='LPAREN', text='(', lineno=3, offset=14, line=' :domain (p / planet') +- DEBUG - Token(type='SYMBOL', text='p', lineno=3, offset=15, line=' :domain (p / planet') +- DEBUG - Token(type='SLASH', text='/', lineno=3, offset=17, line=' :domain (p / planet') +- DEBUG - Token(type='SYMBOL', text='planet', lineno=3, offset=19, line=' :domain (p / planet') +- DEBUG - Line 4: ' :name (n / name' +- DEBUG - Token(type='ROLE', text=':name', lineno=4, offset=12, line=' :name (n / name') +- DEBUG - Token(type='LPAREN', text='(', lineno=4, offset=18, line=' :name (n / name') +- DEBUG - Token(type='SYMBOL', text='n', lineno=4, offset=19, line=' :name (n / name') +- DEBUG - Token(type='SLASH', text='/', lineno=4, offset=21, line=' :name (n / name') +- DEBUG - Token(type='SYMBOL', text='name', lineno=4, offset=23, line=' :name (n / name') +- DEBUG - Line 5: ' :op1 "Solar"' +- DEBUG - Token(type='ROLE', text=':op1', lineno=5, offset=18, line=' :op1 "Solar"') +- DEBUG - Token(type='STRING', text='"Solar"', lineno=5, offset=23, line=' :op1 "Solar"') +- DEBUG - Line 6: ' :op2 "System"))' +- DEBUG - Token(type='ROLE', text=':op2', lineno=6, offset=18, line=' :op2 "System"))') +- DEBUG - Token(type='STRING', text='"System"', lineno=6, offset=23, line=' :op2 "System"))') +- DEBUG - Token(type='RPAREN', text=')', lineno=6, offset=31, line=' :op2 "System"))') +- DEBUG - Token(type='RPAREN', text=')', lineno=6, offset=32, line=' :op2 "System"))') +- DEBUG - Line 7: ' :ARG1-of (b / bind-01' +- DEBUG - Token(type='ROLE', text=':ARG1-of', lineno=7, offset=6, line=' :ARG1-of (b / bind-01') +- DEBUG - Token(type='LPAREN', text='(', lineno=7, offset=15, line=' :ARG1-of (b / bind-01') +- DEBUG - Token(type='SYMBOL', text='b', lineno=7, offset=16, line=' :ARG1-of (b / bind-01') +- DEBUG - Token(type='SLASH', text='/', lineno=7, offset=18, line=' :ARG1-of (b / bind-01') +- DEBUG - Token(type='SYMBOL', text='bind-01', lineno=7, offset=20, line=' :ARG1-of (b / bind-01') +- DEBUG - Line 8: ' :ARG0 (g / gravitation))' +- DEBUG - Token(type='ROLE', text=':ARG0', lineno=8, offset=12, line=' :ARG0 (g / gravitation))') +- DEBUG - Token(type='LPAREN', text='(', lineno=8, offset=18, line=' :ARG0 (g / gravitation))') +- DEBUG - Token(type='SYMBOL', text='g', lineno=8, offset=19, line=' :ARG0 (g / gravitation))') +- DEBUG - Token(type='SLASH', text='/', lineno=8, offset=21, line=' :ARG0 (g / gravitation))') +- DEBUG - Token(type='SYMBOL', text='gravitation', lineno=8, offset=23, line=' :ARG0 (g / gravitation))') +- DEBUG - Token(type='RPAREN', text=')', lineno=8, offset=34, line=' :ARG0 (g / gravitation))') +- DEBUG - Token(type='RPAREN', text=')', lineno=8, offset=35, line=' :ARG0 (g / gravitation))') +- DEBUG - Line 9: ' :part (a / and' +- DEBUG - Token(type='ROLE', text=':part', lineno=9, offset=6, line=' :part (a / and') +- DEBUG - Token(type='LPAREN', text='(', lineno=9, offset=12, line=' :part (a / and') +- DEBUG - Token(type='SYMBOL', text='a', lineno=9, offset=13, line=' :part (a / and') +- DEBUG - Token(type='SLASH', text='/', lineno=9, offset=15, line=' :part (a / and') +- DEBUG - Token(type='SYMBOL', text='and', lineno=9, offset=17, line=' :part (a / and') +- DEBUG - Line 10: ' :op1 (s2 / sun)' +- DEBUG - Token(type='ROLE', text=':op1', lineno=10, offset=12, line=' :op1 (s2 / sun)') +- DEBUG - Token(type='LPAREN', text='(', lineno=10, offset=17, line=' :op1 (s2 / sun)') +- DEBUG - Token(type='SYMBOL', text='s2', lineno=10, offset=18, line=' :op1 (s2 / sun)') +- DEBUG - Token(type='SLASH', text='/', lineno=10, offset=21, line=' :op1 (s2 / sun)') +- DEBUG - Token(type='SYMBOL', text='sun', lineno=10, offset=23, line=' :op1 (s2 / sun)') +- DEBUG - Token(type='RPAREN', text=')', lineno=10, offset=26, line=' :op1 (s2 / sun)') +- DEBUG - Line 11: ' :op2 (o / object' +- DEBUG - Token(type='ROLE', text=':op2', lineno=11, offset=12, line=' :op2 (o / object') +- DEBUG - Token(type='LPAREN', text='(', lineno=11, offset=17, line=' :op2 (o / object') +- DEBUG - Token(type='SYMBOL', text='o', lineno=11, offset=18, line=' :op2 (o / object') +- DEBUG - Token(type='SLASH', text='/', lineno=11, offset=20, line=' :op2 (o / object') +- DEBUG - Token(type='SYMBOL', text='object', lineno=11, offset=22, line=' :op2 (o / object') +- DEBUG - Line 12: ' :ARG0-of (o2 / orbit-01' +- DEBUG - Token(type='ROLE', text=':ARG0-of', lineno=12, offset=18, line=' :ARG0-of (o2 / orbit-01') +- DEBUG - Token(type='LPAREN', text='(', lineno=12, offset=27, line=' :ARG0-of (o2 / orbit-01') +- DEBUG - Token(type='SYMBOL', text='o2', lineno=12, offset=28, line=' :ARG0-of (o2 / orbit-01') +- DEBUG - Token(type='SLASH', text='/', lineno=12, offset=31, line=' :ARG0-of (o2 / orbit-01') +- DEBUG - Token(type='SYMBOL', text='orbit-01', lineno=12, offset=33, line=' :ARG0-of (o2 / orbit-01') +- DEBUG - Line 13: ' :ARG1 s2' +- DEBUG - Token(type='ROLE', text=':ARG1', lineno=13, offset=24, line=' :ARG1 s2') +- DEBUG - Token(type='SYMBOL', text='s2', lineno=13, offset=30, line=' :ARG1 s2') +- DEBUG - Line 14: ' :manner (o3 / or' +- DEBUG - Token(type='ROLE', text=':manner', lineno=14, offset=24, line=' :manner (o3 / or') +- DEBUG - Token(type='LPAREN', text='(', lineno=14, offset=32, line=' :manner (o3 / or') +- DEBUG - Token(type='SYMBOL', text='o3', lineno=14, offset=33, line=' :manner (o3 / or') +- DEBUG - Token(type='SLASH', text='/', lineno=14, offset=36, line=' :manner (o3 / or') +- DEBUG - Token(type='SYMBOL', text='or', lineno=14, offset=38, line=' :manner (o3 / or') +- DEBUG - Line 15: ' :op1 (d / direct-02)' +- DEBUG - Token(type='ROLE', text=':op1', lineno=15, offset=30, line=' :op1 (d / direct-02)') +- DEBUG - Token(type='LPAREN', text='(', lineno=15, offset=35, line=' :op1 (d / direct-02)') +- DEBUG - Token(type='SYMBOL', text='d', lineno=15, offset=36, line=' :op1 (d / direct-02)') +- DEBUG - Token(type='SLASH', text='/', lineno=15, offset=38, line=' :op1 (d / direct-02)') +- DEBUG - Token(type='SYMBOL', text='direct-02', lineno=15, offset=40, line=' :op1 (d / direct-02)') +- DEBUG - Token(type='RPAREN', text=')', lineno=15, offset=49, line=' :op1 (d / direct-02)') +- DEBUG - Line 16: ' :op2 (d2 / direct-02' +- DEBUG - Token(type='ROLE', text=':op2', lineno=16, offset=30, line=' :op2 (d2 / direct-02') +- DEBUG - Token(type='LPAREN', text='(', lineno=16, offset=35, line=' :op2 (d2 / direct-02') +- DEBUG - Token(type='SYMBOL', text='d2', lineno=16, offset=36, line=' :op2 (d2 / direct-02') +- DEBUG - Token(type='SLASH', text='/', lineno=16, offset=39, line=' :op2 (d2 / direct-02') +- DEBUG - Token(type='SYMBOL', text='direct-02', lineno=16, offset=41, line=' :op2 (d2 / direct-02') +- DEBUG - Line 17: ' :polarity -))))))' +- DEBUG - Token(type='ROLE', text=':polarity', lineno=17, offset=36, line=' :polarity -))))))') +- DEBUG - Token(type='SYMBOL', text='-', lineno=17, offset=46, line=' :polarity -))))))') +- DEBUG - Token(type='RPAREN', text=')', lineno=17, offset=47, line=' :polarity -))))))') +- DEBUG - Token(type='RPAREN', text=')', lineno=17, offset=48, line=' :polarity -))))))') +- DEBUG - Token(type='RPAREN', text=')', lineno=17, offset=49, line=' :polarity -))))))') +- DEBUG - Token(type='RPAREN', text=')', lineno=17, offset=50, line=' :polarity -))))))') +- DEBUG - Token(type='RPAREN', text=')', lineno=17, offset=51, line=' :polarity -))))))') +- DEBUG - Token(type='RPAREN', text=')', lineno=17, offset=52, line=' :polarity -))))))') +- DEBUG - Parsed: Tree( + ('s', [ + ('/', 'system'), + (':domain', ('p', [ + ('/', 'planet'), + (':name', ('n', [ + ('/', 'name'), + (':op1', '"Solar"'), + (':op2', '"System"')]))])), + (':ARG1-of', ('b', [ + ('/', 'bind-01'), + (':ARG0', ('g', [ + ('/', 'gravitation')]))])), + (':part', ('a', [ + ('/', 'and'), + (':op1', ('s2', [ + ('/', 'sun')])), + (':op2', ('o', [ + ('/', 'object'), + (':ARG0-of', ('o2', [ + ('/', 'orbit-01'), + (':ARG1', 's2'), + (':manner', ('o3', [ + ('/', 'or'), + (':op1', ('d', [ + ('/', 'direct-02')])), + (':op2', ('d2', [ + ('/', 'direct-02'), + (':polarity', '-')]))]))]))]))]))])) +- INFO - Interpreted: Graph( + [('s', ':instance', 'system'), + ('s', ':domain', 'p'), + ('p', ':instance', 'planet'), + ('p', ':name', 'n'), + ('n', ':instance', 'name'), + ('n', ':op1', '"Solar"'), + ('n', ':op2', '"System"'), + ('s', ':ARG1-of', 'b'), + ('b', ':instance', 'bind-01'), + ('b', ':ARG0', 'g'), + ('g', ':instance', 'gravitation'), + ('s', ':part', 'a'), + ('a', ':instance', 'and'), + ('a', ':op1', 's2'), + ('s2', ':instance', 'sun'), + ('a', ':op2', 'o'), + ('o', ':instance', 'object'), + ('o', ':ARG0-of', 'o2'), + ('o2', ':instance', 'orbit-01'), + ('o2', ':ARG1', 's2'), + ('o2', ':manner', 'o3'), + ('o3', ':instance', 'or'), + ('o3', ':op1', 'd'), + ('d', ':instance', 'direct-02'), + ('o3', ':op2', 'd2'), + ('d2', ':instance', 'direct-02'), + ('d2', ':polarity', '-')], + epidata={('s', ':instance', 'system'): [], + ('s', ':domain', 'p'): [Push(p)], + ('p', ':instance', 'planet'): [], + ('p', ':name', 'n'): [Push(n)], + ('n', ':instance', 'name'): [], + ('n', ':op1', '"Solar"'): [], + ('n', ':op2', '"System"'): [POP, POP], + ('s', ':ARG1-of', 'b'): [Push(b)], + ('b', ':instance', 'bind-01'): [], + ('b', ':ARG0', 'g'): [Push(g)], + ('g', ':instance', 'gravitation'): [POP, POP], + ('s', ':part', 'a'): [Push(a)], + ('a', ':instance', 'and'): [], + ('a', ':op1', 's2'): [Push(s2)], + ('s2', ':instance', 'sun'): [POP], + ('a', ':op2', 'o'): [Push(o)], + ('o', ':instance', 'object'): [], + ('o', ':ARG0-of', 'o2'): [Push(o2)], + ('o2', ':instance', 'orbit-01'): [], + ('o2', ':ARG1', 's2'): [], + ('o2', ':manner', 'o3'): [Push(o3)], + ('o3', ':instance', 'or'): [], + ('o3', ':op1', 'd'): [Push(d)], + ('d', ':instance', 'direct-02'): [POP], + ('o3', ':op2', 'd2'): [Push(d2)], + ('d2', ':instance', 'direct-02'): [], + ('d2', ':polarity', '-'): [POP, POP, POP, POP, POP]}) +- DEBUG - os.makedirs('/opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/document-01') +- DEBUG - write lines to '/opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/document-01/document-01.stog.amr.dot' +- DEBUG - run [PosixPath('dot'), '-Kdot', '-Tpng', '-O', 'document-01.stog.amr.dot'] +- DEBUG - ----- AMR Graph file (png): {os.path.basename(good_png_fn)} +- DEBUG - Line 1: '# ::snt The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly..' +- DEBUG - Token(type='COMMENT', text='# ::snt The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly..', lineno=1, offset=0, line='# ::snt The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly..') +- DEBUG - Line 2: '(s / system' +- DEBUG - Token(type='LPAREN', text='(', lineno=2, offset=0, line='(s / system') +- DEBUG - Token(type='SYMBOL', text='s', lineno=2, offset=1, line='(s / system') +- DEBUG - Token(type='SLASH', text='/', lineno=2, offset=3, line='(s / system') +- DEBUG - Token(type='SYMBOL', text='system', lineno=2, offset=5, line='(s / system') +- DEBUG - Line 3: ' :domain (p / planet' +- DEBUG - Token(type='ROLE', text=':domain', lineno=3, offset=6, line=' :domain (p / planet') +- DEBUG - Token(type='LPAREN', text='(', lineno=3, offset=14, line=' :domain (p / planet') +- DEBUG - Token(type='SYMBOL', text='p', lineno=3, offset=15, line=' :domain (p / planet') +- DEBUG - Token(type='SLASH', text='/', lineno=3, offset=17, line=' :domain (p / planet') +- DEBUG - Token(type='SYMBOL', text='planet', lineno=3, offset=19, line=' :domain (p / planet') +- DEBUG - Line 4: ' :name (n / name' +- DEBUG - Token(type='ROLE', text=':name', lineno=4, offset=12, line=' :name (n / name') +- DEBUG - Token(type='LPAREN', text='(', lineno=4, offset=18, line=' :name (n / name') +- DEBUG - Token(type='SYMBOL', text='n', lineno=4, offset=19, line=' :name (n / name') +- DEBUG - Token(type='SLASH', text='/', lineno=4, offset=21, line=' :name (n / name') +- DEBUG - Token(type='SYMBOL', text='name', lineno=4, offset=23, line=' :name (n / name') +- DEBUG - Line 5: ' :op1 "Solar"' +- DEBUG - Token(type='ROLE', text=':op1', lineno=5, offset=18, line=' :op1 "Solar"') +- DEBUG - Token(type='STRING', text='"Solar"', lineno=5, offset=23, line=' :op1 "Solar"') +- DEBUG - Line 6: ' :op2 "System"))' +- DEBUG - Token(type='ROLE', text=':op2', lineno=6, offset=18, line=' :op2 "System"))') +- DEBUG - Token(type='STRING', text='"System"', lineno=6, offset=23, line=' :op2 "System"))') +- DEBUG - Token(type='RPAREN', text=')', lineno=6, offset=31, line=' :op2 "System"))') +- DEBUG - Token(type='RPAREN', text=')', lineno=6, offset=32, line=' :op2 "System"))') +- DEBUG - Line 7: ' :ARG1-of (b / bind-01' +- DEBUG - Token(type='ROLE', text=':ARG1-of', lineno=7, offset=6, line=' :ARG1-of (b / bind-01') +- DEBUG - Token(type='LPAREN', text='(', lineno=7, offset=15, line=' :ARG1-of (b / bind-01') +- DEBUG - Token(type='SYMBOL', text='b', lineno=7, offset=16, line=' :ARG1-of (b / bind-01') +- DEBUG - Token(type='SLASH', text='/', lineno=7, offset=18, line=' :ARG1-of (b / bind-01') +- DEBUG - Token(type='SYMBOL', text='bind-01', lineno=7, offset=20, line=' :ARG1-of (b / bind-01') +- DEBUG - Line 8: ' :ARG0 (g / gravitation))' +- DEBUG - Token(type='ROLE', text=':ARG0', lineno=8, offset=12, line=' :ARG0 (g / gravitation))') +- DEBUG - Token(type='LPAREN', text='(', lineno=8, offset=18, line=' :ARG0 (g / gravitation))') +- DEBUG - Token(type='SYMBOL', text='g', lineno=8, offset=19, line=' :ARG0 (g / gravitation))') +- DEBUG - Token(type='SLASH', text='/', lineno=8, offset=21, line=' :ARG0 (g / gravitation))') +- DEBUG - Token(type='SYMBOL', text='gravitation', lineno=8, offset=23, line=' :ARG0 (g / gravitation))') +- DEBUG - Token(type='RPAREN', text=')', lineno=8, offset=34, line=' :ARG0 (g / gravitation))') +- DEBUG - Token(type='RPAREN', text=')', lineno=8, offset=35, line=' :ARG0 (g / gravitation))') +- DEBUG - Line 9: ' :part (a / and' +- DEBUG - Token(type='ROLE', text=':part', lineno=9, offset=6, line=' :part (a / and') +- DEBUG - Token(type='LPAREN', text='(', lineno=9, offset=12, line=' :part (a / and') +- DEBUG - Token(type='SYMBOL', text='a', lineno=9, offset=13, line=' :part (a / and') +- DEBUG - Token(type='SLASH', text='/', lineno=9, offset=15, line=' :part (a / and') +- DEBUG - Token(type='SYMBOL', text='and', lineno=9, offset=17, line=' :part (a / and') +- DEBUG - Line 10: ' :op1 (s2 / sun)' +- DEBUG - Token(type='ROLE', text=':op1', lineno=10, offset=12, line=' :op1 (s2 / sun)') +- DEBUG - Token(type='LPAREN', text='(', lineno=10, offset=17, line=' :op1 (s2 / sun)') +- DEBUG - Token(type='SYMBOL', text='s2', lineno=10, offset=18, line=' :op1 (s2 / sun)') +- DEBUG - Token(type='SLASH', text='/', lineno=10, offset=21, line=' :op1 (s2 / sun)') +- DEBUG - Token(type='SYMBOL', text='sun', lineno=10, offset=23, line=' :op1 (s2 / sun)') +- DEBUG - Token(type='RPAREN', text=')', lineno=10, offset=26, line=' :op1 (s2 / sun)') +- DEBUG - Line 11: ' :op2 (o / object' +- DEBUG - Token(type='ROLE', text=':op2', lineno=11, offset=12, line=' :op2 (o / object') +- DEBUG - Token(type='LPAREN', text='(', lineno=11, offset=17, line=' :op2 (o / object') +- DEBUG - Token(type='SYMBOL', text='o', lineno=11, offset=18, line=' :op2 (o / object') +- DEBUG - Token(type='SLASH', text='/', lineno=11, offset=20, line=' :op2 (o / object') +- DEBUG - Token(type='SYMBOL', text='object', lineno=11, offset=22, line=' :op2 (o / object') +- DEBUG - Line 12: ' :ARG0-of (o2 / orbit-01' +- DEBUG - Token(type='ROLE', text=':ARG0-of', lineno=12, offset=18, line=' :ARG0-of (o2 / orbit-01') +- DEBUG - Token(type='LPAREN', text='(', lineno=12, offset=27, line=' :ARG0-of (o2 / orbit-01') +- DEBUG - Token(type='SYMBOL', text='o2', lineno=12, offset=28, line=' :ARG0-of (o2 / orbit-01') +- DEBUG - Token(type='SLASH', text='/', lineno=12, offset=31, line=' :ARG0-of (o2 / orbit-01') +- DEBUG - Token(type='SYMBOL', text='orbit-01', lineno=12, offset=33, line=' :ARG0-of (o2 / orbit-01') +- DEBUG - Line 13: ' :ARG1 s2' +- DEBUG - Token(type='ROLE', text=':ARG1', lineno=13, offset=24, line=' :ARG1 s2') +- DEBUG - Token(type='SYMBOL', text='s2', lineno=13, offset=30, line=' :ARG1 s2') +- DEBUG - Line 14: ' :manner (o3 / or' +- DEBUG - Token(type='ROLE', text=':manner', lineno=14, offset=24, line=' :manner (o3 / or') +- DEBUG - Token(type='LPAREN', text='(', lineno=14, offset=32, line=' :manner (o3 / or') +- DEBUG - Token(type='SYMBOL', text='o3', lineno=14, offset=33, line=' :manner (o3 / or') +- DEBUG - Token(type='SLASH', text='/', lineno=14, offset=36, line=' :manner (o3 / or') +- DEBUG - Token(type='SYMBOL', text='or', lineno=14, offset=38, line=' :manner (o3 / or') +- DEBUG - Line 15: ' :op1 (d / direct-02)' +- DEBUG - Token(type='ROLE', text=':op1', lineno=15, offset=30, line=' :op1 (d / direct-02)') +- DEBUG - Token(type='LPAREN', text='(', lineno=15, offset=35, line=' :op1 (d / direct-02)') +- DEBUG - Token(type='SYMBOL', text='d', lineno=15, offset=36, line=' :op1 (d / direct-02)') +- DEBUG - Token(type='SLASH', text='/', lineno=15, offset=38, line=' :op1 (d / direct-02)') +- DEBUG - Token(type='SYMBOL', text='direct-02', lineno=15, offset=40, line=' :op1 (d / direct-02)') +- DEBUG - Token(type='RPAREN', text=')', lineno=15, offset=49, line=' :op1 (d / direct-02)') +- DEBUG - Line 16: ' :op2 (d2 / direct-02' +- DEBUG - Token(type='ROLE', text=':op2', lineno=16, offset=30, line=' :op2 (d2 / direct-02') +- DEBUG - Token(type='LPAREN', text='(', lineno=16, offset=35, line=' :op2 (d2 / direct-02') +- DEBUG - Token(type='SYMBOL', text='d2', lineno=16, offset=36, line=' :op2 (d2 / direct-02') +- DEBUG - Token(type='SLASH', text='/', lineno=16, offset=39, line=' :op2 (d2 / direct-02') +- DEBUG - Token(type='SYMBOL', text='direct-02', lineno=16, offset=41, line=' :op2 (d2 / direct-02') +- DEBUG - Line 17: ' :polarity -))))))' +- DEBUG - Token(type='ROLE', text=':polarity', lineno=17, offset=36, line=' :polarity -))))))') +- DEBUG - Token(type='SYMBOL', text='-', lineno=17, offset=46, line=' :polarity -))))))') +- DEBUG - Token(type='RPAREN', text=')', lineno=17, offset=47, line=' :polarity -))))))') +- DEBUG - Token(type='RPAREN', text=')', lineno=17, offset=48, line=' :polarity -))))))') +- DEBUG - Token(type='RPAREN', text=')', lineno=17, offset=49, line=' :polarity -))))))') +- DEBUG - Token(type='RPAREN', text=')', lineno=17, offset=50, line=' :polarity -))))))') +- DEBUG - Token(type='RPAREN', text=')', lineno=17, offset=51, line=' :polarity -))))))') +- DEBUG - Token(type='RPAREN', text=')', lineno=17, offset=52, line=' :polarity -))))))') +- DEBUG - Parsed: Tree( + ('s', [ + ('/', 'system'), + (':domain', ('p', [ + ('/', 'planet'), + (':name', ('n', [ + ('/', 'name'), + (':op1', '"Solar"'), + (':op2', '"System"')]))])), + (':ARG1-of', ('b', [ + ('/', 'bind-01'), + (':ARG0', ('g', [ + ('/', 'gravitation')]))])), + (':part', ('a', [ + ('/', 'and'), + (':op1', ('s2', [ + ('/', 'sun')])), + (':op2', ('o', [ + ('/', 'object'), + (':ARG0-of', ('o2', [ + ('/', 'orbit-01'), + (':ARG1', 's2'), + (':manner', ('o3', [ + ('/', 'or'), + (':op1', ('d', [ + ('/', 'direct-02')])), + (':op2', ('d2', [ + ('/', 'direct-02'), + (':polarity', '-')]))]))]))]))]))])) +- INFO - Interpreted: Graph( + [('s', ':instance', 'system'), + ('s', ':domain', 'p'), + ('p', ':instance', 'planet'), + ('p', ':name', 'n'), + ('n', ':instance', 'name'), + ('n', ':op1', '"Solar"'), + ('n', ':op2', '"System"'), + ('s', ':ARG1-of', 'b'), + ('b', ':instance', 'bind-01'), + ('b', ':ARG0', 'g'), + ('g', ':instance', 'gravitation'), + ('s', ':part', 'a'), + ('a', ':instance', 'and'), + ('a', ':op1', 's2'), + ('s2', ':instance', 'sun'), + ('a', ':op2', 'o'), + ('o', ':instance', 'object'), + ('o', ':ARG0-of', 'o2'), + ('o2', ':instance', 'orbit-01'), + ('o2', ':ARG1', 's2'), + ('o2', ':manner', 'o3'), + ('o3', ':instance', 'or'), + ('o3', ':op1', 'd'), + ('d', ':instance', 'direct-02'), + ('o3', ':op2', 'd2'), + ('d2', ':instance', 'direct-02'), + ('d2', ':polarity', '-')], + epidata={('s', ':instance', 'system'): [], + ('s', ':domain', 'p'): [Push(p)], + ('p', ':instance', 'planet'): [], + ('p', ':name', 'n'): [Push(n)], + ('n', ':instance', 'name'): [], + ('n', ':op1', '"Solar"'): [], + ('n', ':op2', '"System"'): [POP, POP], + ('s', ':ARG1-of', 'b'): [Push(b)], + ('b', ':instance', 'bind-01'): [], + ('b', ':ARG0', 'g'): [Push(g)], + ('g', ':instance', 'gravitation'): [POP, POP], + ('s', ':part', 'a'): [Push(a)], + ('a', ':instance', 'and'): [], + ('a', ':op1', 's2'): [Push(s2)], + ('s2', ':instance', 'sun'): [POP], + ('a', ':op2', 'o'): [Push(o)], + ('o', ':instance', 'object'): [], + ('o', ':ARG0-of', 'o2'): [Push(o2)], + ('o2', ':instance', 'orbit-01'): [], + ('o2', ':ARG1', 's2'): [], + ('o2', ':manner', 'o3'): [Push(o3)], + ('o3', ':instance', 'or'): [], + ('o3', ':op1', 'd'): [Push(d)], + ('d', ':instance', 'direct-02'): [POP], + ('o3', ':op2', 'd2'): [Push(d2)], + ('d2', ':instance', 'direct-02'): [], + ('d2', ':polarity', '-'): [POP, POP, POP, POP, POP]}) +- DEBUG - os.makedirs('/opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/document-01') +- DEBUG - write lines to '/opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/document-01/document-01.stog.amr.dot' +- DEBUG - run [PosixPath('dot'), '-Kdot', '-Tsvg', '-O', 'document-01.stog.amr.dot'] +- DEBUG - ----- AMR Graph file (svg): {os.path.basename(good_svg_fn)} +- INFO - + === AMR Graphs Serialization to AMR-RDF Representation === +- INFO - -- library: amrld +- DEBUG - (/opt/lib/TetrasMARS/amrbatch/amrbatch/amrld/) +- INFO - -- Serialize AMR graphs to RDF using amr-ld library +- DEBUG - ----- AMR filepath (penman): /opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/document-01/document-01.stog.amr.penman +- DEBUG - ----- AMR-RDF filepath (triple): /opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/document-01/document-01.stog.amr.nt +- DEBUG - ----- AMR-RDF filepath (turtle): /opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/document-01/document-01.stog.amr.ttl +- INFO - ----- AMR-RDF triple successfully processed (document-01.stog.amr.nt) +- INFO - ----- AMR-RDF triple successfully processed (document-01.stog.amr.ttl) +- INFO - [TENET] Extraction Processing +- INFO - + === Process Initialization === +- INFO - -- Process Setting +- INFO - ----- Corpus source: /opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/ (amr) +- INFO - ----- Base output dir: /opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/full-ontology.ttl +- INFO - ----- technical dir path: /opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/onto-by-sentence/ +- INFO - ----- Ontology target (id): http://ontologies +- INFO - ----- Current path: /opt/lib/TetrasMARS/tenet/tenet +- DEBUG - ----- Config file: /opt/lib/TetrasMARS/tenet/tenet/config.xml +- DEBUG - + *** Config (Full Parameters) *** + -- Base Parameters + ----- config file: /opt/lib/TetrasMARS/tenet/tenet/config.xml + ----- uuid: http://ontologies + ----- technical base name: ontologies + ----- source corpus: /opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/ + ----- target reference: base + ----- process level: sentence + ----- source type: amr + -- Compositional Transduction Scheme (CTS) + ----- CTS reference: amr_scheme_1 + -- Directories + ----- base directory: ./ + ----- structure directory: ./structure/ + ----- CTS directory: ./scheme/ + ----- target frame directory: ./../input/targetFrameStructure/ + ----- input document directory: + ----- base output dir: /opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/full-ontology.ttl + ----- output directory: /opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/full-ontology.ttlontologies-20230517/ + ----- sentence output directory: /opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/onto-by-sentence/ + ----- technical dir path: /opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/onto-by-sentence/ + -- Config File Definition + ----- schema file: ./structure/amr-rdf-schema.ttl + ----- semantic net file: ./structure/semantic-net.ttl + ----- config param file: ./structure/config-parameters.ttl + ----- base ontology file: ./structure/base-ontology.ttl + ----- CTS file: ./scheme/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: /opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/**/*.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: /opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/onto-by-sentence/ontologies.ttl + *** - *** +- DEBUG - -- Counting number of graph files (sentences) +- INFO - ----- Number of Graphs: 1 +- INFO - + === Extraction Processing === +- INFO - *** sentence 1 *** +- INFO - -- Work Structure Preparation +- DEBUG - --- Graph Initialization +- DEBUG - ----- Configuration Loading +- DEBUG - -------- RDF Schema (302) +- DEBUG - -------- Semantic Net Definition (513) +- DEBUG - -------- Config Parameter Definition (547) +- DEBUG - ----- Frame Ontology Loading +- DEBUG - -------- Base Ontology produced as output (577) +- DEBUG - --- Source Data Import +- DEBUG - ----- Sentence Loading +- DEBUG - -------- /opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/document-01/document-01.stog.amr.ttl (625) +- DEBUG - --- Export work graph as turtle +- DEBUG - ----- Work graph file: /opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/onto-by-sentence/ontologies-1/ontologies.ttl +- INFO - ----- Sentence (id): document-01 +- INFO - ----- Sentence (text): The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly.. +- INFO - -- Loading Extraction Scheme (amr_scheme_1) +- DEBUG - ----- Step number: 3 +- INFO - -- Loading Extraction Rules (amr_rule/*) +- DEBUG - ----- Total rule number: 92 +- INFO - -- Applying extraction step: preprocessing +- INFO - --- *** November Transduction *** Sequence: amrld-correcting-sequence +- INFO - ----- fix-amr-bug-about-system-solar-planet: 5/5 new triples (630, 0:00:00.030949) +- INFO - --- *** November Transduction *** Sequence: amr-reification-sequence +- INFO - ----- reclassify-concept-1: 10/10 new triples (640, 0:00:00.139278) +- DEBUG - ----- reclassify-concept-2: 0/0 new triple (640, 0:00:00.076281) +- INFO - ----- reclassify-concept-3: 12/12 new triples (652, 0:00:00.057980) +- INFO - ----- reclassify-concept-4: 16/16 new triples (668, 0:00:00.074274) +- INFO - ----- reclassify-concept-5: 2/4 new triples (670, 0:00:00.055291) +- INFO - ----- reify-roles-as-concept: 10/10 new triples (680, 0:00:00.059072) +- INFO - ----- reclassify-existing-variable: 45/45 new triples (725, 0:00:00.040850) +- INFO - ----- add-new-variable-for-reified-concept: 8/8 new triples (733, 0:00:00.170671) +- INFO - ----- add-amr-leaf-for-reclassified-concept: 33/33 new triples (766, 0:00:00.060181) +- INFO - ----- add-amr-leaf-for-reified-concept: 8/8 new triples (774, 0:00:00.038259) +- INFO - ----- add-amr-edge-for-core-relation: 27/27 new triples (801, 0:00:00.146394) +- INFO - ----- add-amr-edge-for-reified-concept: 12/12 new triples (813, 0:00:00.180726) +- INFO - ----- add-amr-edge-for-name-relation: 5/5 new triples (818, 0:00:00.087478) +- DEBUG - ----- add-value-for-quant-relation: 0/0 new triple (818, 0:00:00.086740) +- INFO - ----- add-amr-edge-for-polarity-relation: 5/5 new triples (823, 0:00:00.095051) +- INFO - ----- update-amr-edge-role-1: 15/15 new triples (838, 0:00:00.106172) +- INFO - ----- add-amr-root: 5/5 new triples (843, 0:00:00.030336) +- DEBUG - --- Serializing graph to ontologies_preprocessing +- DEBUG - ----- step: preprocessing +- DEBUG - ----- id: http://ontologies +- DEBUG - ----- work_file: /opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/onto-by-sentence/ontologies-1/ontologies_preprocessing.ttl +- DEBUG - ----- base: http://http://ontologies/preprocessing +- INFO - ----- 218 triples extracted during preprocessing step +- INFO - -- Applying extraction step: transduction +- INFO - --- *** November Transduction *** Sequence: atomic-extraction-sequence +- INFO - ----- create-atom-class-net: 35/35 new triples (878, 0:00:00.083241) +- DEBUG - ----- (refinement) refine-cover-node-1: 5 new triples (883) +- DEBUG - ----- (refinement) refine-cover-node-2: 5 new triples (888) +- INFO - ----- create-individual-net-1: 10/10 new triples (898, 0:00:00.083980) +- DEBUG - ----- (refinement) refine-cover-node-1: 1 new triples (899) +- INFO - ----- create-atom-property-net-1: 88/88 new triples (987, 0:00:00.193223) +- DEBUG - ----- (refinement) refine-cover-node-1: 6 new triples (993) +- INFO - ----- create-value-net: 17/17 new triples (1010, 0:00:00.075225) +- INFO - ----- create-phenomena-net-1: 24/25 new triples (1034, 0:00:00.097566) +- DEBUG - ----- (refinement) refine-cover-node-1: 2 new triples (1036) +- INFO - --- *** November Transduction *** Sequence: atomic-extraction-sequence +- INFO - ----- create-atom-class-net: 1/49 new triple (1037, 0:00:00.112557) +- DEBUG - ----- create-individual-net-1: 0/10 new triple (1037, 0:00:00.086908) +- INFO - ----- create-atom-property-net-1: 1/95 new triple (1038, 0:00:00.216727) +- DEBUG - ----- create-value-net: 0/17 new triple (1038, 0:00:00.077139) +- DEBUG - ----- create-phenomena-net-1: 0/25 new triple (1038, 0:00:00.097024) +- INFO - --- *** February Transduction *** Sequence: phenomena_polarity_analyze_sequence +- INFO - ----- "polarity" phenomena analysis 1 [ polarity(property, "negative") ]: 32/34 new triples (1070, 0:00:00.112151) +- INFO - --- *** November Transduction *** Sequence: phenomena-application-mod-sequence +- DEBUG - ----- mod-phenomena-application-1: 0/0 new triple (1070, 0:00:00.117741) +- DEBUG - ----- mod-phenomena-application-2: 0/0 new triple (1070, 0:00:00.060677) +- DEBUG - ----- mod-phenomena-application-3: 0/0 new triple (1070, 0:00:00.092842) +- INFO - --- *** November Transduction *** Sequence: phenomena-application-and-sequence +- INFO - ----- and-conjunction-phenomena-application-1: 14/17 new triples (1084, 0:00:00.277017) +- DEBUG - ----- (refinement) refine-cover-node-1: 1 new triples (1085) +- INFO - ----- and-conjunction-phenomena-application-2: 1/1 new triple (1086, 0:00:00.163708) +- INFO - ----- and-conjunction-phenomena-application-3: 14/14 new triples (1100, 0:00:00.199280) +- INFO - ----- and-conjunction-phenomena-application-4: 14/14 new triples (1114, 0:00:00.267605) +- DEBUG - ----- (refinement) refine-cover-node-2: 1 new triples (1115) +- INFO - ----- and-conjunction-phenomena-application-5: 6/9 new triples (1121, 0:00:00.104130) +- INFO - ----- and-conjunction-phenomena-application-6: 2/2 new triples (1123, 0:00:00.326211) +- INFO - --- *** February Transduction *** Sequence: phenomena_or_analyze_sequence +- DEBUG - ----- "or" phenomena analysis 1 [ property(class, or_phenomena) ]: 0/0 new triple (1123, 0:00:00.014660) +- INFO - ----- "or" phenomena analysis 2 [ property(property, or_phenomena) ]: 56/76 new triples (1179, 0:00:00.313506) +- INFO - --- *** November Transduction *** Sequence: phenomena-checking-sequence +- INFO - ----- expand-and-conjunction-phenomena-net: 5/5 new triples (1184, 0:00:00.018904) +- DEBUG - ----- expand-degree-phenomena-net-1: 0/0 new triple (1184, 0:00:00.012075) +- DEBUG - ----- expand-degree-phenomena-net-2: 0/0 new triple (1184, 0:00:00.012254) +- DEBUG - ----- expand-degree-phenomena-net-3: 0/0 new triple (1184, 0:00:00.012223) +- DEBUG - ----- expand-degree-phenomena-net-4: 0/0 new triple (1184, 0:00:00.012204) +- DEBUG - ----- expand-degree-phenomena-net-5: 0/0 new triple (1184, 0:00:00.012947) +- DEBUG - ----- expand-degree-phenomena-net-6: 0/0 new triple (1184, 0:00:00.012327) +- INFO - --- *** November Transduction *** Sequence: composite-property-extraction-sequence +- DEBUG - ----- create-composite-class-net-from-property-1: 0/0 new triple (1184, 0:00:00.140503) +- DEBUG - ----- create-composite-class-net-from-property-2: 0/0 new triple (1184, 0:00:00.354728) +- INFO - --- *** November Transduction *** Sequence: composite-class-extraction-sequence-1 +- INFO - ----- create-composite-class-net-from-property-1: 48/54 new triples (1232, 0:00:00.929433) +- DEBUG - ----- (refinement) refine-cover-node-1: 7 new triples (1239) +- DEBUG - ----- (refinement) refine-cover-node-2: 3 new triples (1242) +- DEBUG - ----- create-composite-class-net-from-property-2: 0/0 new triple (1242, 0:00:00.331549) +- INFO - ----- create-composite-class-net-from-property-3: 15/18 new triples (1257, 0:00:00.367052) +- INFO - --- *** November Transduction *** Sequence: composite-class-extraction-sequence-2 +- DEBUG - ----- create-composite-class-net-from-phenomena-1: 0/0 new triple (1257, 0:00:00.056975) +- DEBUG - ----- create-composite-class-net-from-phenomena-2: 0/0 new triple (1257, 0:00:00.057150) +- DEBUG - ----- create-composite-class-net-from-phenomena-3: 0/0 new triple (1257, 0:00:00.057010) +- DEBUG - ----- create-composite-class-net-from-phenomena-4: 0/0 new triple (1257, 0:00:00.075563) +- INFO - --- *** November Transduction *** Sequence: restriction-adding-sequence +- DEBUG - ----- add-restriction-to-class-net-from-property-1: 0/0 new triple (1257, 0:00:00.060991) +- INFO - --- *** November Transduction *** Sequence: classification-sequence +- INFO - ----- classify-net-from-core-1: 7/7 new triples (1264, 0:00:00.009162) +- INFO - ----- classify-net-from-core-2: 1/6 new triple (1265, 0:00:00.009175) +- DEBUG - ----- classify-net-from-core-3: 0/0 new triple (1265, 0:00:00.052322) +- DEBUG - ----- classify-net-from-part: 0/0 new triple (1265, 0:00:00.011496) +- INFO - ----- classify-net-from-domain: 4/4 new triples (1269, 0:00:00.012594) +- DEBUG - ----- classify-net-from-degree-phenomena-1: 0/0 new triple (1269, 0:00:00.017444) +- DEBUG - ----- classify-net-from-degree-phenomena-2: 0/0 new triple (1269, 0:00:00.050905) +- DEBUG - ----- classify-net-from-degree-phenomena-3: 0/0 new triple (1269, 0:00:00.010256) +- INFO - ----- propagate-individual-1: 1/1 new triple (1270, 0:00:00.009966) +- INFO - ----- propagate-individual-2: 4/4 new triples (1274, 0:00:00.010382) +- DEBUG - ----- reclassify-deprecated-net: 0/0 new triple (1274, 0:00:00.008434) +- DEBUG - --- Serializing graph to ontologies_transduction +- DEBUG - ----- step: transduction +- DEBUG - ----- id: http://ontologies +- DEBUG - ----- work_file: /opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/onto-by-sentence/ontologies-1/ontologies_transduction.ttl +- DEBUG - ----- base: http://http://ontologies/transduction +- INFO - ----- 431 triples extracted during transduction step +- INFO - -- Applying extraction step: generation +- INFO - --- *** November Transduction *** Sequence: main-generation-sequence +- INFO - ----- compute-uri-for-owl-declaration-1: 8/8 new triples (1282, 0:00:00.029555) +- INFO - ----- compute-uri-for-owl-declaration-2: 1/4 new triple (1283, 0:00:00.024476) +- INFO - ----- compute-uri-for-owl-declaration-3: 1/1 new triple (1284, 0:00:00.034991) +- DEBUG - ----- compute-uri-for-owl-declaration-4: 0/0 new triple (1284, 0:00:00.022890) +- INFO - ----- compute-uri-for-owl-declaration-5: 4/4 new triples (1288, 0:00:00.027774) +- INFO - ----- compute-uri-for-owl-declaration-6: 4/4 new triples (1292, 0:00:00.027834) +- INFO - ----- compute-uri-for-owl-declaration-7: 1/1 new triple (1293, 0:00:00.022912) +- INFO - ----- compute-uri-for-owl-declaration-101: 3/7 new triples (1296, 0:00:00.029367) +- DEBUG - ----- compute-uri-for-owl-declaration-102: 0/1 new triple (1296, 0:00:00.022050) +- INFO - ----- generate-atom-class: 12/12 new triples (1308, 0:00:00.010076) +- INFO - ----- classify-atom-class-1: 4/4 new triples (1312, 0:00:00.008194) +- DEBUG - ----- classify-atom-class-2: 0/0 new triple (1312, 0:00:00.015421) +- INFO - ----- generate-individual: 3/3 new triples (1315, 0:00:00.010551) +- DEBUG - ----- classify-individual-1: 0/0 new triple (1315, 0:00:00.007729) +- INFO - ----- classify-individual-2: 4/4 new triples (1319, 0:00:00.011406) +- INFO - ----- generate-atom-property-1: 20/20 new triples (1339, 0:00:00.011432) +- INFO - ----- generate-atom-property-12: 8/16 new triples (1347, 0:00:00.011614) +- DEBUG - ----- generate-inverse-relation: 0/0 new triple (1347, 0:00:00.007902) +- INFO - ----- generate-composite-class: 18/18 new triples (1365, 0:00:00.012878) +- DEBUG - ----- add-restriction-to-class-1: 0/0 new triple (1365, 0:00:00.019922) +- DEBUG - ----- add-restriction-to-class-2: 0/0 new triple (1365, 0:00:00.015845) +- INFO - ----- add-restriction-to-class-3: 20/24 new triples (1385, 0:00:00.023267) +- DEBUG - ----- add-restriction-to-class-4: 0/0 new triple (1385, 0:00:00.015490) +- DEBUG - ----- add-restriction-to-class-5: 0/0 new triple (1385, 0:00:00.018378) +- DEBUG - ----- add-restriction-to-class-6: 0/0 new triple (1385, 0:00:00.015439) +- DEBUG - ----- generate-composite-property-1: 0/0 new triple (1385, 0:00:00.009538) +- INFO - ----- generate-composite-property-2: 12/12 new triples (1397, 0:00:00.010759) +- INFO - ----- generate-composite-property-3: 2/2 new triples (1399, 0:00:00.008776) +- DEBUG - --- Serializing graph to ontologies_generation +- DEBUG - ----- step: generation +- DEBUG - ----- id: http://ontologies +- DEBUG - ----- work_file: /opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/onto-by-sentence/ontologies-1/ontologies_generation.ttl +- DEBUG - ----- base: http://http://ontologies/generation +- INFO - ----- 125 triples extracted during generation step +- DEBUG - --- Serializing graph to factoid file (/opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/onto-by-sentence/ontologies-1/ontologies_factoid.ttl) +- DEBUG - ----- Number of factoids: 145 +- DEBUG - ----- Graph base: http://http://ontologies/factoid +- INFO - + === Final Ontology Generation === +- INFO - -- Making complete factoid graph by merging the result factoids +- INFO - ----- Total factoid number: 145 +- INFO - -- Serializing graph to factoid string +- INFO - ----- Graph base: http://http://ontologies/factoid +- INFO - -- Serializing graph to factoid file +- INFO - ----- Ontology Turtle File: /opt/data/tmp/demo-tetras-mars/2dfb5331-e3b2-4fa1-b31a-820f48b2541a/full-ontology.ttl +- INFO - + === Done === -- GitLab