diff --git a/tenet/scheme/amr_clara_rule/__init__.py b/tenet/scheme/amr_clara_rule/__init__.py index 6ff657bc423b6560a63f5bda3f61354aa4c97a36..c909702dddd2c2a7d0b0ce880a10eb4ca8b46105 100644 --- a/tenet/scheme/amr_clara_rule/__init__.py +++ b/tenet/scheme/amr_clara_rule/__init__.py @@ -12,6 +12,7 @@ from scheme.amr_clara_rule.transduction.composite_class_extractor_1 import * from scheme.amr_clara_rule.transduction.composite_class_extractor_2 import * from scheme.amr_clara_rule.transduction.phenomena_polarity_analyzer_1 import * +from scheme.amr_clara_rule.transduction.phenomena_polarity_analyzer_2 import * from scheme.amr_clara_rule.transduction.phenomena_mod_analyzer_1 import * from scheme.amr_clara_rule.transduction.phenomena_or_analyzer_1 import * from scheme.amr_clara_rule.transduction.phenomena_or_analyzer_2 import * diff --git a/tenet/scheme/amr_clara_rule/transduction/atom_individual_extractor.py b/tenet/scheme/amr_clara_rule/transduction/atom_individual_extractor.py index 5e7260c5ec2d56545ca4f1775a212ced44117d79..3d2bf6b0c6c5d5a9b991faf7325b28bcc6af13ca 100644 --- a/tenet/scheme/amr_clara_rule/transduction/atom_individual_extractor.py +++ b/tenet/scheme/amr_clara_rule/transduction/atom_individual_extractor.py @@ -153,12 +153,12 @@ def extract_atom_individual(graph): # -- Rule Initialization rule_label = 'extract atom individuals' + rule_triple_list = [] # -- Search for patterns _, pattern_set = __search_pattern(graph) # -- Pattern Analysis - rule_triple_list = [] for pattern in pattern_set: # -- New Net Construction (from 3 nets) diff --git a/tenet/scheme/amr_clara_rule/transduction/atom_relation_propagator.py b/tenet/scheme/amr_clara_rule/transduction/atom_relation_propagator.py index 459a12fab52c8716faee8167ed399cd7a12f67ad..ddc4f38f01aad2a0c128cf461daaff4b3db92503 100644 --- a/tenet/scheme/amr_clara_rule/transduction/atom_relation_propagator.py +++ b/tenet/scheme/amr_clara_rule/transduction/atom_relation_propagator.py @@ -32,10 +32,11 @@ def __search_pattern(graph): # Useful Additional Search #============================================================================== -def __search_leaf_in_relation(graph, base_leaf_uri): +def __search_leaf_in_leaf_relation(graph, base_leaf_uri): select_data_list = ['?inRelationRole', '?inNet'] clause_list = [f'?inNet a [rdfs:subClassOf* net:Net].', - f'?inNet net:coverBaseNode ?inLeaf.', + f'?inNet net:coverBaseNode ?inLeaf.', + f'?inLeaf a amr:AMR_Leaf.', ('?inLeaf', '?relation', base_leaf_uri), f'?relation amr:hasAmrRole ?inRelationRole.'] query_code = generate_select_query(graph, select_data_list, clause_list) @@ -43,28 +44,63 @@ def __search_leaf_in_relation(graph, base_leaf_uri): return query_code, result_set -def __search_leaf_out_relation(graph, base_leaf_uri): +def __search_leaf_in_value_relation(graph, base_leaf_uri): + select_data_list = ['?inRelationRole', '?inNet'] + clause_list = [f'?inNet a [rdfs:subClassOf* net:Net].', + f'?inNet net:coverAmrValue ?inValue.', + f'?inValue a amr:AMR_Value.', + ('?inValue', '?relation', base_leaf_uri), + f'?relation amr:hasAmrRole ?inRelationRole.'] + query_code = generate_select_query(graph, select_data_list, clause_list) + result_set = graph.query(query_code) + return query_code, result_set + + +def __search_leaf_out_leaf_relation(graph, base_leaf_uri): select_data_list = ['?outRelationRole', '?outNet'] clause_list = [f'?outNet a [rdfs:subClassOf* net:Net].', f'?outNet net:coverBaseNode ?outLeaf.', + f'?outLeaf a amr:AMR_Leaf.', (base_leaf_uri, '?relation', '?outLeaf'), f'?relation amr:hasAmrRole ?outRelationRole.'] query_code = generate_select_query(graph, select_data_list, clause_list) result_set = graph.query(query_code) return query_code, result_set + +def __search_leaf_out_value_relation(graph, base_leaf_uri): + select_data_list = ['?outRelationRole', '?outNet'] + clause_list = [f'?outNet a [rdfs:subClassOf* net:Net].', + f'?outNet net:coverAmrValue ?outValue.', + f'?outValue a amr:AMR_Value.', + (base_leaf_uri, '?relation', '?outValue'), + f'?relation amr:hasAmrRole ?outRelationRole.'] + 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(graph, target_net, base_leaf): - _, in_relation_set = __search_leaf_in_relation(graph, base_leaf) - for row in in_relation_set: - target_net.input_relation_list += [(row.inNet, row.inRelationRole, _)] - _, out_relation_set = __search_leaf_out_relation(graph, base_leaf) - for row in out_relation_set: + + # -- In Relation Propagation + _, in_relation_set_1 = __search_leaf_in_leaf_relation(graph, base_leaf) + for row in in_relation_set_1: + target_net.input_relation_list += [(row.inNet, row.inRelationRole, _)] + _, in_relation_set_2 = __search_leaf_in_value_relation(graph, base_leaf) + for row in in_relation_set_2: + target_net.input_relation_list += [(row.inNet, row.inRelationRole, _)] + + # -- Out Relation Propagation + _, out_relation_set_1 = __search_leaf_out_leaf_relation(graph, base_leaf) + for row in out_relation_set_1: + target_net.output_relation_list += [(_, row.outRelationRole, row.outNet)] + _, out_relation_set_2 = __search_leaf_out_value_relation(graph, base_leaf) + for row in out_relation_set_2: target_net.output_relation_list += [(_, row.outRelationRole, row.outNet)] diff --git a/tenet/scheme/amr_clara_rule/transduction/atom_value_extractor.py b/tenet/scheme/amr_clara_rule/transduction/atom_value_extractor.py index 4bed1cb88082aaf540796a29a84572c653698803..414ac99cf69246ac7535ae087f2350727b07a947 100644 --- a/tenet/scheme/amr_clara_rule/transduction/atom_value_extractor.py +++ b/tenet/scheme/amr_clara_rule/transduction/atom_value_extractor.py @@ -21,7 +21,7 @@ from transduction.naming_computer import define_composite_naming_1, define_restr #============================================================================== def __search_pattern(graph): - select_data_list = ['?valueLabel'] + select_data_list = ['?value', '?valueLabel'] clause_list = [f'?value a amr:AMR_Value.', f'?value rdfs:label ?valueLabel.'] query_code = generate_select_query(graph, select_data_list, clause_list) @@ -102,13 +102,13 @@ def __define_naming(value_label): # Construct Method(s) #============================================================================== -def __construct_value_net( - graph, value_label): +def __construct_value_net(graph, amr_value, value_label): # -- Net Composition value_net = net.ValueNet(graph) # -- Data Computation + value_net.amr_value = amr_value value_net.value_label = value_label value_net.structure = __get_structure(graph) @@ -140,7 +140,7 @@ def extract_atom_value(graph): for pattern in pattern_set: # -- New Net Construction (from 3 nets) - new_class, triple_list = __construct_value_net(graph, pattern.valueLabel) + new_class, triple_list = __construct_value_net(graph, pattern.value, pattern.valueLabel) # -- Resulting List Update # class_net_list.append(new_class) diff --git a/tenet/scheme/amr_master_rule/transduction/atom_individual_extractor.py b/tenet/scheme/amr_master_rule/transduction/atom_individual_extractor.py index e63801749568451afecebc212c4721f3bc57e162..3d2bf6b0c6c5d5a9b991faf7325b28bcc6af13ca 100644 --- a/tenet/scheme/amr_master_rule/transduction/atom_individual_extractor.py +++ b/tenet/scheme/amr_master_rule/transduction/atom_individual_extractor.py @@ -153,12 +153,12 @@ def extract_atom_individual(graph): # -- Rule Initialization rule_label = 'extract atom individuals' + rule_triple_list = [] # -- Search for patterns _, pattern_set = __search_pattern(graph) - # -- Selection Analyzing (1) - rule_triple_list = [] + # -- Pattern Analysis for pattern in pattern_set: # -- New Net Construction (from 3 nets) diff --git a/tenet/scheme/amr_master_rule/transduction/atom_relation_propagator.py b/tenet/scheme/amr_master_rule/transduction/atom_relation_propagator.py index 459a12fab52c8716faee8167ed399cd7a12f67ad..ddc4f38f01aad2a0c128cf461daaff4b3db92503 100644 --- a/tenet/scheme/amr_master_rule/transduction/atom_relation_propagator.py +++ b/tenet/scheme/amr_master_rule/transduction/atom_relation_propagator.py @@ -32,10 +32,11 @@ def __search_pattern(graph): # Useful Additional Search #============================================================================== -def __search_leaf_in_relation(graph, base_leaf_uri): +def __search_leaf_in_leaf_relation(graph, base_leaf_uri): select_data_list = ['?inRelationRole', '?inNet'] clause_list = [f'?inNet a [rdfs:subClassOf* net:Net].', - f'?inNet net:coverBaseNode ?inLeaf.', + f'?inNet net:coverBaseNode ?inLeaf.', + f'?inLeaf a amr:AMR_Leaf.', ('?inLeaf', '?relation', base_leaf_uri), f'?relation amr:hasAmrRole ?inRelationRole.'] query_code = generate_select_query(graph, select_data_list, clause_list) @@ -43,28 +44,63 @@ def __search_leaf_in_relation(graph, base_leaf_uri): return query_code, result_set -def __search_leaf_out_relation(graph, base_leaf_uri): +def __search_leaf_in_value_relation(graph, base_leaf_uri): + select_data_list = ['?inRelationRole', '?inNet'] + clause_list = [f'?inNet a [rdfs:subClassOf* net:Net].', + f'?inNet net:coverAmrValue ?inValue.', + f'?inValue a amr:AMR_Value.', + ('?inValue', '?relation', base_leaf_uri), + f'?relation amr:hasAmrRole ?inRelationRole.'] + query_code = generate_select_query(graph, select_data_list, clause_list) + result_set = graph.query(query_code) + return query_code, result_set + + +def __search_leaf_out_leaf_relation(graph, base_leaf_uri): select_data_list = ['?outRelationRole', '?outNet'] clause_list = [f'?outNet a [rdfs:subClassOf* net:Net].', f'?outNet net:coverBaseNode ?outLeaf.', + f'?outLeaf a amr:AMR_Leaf.', (base_leaf_uri, '?relation', '?outLeaf'), f'?relation amr:hasAmrRole ?outRelationRole.'] query_code = generate_select_query(graph, select_data_list, clause_list) result_set = graph.query(query_code) return query_code, result_set + +def __search_leaf_out_value_relation(graph, base_leaf_uri): + select_data_list = ['?outRelationRole', '?outNet'] + clause_list = [f'?outNet a [rdfs:subClassOf* net:Net].', + f'?outNet net:coverAmrValue ?outValue.', + f'?outValue a amr:AMR_Value.', + (base_leaf_uri, '?relation', '?outValue'), + f'?relation amr:hasAmrRole ?outRelationRole.'] + 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(graph, target_net, base_leaf): - _, in_relation_set = __search_leaf_in_relation(graph, base_leaf) - for row in in_relation_set: - target_net.input_relation_list += [(row.inNet, row.inRelationRole, _)] - _, out_relation_set = __search_leaf_out_relation(graph, base_leaf) - for row in out_relation_set: + + # -- In Relation Propagation + _, in_relation_set_1 = __search_leaf_in_leaf_relation(graph, base_leaf) + for row in in_relation_set_1: + target_net.input_relation_list += [(row.inNet, row.inRelationRole, _)] + _, in_relation_set_2 = __search_leaf_in_value_relation(graph, base_leaf) + for row in in_relation_set_2: + target_net.input_relation_list += [(row.inNet, row.inRelationRole, _)] + + # -- Out Relation Propagation + _, out_relation_set_1 = __search_leaf_out_leaf_relation(graph, base_leaf) + for row in out_relation_set_1: + target_net.output_relation_list += [(_, row.outRelationRole, row.outNet)] + _, out_relation_set_2 = __search_leaf_out_value_relation(graph, base_leaf) + for row in out_relation_set_2: target_net.output_relation_list += [(_, row.outRelationRole, row.outNet)] diff --git a/tenet/scheme/amr_master_rule/transduction/atom_value_extractor.py b/tenet/scheme/amr_master_rule/transduction/atom_value_extractor.py index 4bed1cb88082aaf540796a29a84572c653698803..414ac99cf69246ac7535ae087f2350727b07a947 100644 --- a/tenet/scheme/amr_master_rule/transduction/atom_value_extractor.py +++ b/tenet/scheme/amr_master_rule/transduction/atom_value_extractor.py @@ -21,7 +21,7 @@ from transduction.naming_computer import define_composite_naming_1, define_restr #============================================================================== def __search_pattern(graph): - select_data_list = ['?valueLabel'] + select_data_list = ['?value', '?valueLabel'] clause_list = [f'?value a amr:AMR_Value.', f'?value rdfs:label ?valueLabel.'] query_code = generate_select_query(graph, select_data_list, clause_list) @@ -102,13 +102,13 @@ def __define_naming(value_label): # Construct Method(s) #============================================================================== -def __construct_value_net( - graph, value_label): +def __construct_value_net(graph, amr_value, value_label): # -- Net Composition value_net = net.ValueNet(graph) # -- Data Computation + value_net.amr_value = amr_value value_net.value_label = value_label value_net.structure = __get_structure(graph) @@ -140,7 +140,7 @@ def extract_atom_value(graph): for pattern in pattern_set: # -- New Net Construction (from 3 nets) - new_class, triple_list = __construct_value_net(graph, pattern.valueLabel) + new_class, triple_list = __construct_value_net(graph, pattern.value, pattern.valueLabel) # -- Resulting List Update # class_net_list.append(new_class) diff --git a/tenet/scheme/amr_scheme_clara_1.py b/tenet/scheme/amr_scheme_clara_1.py index d130f07e6965148264d83a2125d732bbbf4b2b67..ec34bdd10f25cf4e1d4f6d47d36fcf30f905231c 100644 --- a/tenet/scheme/amr_scheme_clara_1.py +++ b/tenet/scheme/amr_scheme_clara_1.py @@ -176,10 +176,12 @@ atomic_extraction_sequence = ['atomic extraction sequence', rule.extract_atom_property, rule.extract_atom_value, rule.extract_atom_phenomena, - rule.propagate_atom_relation] + rule.propagate_atom_relation + ] phenomena_analyze_sequence_1 = ['phenomena analyze sequence (1)', rule.analyze_phenomena_polarity_1, + rule.analyze_phenomena_polarity_2, rule.analyze_phenomena_mod_1 ] diff --git a/tenet/structure/amr-rdf-schema.ttl b/tenet/structure/amr-rdf-schema.ttl index 0c8dd19cfe1b06336e7b6075ceab3f02f6544ea0..1d2b377a21a8073d0c62cb6429ea669f2208b601 100644 --- a/tenet/structure/amr-rdf-schema.ttl +++ b/tenet/structure/amr-rdf-schema.ttl @@ -388,8 +388,18 @@ ns1:Role rdf:type owl:Class ; ### https://amr.tetras-libre.fr/rdf/schema#phenomena_modality_possible :phenomena_modality_possible rdf:type owl:Class ; rdfs:subClassOf :phenomena_modality ; - :hasConceptLink "possible-01", "permit-01", "likely-01", "grant-01", "allow-01" ; - :label "possible-modality" . + :hasConceptLink "allow-01" , + "grant-01" , + "likely-01" , + "permit-01" , + "possible-01" ; + :label "possible-modality" . + + +### https://amr.tetras-libre.fr/rdf/schema#phenomena_modality_prohibition +:phenomena_modality_prohibition rdf:type owl:Class ; + rdfs:subClassOf :phenomena_modality ; + :label "prohibition-modality" . ### https://amr.tetras-libre.fr/rdf/schema#relation_domain diff --git a/tenet/transduction/net/value_net.py b/tenet/transduction/net/value_net.py index 1724b2c1d59be20c52c26bbb1e0579493a6fd897..67b172973764384a83dbcc4bef6178093fdbabfe 100644 --- a/tenet/transduction/net/value_net.py +++ b/tenet/transduction/net/value_net.py @@ -34,7 +34,8 @@ class ValueNet(Net): self.type_uri = f'net:{self.type_id}' # -- Net Attributes - self.attr_list += ['value_label'] + self.attr_list += ['amr_value', 'value_label'] + self._amr_value = None self._value_label = None @@ -42,6 +43,16 @@ class ValueNet(Net): # Accessors for Net Attributes #-------------------------------------------------------------------------- + @property + def amr_value(self): + if self._amr_value is None: + self._amr_value = self.get_value_list_from_graph('_amr_value') + return self._amr_value + + @amr_value.setter + def amr_value(self, new_value): + self._amr_value = self.set_attribute_value_list(new_value, produce_uriref) + @property def value_label(self): if self._value_label is None: diff --git a/tenet/transduction/semantic_net_rdf_reference.py b/tenet/transduction/semantic_net_rdf_reference.py index d3fb52af5e04a24fb04847c300f7be5c78d9b473..9af242988fa01f5d58b711502aa180e978c9b054 100644 --- a/tenet/transduction/semantic_net_rdf_reference.py +++ b/tenet/transduction/semantic_net_rdf_reference.py @@ -55,6 +55,7 @@ class SemanticNetReferenceHandle: 'individual_label': 'hasIndividualLabel', # Value Net + 'amr_value': 'coverAmrValue', 'value_label': 'hasValueLabel', # Phenomena Net diff --git a/tests/dev_tests/test_data/atom-extraction-devGraph-1.result.ttl b/tests/dev_tests/test_data/atom-extraction-devGraph-1.result.ttl index aa5bf91e5c6f3a500c678ae0af364985cdb273c2..8c75f2c8ec9fce697f9b1f62ca4b9cc1273e278e 100644 --- a/tests/dev_tests/test_data/atom-extraction-devGraph-1.result.ttl +++ b/tests/dev_tests/test_data/atom-extraction-devGraph-1.result.ttl @@ -664,16 +664,6 @@ net:unary_list a owl:Class ; rdfs:label "unary-list" ; rdfs:subClassOf net:list . -net:value_SolarSystem_blankNode a net:Value_Net ; - net:hasNaming "SolarSystem" ; - net:hasStructure "SSC-01-01" ; - net:hasValueLabel "Solar System" . - -net:value_negative_blankNode a net:Value_Net ; - net:hasNaming "negative" ; - net:hasStructure "SSC-01-01" ; - net:hasValueLabel "negative" . - net:verbClass a owl:AnnotationProperty ; rdfs:label "verb class" ; rdfs:subPropertyOf net:objectValue . @@ -757,17 +747,16 @@ ns2:AMR a owl:Class ; :toReifyWithBaseEdge "ARG0" ; :toReifyWithHeadEdge "ARG1" . -:role_name a owl:Class ; +:role_name a owl:Class, + net:Relation ; rdfs:subClassOf :AMR_NonCore_Role ; :label "name" . -:role_polarity a owl:Class ; +: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/SSC-01-01#a> ; :label "a" . @@ -863,6 +852,7 @@ net:atomProperty_direct_d a net:Atom_Property_Net ; net:isCoreRoleLinked "true" . net:atomProperty_direct_d2 a net:Atom_Property_Net ; + :role_polarity net:value_negative_blankNode ; net:coverBaseNode :leaf_direct-02_d2 ; net:coverNode :leaf_direct-02_d2 ; net:hasNaming "direct" ; @@ -899,6 +889,7 @@ net:has_value a owl:AnnotationProperty ; rdfs:subPropertyOf net:netProperty . net:individual_SolarSystem_p a net:Individual_Net ; + :role_name net:value_SolarSystem_blankNode ; net:coverBaseNode :leaf_system_p ; net:coverNode :leaf_system_p ; net:hasIndividualLabel "Solar System" ; @@ -930,6 +921,12 @@ net:phenomena_conjunction-OR_o3 a net:Phenomena_Net ; net:hasPhenomenaType :phenomena_conjunction_or ; net:hasStructure "SSC-01-01" . +net:value_negative_blankNode a net:Value_Net ; + net:coverAmrValue :value_negative ; + net:hasNaming "negative" ; + net:hasStructure "SSC-01-01" ; + net:hasValueLabel "negative" . + <http://amr.isi.edu/amr_data/SSC-01-01#a> a ns2:and ; ns11:op1 <http://amr.isi.edu/amr_data/SSC-01-01#s2> ; ns11:op2 <http://amr.isi.edu/amr_data/SSC-01-01#o> ; @@ -1064,8 +1061,8 @@ ns2:or a ns2:Concept ; rdfs:subClassOf :AMR_Op_Role ; :label "op2" . -:value_negative a :AMR_Value ; - rdfs:label "negative" . +:value_SolarSystem a :AMR_Value ; + rdfs:label "Solar System" . sys:Out_ObjectProperty a owl:ObjectProperty . @@ -1096,6 +1093,7 @@ net:atomClass_sun_s2 a net:Atom_Class_Net ; net:hasStructure "SSC-01-01" . 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:hasClassName "system" ; @@ -1114,6 +1112,12 @@ net:atomClass_system_s a net:Atom_Class_Net ; net:objectProperty a owl:AnnotationProperty ; rdfs:label "object attribute" . +net:value_SolarSystem_blankNode a net:Value_Net ; + net:coverAmrValue :value_SolarSystem ; + net:hasNaming "SolarSystem" ; + net:hasStructure "SSC-01-01" ; + net:hasValueLabel "Solar System" . + <http://amr.isi.edu/amr_data/SSC-01-01#o> a ns11:object ; rdfs:subClassOf :AMR_Linked_Data . @@ -1162,6 +1166,9 @@ ns2:Frame a ns2:Concept, :toReify a owl:AnnotationProperty ; rdfs:subPropertyOf :AMR_AnnotationProperty . +:value_negative a :AMR_Value ; + rdfs:label "negative" . + net:has_relation_value a owl:AnnotationProperty ; rdfs:label "has relation value" ; rdfs:subPropertyOf net:has_object . @@ -1245,9 +1252,6 @@ sys:Out_Structure a owl:Class ; net:Atom_Class_Net a owl:Class ; rdfs:subClassOf net:Class_Net . -net:Relation a owl:Class ; - rdfs:subClassOf net:Net_Structure . - net:netProperty a owl:AnnotationProperty ; rdfs:label "netProperty" . @@ -1276,6 +1280,9 @@ rdf:Property a owl:Class . :hasConcept :concept_system ; :hasVariable :variable_s . +net:Relation a owl:Class ; + rdfs:subClassOf net:Net_Structure . + net:Type a owl:Class ; rdfs:label "Semantic Net Type" ; rdfs:subClassOf net:Net_Structure . diff --git a/tests/dev_tests/test_data/atom-extraction-devGraph-2.result.ttl b/tests/dev_tests/test_data/atom-extraction-devGraph-2.result.ttl new file mode 100644 index 0000000000000000000000000000000000000000..6f4b5904639c32b7eef51a8cda05ddb9e58615c5 --- /dev/null +++ b/tests/dev_tests/test_data/atom-extraction-devGraph-2.result.ttl @@ -0,0 +1,1186 @@ +@base <https://amr.tetras-libre.fr/rdf/atom-extraction-devGraph-2/result> . +@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/rdf/amr-terms#> . +@prefix ns2: <http://amr.isi.edu/rdf/core-amr#> . +@prefix ns3: <http://amr.isi.edu/frames/ld/v1.2.2/> . +@prefix ns4: <http://amr.isi.edu/entity-types#> . +@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#> . + +ns2:Concept a rdfs:Class, + owl:Class ; + rdfs:label "AMR-Concept" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:Role a rdfs:Class, + owl:Class ; + rdfs:label "AMR-Role" ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/test-1#root01> ns2:hasID "test-1" ; + ns2:hasSentence "The sun is a star." ; + ns2:root <http://amr.isi.edu/amr_data/test-1#s> . + +<http://amr.isi.edu/amr_data/test-2#root01> ns2:hasID "test-2" ; + ns2:hasSentence "Earth is a planet." ; + ns2:root <http://amr.isi.edu/amr_data/test-2#p> . + +ns3:bind-01.ARG0 a ns3:FrameRole . + +ns3:bind-01.ARG1 a ns3:FrameRole . + +ns3:orbit-01.ARG0 a ns3:FrameRole . + +ns3:orbit-01.ARG1 a ns3:FrameRole . + +ns11:domain a ns2:Role, + owl:AnnotationProperty, + owl:NamedIndividual . + +ns11:op1 a ns2:Role . + +ns11:op2 a ns2:Role . + +ns2:hasID a owl:AnnotationProperty . + +ns2:hasSentence a owl:AnnotationProperty . + +ns2: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_SSC-01-01 a :AMR_Root ; + :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#root01> ; + :hasRootLeaf :leaf_system_s ; + :hasSentenceID "SSC-01-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_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: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: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:atomClass_gravitation_g a net:Atom_Class_Net ; + net:coverBaseNode :leaf_gravitation_g ; + net:coverNode :leaf_gravitation_g ; + net:hasClassName "gravitation" ; + net:hasNaming "gravitation" . + +net:atomClass_object_o a net:Atom_Class_Net ; + net:coverBaseNode :leaf_object_o ; + net:coverNode :leaf_object_o ; + net:hasClassName "object" ; + net:hasNaming "object" . + +net:atomClass_sun_s2 a net:Atom_Class_Net ; + net:coverBaseNode :leaf_sun_s2 ; + net:coverNode :leaf_sun_s2 ; + net:hasClassName "sun" ; + net:hasNaming "sun" . + +net:atomClass_system_s a net:Atom_Class_Net ; + :role_domain net:atomClass_system_p, + net:individual_system_p ; + net:coverBaseNode :leaf_system_s ; + net:coverNode :leaf_system_s ; + net:hasClassName "system" ; + net:hasNaming "system" . + +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/SSC-01-01#b> a ns3:bind-01 ; + ns3:bind-01.ARG0 <http://amr.isi.edu/amr_data/SSC-01-01#g> ; + ns3:bind-01.ARG1 <http://amr.isi.edu/amr_data/SSC-01-01#s> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/SSC-01-01#o2> a ns3:orbit-01 ; + ns3:orbit-01.ARG0 <http://amr.isi.edu/amr_data/SSC-01-01#o> ; + ns3:orbit-01.ARG1 <http://amr.isi.edu/amr_data/SSC-01-01#s2> ; + ns11:manner <http://amr.isi.edu/amr_data/SSC-01-01#o3> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/SSC-01-01#root01> a ns2:AMR ; + ns2:has-id "SSC-01-01" ; + ns2:has-sentence "The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly." ; + ns2:root <http://amr.isi.edu/amr_data/SSC-01-01#s> . + +<http://amr.isi.edu/amr_data/test-1#s> ns11:domain <http://amr.isi.edu/amr_data/test-1#s2> . + +<http://amr.isi.edu/amr_data/test-2#p> rdfs:label "Earth" . + +ns4:planet a ns2:NamedEntity ; + rdfs:comment "bug" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2: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 ns2:and ; + :hasPhenomenaLink :phenomena_conjunction_and ; + :label "and" . + +:concept_bind-01 rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns3:bind-01 ; + :label "bind-01" . + +:concept_gravitation rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk ns11:gravitation ; + :label "gravitation" . + +:concept_manner rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns11:manner ; + :isReifiedConcept true ; + :label "hasManner" . + +:concept_object rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk ns11:object ; + :label "object" . + +:concept_or rdfs:subClassOf :AMR_Relation_Concept ; + :fromAmrLk ns2:or ; + :hasPhenomenaLink :phenomena_conjunction_or ; + :label "or" . + +:concept_orbit-01 rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns3:orbit-01 ; + :label "orbit-01" . + +:concept_part rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns11:part ; + :isReifiedConcept true ; + :label "hasPart" . + +:concept_sun rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk ns11: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_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 . + +: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, + net:Relation ; + 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/SSC-01-01#a> ; + :label "a" . + +:variable_b a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#b> ; + :label "b" . + +:variable_d a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#d> ; + :label "d" . + +:variable_d2 a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#d2> ; + :label "d2" . + +:variable_g a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#g> ; + :label "g" . + +:variable_m9 a ns11:manner, + :AMR_Variable ; + :isReifiedVariable true ; + :label "m9" . + +:variable_o a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#o> ; + :label "o" . + +:variable_o2 a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#o2> ; + :label "o2" . + +:variable_o3 a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#o3> ; + :label "o3" . + +:variable_p a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#p> ; + :label "p" ; + :name "Solar System" . + +:variable_p9 a ns11:part, + :AMR_Variable ; + :isReifiedVariable true ; + :label "p9" . + +:variable_s a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#s> ; + :label "s" . + +:variable_s2 a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-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:Individual_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Relation 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:individual_system_p a net:Individual_Net ; + net:coverBaseNode :leaf_system_p ; + net:coverNode :leaf_system_p ; + net:hasIndividualLabel "Solar System" ; + net:hasMotherClassNet net:atomClass_system_p ; + net:hasNaming "system" . + +net:objectType a owl:AnnotationProperty ; + rdfs:label "object type" ; + rdfs:subPropertyOf net:objectProperty . + +<http://amr.isi.edu/amr_data/SSC-01-01#a> a ns2:and ; + ns11:op1 <http://amr.isi.edu/amr_data/SSC-01-01#s2> ; + ns11:op2 <http://amr.isi.edu/amr_data/SSC-01-01#o> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/SSC-01-01#d> a ns3:direct-02 ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/SSC-01-01#d2> a ns3:direct-02 ; + ns11:polarity "-" ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/SSC-01-01#g> a ns11:gravitation ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/SSC-01-01#o3> a ns2:or ; + ns11:op1 <http://amr.isi.edu/amr_data/SSC-01-01#d> ; + ns11:op2 <http://amr.isi.edu/amr_data/SSC-01-01#d2> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/SSC-01-01#p> a ns4:planet, + ns4:system ; + rdfs:label "Solar System" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns4:system a ns2:NamedEntity ; + rdfs:label "system" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:bind-01 a ns2:Frame ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:orbit-01 a ns2:Frame ; + rdfs:subClassOf :AMR_Linked_Data . + +ns11:gravitation a ns2:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns11:manner a ns2:Role ; + rdfs:subClassOf :AMR_Linked_Data . + +ns11:object a ns2:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns11:part a ns2:Role ; + rdfs:subClassOf :AMR_Linked_Data . + +ns11:sun a ns2:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns11:system a ns2:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:NamedEntity a ns2:Concept, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-EntityType", + "AMR-Term" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:and a ns2:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:or a ns2: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 ns3:direct-02 ; + :label "direct-02" . + +:concept_system rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk ns4:system, + ns11: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" . + +: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:atomClass_system_p a net:Atom_Class_Net ; + net:coverBaseNode :leaf_system_p ; + net:coverNode :leaf_system_p ; + net:hasClassName "system" ; + net:hasNaming "system" . + +net:objectProperty a owl:AnnotationProperty ; + rdfs:label "object attribute" . + +<http://amr.isi.edu/amr_data/SSC-01-01#o> a ns11:object ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/SSC-01-01#s> a ns11:system ; + ns11:domain <http://amr.isi.edu/amr_data/SSC-01-01#p> ; + ns11:part <http://amr.isi.edu/amr_data/SSC-01-01#a> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/SSC-01-01#s2> a ns11:sun ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:direct-02 a ns2:Frame ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:Frame a ns2: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_gravitation_g a :AMR_Leaf ; + :hasConcept :concept_gravitation ; + :hasVariable :variable_g . + +: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 . + +ns3:FrameRole a ns2: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_object_o a :AMR_Leaf ; + :hasConcept :concept_object ; + :hasVariable :variable_o . + +:leaf_sun_s2 a :AMR_Leaf ; + :hasConcept :concept_sun ; + :hasVariable :variable_s2 . + +: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 . + +:leaf_system_p a :AMR_Leaf ; + :edge_p_name_SolarSystem :value_SolarSystem ; + :hasConcept :concept_system ; + :hasVariable :variable_p . + +:leaf_system_s a :AMR_Leaf ; + :edge_s_domain_p :leaf_system_p ; + :hasConcept :concept_system ; + :hasVariable :variable_s . + +sys:Out_Structure a owl:Class ; + rdfs:label "Output Ontology Structure" . + +net:Atom_Class_Net a owl:Class ; + rdfs:subClassOf net:Class_Net . + +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/dev_tests/test_data/atom-extraction-devGraph-3.result.ttl b/tests/dev_tests/test_data/atom-extraction-devGraph-3.result.ttl new file mode 100644 index 0000000000000000000000000000000000000000..3de036c859229bb93d82511684aca1dbe6a30d83 --- /dev/null +++ b/tests/dev_tests/test_data/atom-extraction-devGraph-3.result.ttl @@ -0,0 +1,923 @@ +@base <https://amr.tetras-libre.fr/rdf/atom-extraction-devGraph-3/result> . +@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/rdf/core-amr#> . +@prefix ns2: <http://amr.isi.edu/rdf/amr-terms#> . +@prefix ns3: <http://amr.isi.edu/frames/ld/v1.2.2/> . +@prefix ns4: <http://amr.isi.edu/entity-types#> . +@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#> . + +ns11:Concept a rdfs:Class, + owl:Class ; + rdfs:label "AMR-Concept" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns11:Role a rdfs:Class, + owl:Class ; + rdfs:label "AMR-Role" ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/test-1#root01> ns11:hasID "test-1" ; + ns11:hasSentence "The sun is a star." ; + ns11:root <http://amr.isi.edu/amr_data/test-1#s> . + +<http://amr.isi.edu/amr_data/test-2#root01> ns11:hasID "test-2" ; + ns11:hasSentence "Earth is a planet." ; + ns11:root <http://amr.isi.edu/amr_data/test-2#p> . + +ns3:allow-01.ARG1 a ns3:FrameRole . + +ns3:play-01.ARG0 a ns3:FrameRole . + +ns3:play-01.ARG1 a ns3:FrameRole . + +ns2:domain a ns11:Role, + owl:AnnotationProperty, + owl:NamedIndividual . + +ns11:hasID a owl:AnnotationProperty . + +ns11:hasSentence a owl:AnnotationProperty . + +ns11: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_ARG1_p a :AMR_Edge ; + :hasAmrRole :role_ARG1 ; + :hasRoleID "ARG1" . + +:edge_a_polarity_negative a :AMR_Edge ; + :hasAmrRole :role_polarity ; + :hasRoleID "polarity" . + +:edge_p2_name_John a :AMR_Edge ; + :hasAmrRole :role_name ; + :hasRoleID "name" . + +:edge_p_ARG0_p2 a :AMR_Edge ; + :hasAmrRole :role_ARG0 ; + :hasRoleID "ARG0" . + +:edge_p_ARG1_m a :AMR_Edge ; + :hasAmrRole :role_ARG1 ; + :hasRoleID "ARG1" . + +: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" . + +:phenomena_modality_obligation a owl:Class ; + rdfs:subClassOf :phenomena_modality ; + :hasConceptLink "obligate-01" ; + :label "obligation-modality" . + +:phenomena_modality_prohibition a owl:Class ; + rdfs:subClassOf :phenomena_modality ; + :label "prohibition-modality" . + +: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_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_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_quant a owl:Class ; + rdfs:subClassOf :AMR_Specific_Role ; + :label "quant" . + +:root_document-03 a :AMR_Root ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-03#root01> ; + :hasRootLeaf :leaf_allow-01_a ; + :hasSentenceID "document-03" ; + :hasSentenceStatement "John is not allowed to play the movie.." . + +: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:Action_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:Deprecated_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Feature a owl:Class ; + rdfs:subClassOf net:Net_Structure . + +net:Rule_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:abstractionClass a owl:AnnotationProperty ; + rdfs:label "abstraction class" ; + rdfs:subPropertyOf net:objectValue . + +net:atomType a owl:AnnotationProperty ; + rdfs:label "atom type" ; + rdfs:subPropertyOf net:objectType . + +net:entityClass a owl:AnnotationProperty ; + rdfs:label "entity class" ; + rdfs:subPropertyOf net:objectValue . + +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:listGuiding a owl:AnnotationProperty ; + rdfs:label "Guiding connector of a list (or, and)" ; + rdfs:subPropertyOf net:objectValue . + +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:phenomena_possible-modality_a a net:Phenomena_Net ; + :role_ARG1 net:atomProperty_play_p ; + :role_polarity net:value_negative_blankNode ; + net:coverBaseNode :leaf_allow-01_a ; + net:coverNode :leaf_allow-01_a ; + net:hasNaming "possible-modality" ; + net:hasPhenomenaRef "allow-01" ; + net:hasPhenomenaType :phenomena_modality_possible ; + net:hasStructure "document-03" . + +net:type a owl:AnnotationProperty ; + rdfs:label "type "@fr ; + rdfs:subPropertyOf net:netProperty . + +net:verbClass a owl:AnnotationProperty ; + rdfs:label "verb class" ; + rdfs:subPropertyOf net:objectValue . + +<http://amr.isi.edu/amr_data/document-03#root01> a ns11:AMR ; + ns11:has-id "document-03" ; + ns11:has-sentence "John is not allowed to play the movie.." ; + ns11:root <http://amr.isi.edu/amr_data/document-03#a> . + +<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" . + +ns11:AMR a owl:Class ; + rdfs:subClassOf :AMR_Linked_Data . + +ns11:NamedEntity a ns11:Concept, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-EntityType", + "AMR-Term" ; + rdfs:subClassOf :AMR_Linked_Data . + +:AMR_Predicat_Concept a owl:Class ; + rdfs:subClassOf :AMR_Concept . + +:AMR_Relation_Concept a owl:Class ; + rdfs:subClassOf :AMR_Concept . + +:AMR_Root a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:concept_allow-01 rdfs:subClassOf :AMR_Relation_Concept ; + :fromAmrLk ns3:allow-01 ; + :hasPhenomenaLink :phenomena_modality_possible ; + :label "allow-01" . + +:concept_movie rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk ns2:movie ; + :label "movie" . + +:concept_person rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk ns4:person ; + :label "person" . + +:concept_play-01 rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns3:play-01 ; + :label "play-01" . + +:role_ARG0 a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG0" . + +: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" . + +:variable_a a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-03#a> ; + :label "a" . + +:variable_m a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-03#m> ; + :label "m" . + +:variable_p a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-03#p> ; + :label "p" . + +:variable_p2 a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-03#p2> ; + :label "p2" ; + :name "John" . + +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:Atom_Property_Net a owl:Class ; + rdfs:subClassOf net:Property_Net . + +net:Individual_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Phenomena_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:atomClass_movie_m a net:Atom_Class_Net ; + net:coverBaseNode :leaf_movie_m ; + net:coverNode :leaf_movie_m ; + net:hasClassName "movie" ; + net:hasNaming "movie" ; + net:hasStructure "document-03" . + +net:atomProperty_play_p a net:Atom_Property_Net ; + :role_ARG0 net:atomClass_person_p2, + net:individual_John_p2 ; + :role_ARG1 net:atomClass_movie_m ; + net:coverBaseNode :leaf_play-01_p ; + net:coverNode :leaf_play-01_p ; + net:hasNaming "play" ; + net:hasPropertyName "play" ; + net:hasPropertyName01 "playing" ; + net:hasPropertyName10 "play-by" ; + net:hasPropertyName12 "play-of" ; + net:hasPropertyType owl:ObjectProperty ; + net:hasStructure "document-03" ; + net:isCoreRoleLinked "true" ; + net:targetArgumentNode :leaf_movie_m, + :leaf_person_p2 . + +net:has_value a owl:AnnotationProperty ; + rdfs:subPropertyOf net:netProperty . + +net:individual_John_p2 a net:Individual_Net ; + :role_name net:value_John_blankNode ; + net:coverBaseNode :leaf_person_p2 ; + net:coverNode :leaf_person_p2 ; + net:hasIndividualLabel "John" ; + net:hasMotherClassNet net:atomClass_person_p2 ; + net:hasNaming "John" ; + net:hasStructure "document-03" . + +net:objectType a owl:AnnotationProperty ; + rdfs:label "object type" ; + rdfs:subPropertyOf net:objectProperty . + +net:value_negative_blankNode a net:Value_Net ; + net:coverAmrValue :value_negative ; + net:hasNaming "negative" ; + net:hasStructure "document-03" ; + net:hasValueLabel "negative" . + +<http://amr.isi.edu/amr_data/document-03#a> a ns3:allow-01 ; + ns3:allow-01.ARG1 <http://amr.isi.edu/amr_data/document-03#p> ; + ns2:polarity "-" ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-03#m> a ns2:movie ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-03#p> a ns3:play-01 ; + ns3:play-01.ARG0 <http://amr.isi.edu/amr_data/document-03#p2> ; + ns3:play-01.ARG1 <http://amr.isi.edu/amr_data/document-03#m> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-03#p2> a ns4:person ; + rdfs:label "John" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns4:person a ns11:NamedEntity ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:allow-01 a ns11:Frame ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:play-01 a ns11:Frame ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:movie a ns11:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns11:Frame a ns11:Concept, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-PropBank-Frame" ; + rdfs:subClassOf :AMR_Linked_Data . + +:AMR_Term_Concept a owl:Class ; + rdfs:subClassOf :AMR_Concept . + +:AMR_Value a owl:Class ; + rdfs:subClassOf :AMR_Element . + +: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_modality_possible a owl:Class ; + rdfs:subClassOf :phenomena_modality ; + :hasConceptLink "allow-01", + "grant-01", + "likely-01", + "permit-01", + "possible-01" ; + :label "possible-modality" . + +:role_ARG1 a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG1" . + +:value_John a :AMR_Value ; + rdfs:label "John" . + +:value_negative a :AMR_Value ; + rdfs:label "negative" . + +sys:Out_ObjectProperty a owl:ObjectProperty . + +net:Atom_Class_Net a owl:Class ; + rdfs:subClassOf net:Class_Net . + +net:Class_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_person_p2 a net:Atom_Class_Net ; + :role_name net:value_John_blankNode ; + net:coverBaseNode :leaf_person_p2 ; + net:coverNode :leaf_person_p2 ; + net:hasClassName "person" ; + net:hasNaming "person" ; + net:hasStructure "document-03" . + +net:objectProperty a owl:AnnotationProperty ; + rdfs:label "object attribute" . + +net:value_John_blankNode a net:Value_Net ; + net:coverAmrValue :value_John ; + net:hasNaming "John" ; + net:hasStructure "document-03" ; + net:hasValueLabel "John" . + +ns3:FrameRole a ns11:Role, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-PropBank-Role" ; + rdfs:subClassOf :AMR_Linked_Data . + +:AMR_Concept a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:AMR_Phenomena 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 . + +:leaf_allow-01_a a :AMR_Leaf ; + :edge_a_ARG1_p :leaf_play-01_p ; + :edge_a_polarity_negative :value_negative ; + :hasConcept :concept_allow-01 ; + :hasVariable :variable_a . + +:leaf_play-01_p a :AMR_Leaf ; + :edge_p_ARG0_p2 :leaf_person_p2 ; + :edge_p_ARG1_m :leaf_movie_m ; + :hasConcept :concept_play-01 ; + :hasVariable :variable_p . + +:phenomena_modality a owl:Class ; + rdfs:subClassOf :AMR_Phenomena . + +:toReify a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +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:has_relation_value a owl:AnnotationProperty ; + rdfs:label "has relation value" ; + rdfs:subPropertyOf net:has_object . + +:AMR_Element a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_Variable a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:leaf_movie_m a :AMR_Leaf ; + :hasConcept :concept_movie ; + :hasVariable :variable_m . + +net:Relation a owl:Class ; + rdfs:subClassOf net:Net_Structure . + +: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_Leaf a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_ObjectProperty a owl:ObjectProperty ; + rdfs:subPropertyOf owl:topObjectProperty . + +:AMR_Structure a owl:Class . + +:leaf_person_p2 a :AMR_Leaf ; + :edge_p2_name_John :value_John ; + :hasConcept :concept_person ; + :hasVariable :variable_p2 . + +cprm:configParamProperty a rdf:Property ; + rdfs:label "Config Parameter Property" . + +rdf:Property a owl:Class . + +:AMR_Relation a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_Edge a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +net:Net a owl:Class ; + 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 . + +:AMR_AnnotationProperty a owl:AnnotationProperty . + +:AMR_Core_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +:AMR_Linked_Data a owl:Class . + +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/dev_tests/test_data/atom-extraction-devGraph-3.ttl b/tests/dev_tests/test_data/atom-extraction-devGraph-3.ttl new file mode 100644 index 0000000000000000000000000000000000000000..a0dae60479dde3950bc281a0d78c3836cd259487 --- /dev/null +++ b/tests/dev_tests/test_data/atom-extraction-devGraph-3.ttl @@ -0,0 +1,911 @@ +@base <http://https://tenet.tetras-libre.fr/demo/clara/03//transduction> . +@prefix : <https://amr.tetras-libre.fr/rdf/schema#> . +@prefix cprm: <https://tenet.tetras-libre.fr/config/parameters#> . +@prefix net: <https://tenet.tetras-libre.fr/semantic-net#> . +@prefix ns1: <http://amr.isi.edu/rdf/core-amr#> . +@prefix ns2: <http://amr.isi.edu/rdf/amr-terms#> . +@prefix ns3: <http://amr.isi.edu/frames/ld/v1.2.2/> . +@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#> . + +ns1:Concept a rdfs:Class, + owl:Class ; + rdfs:label "AMR-Concept" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns1:Role a rdfs:Class, + owl:Class ; + rdfs:label "AMR-Role" ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/test-1#root01> ns1:hasID "test-1" ; + ns1:hasSentence "The sun is a star." ; + ns1:root <http://amr.isi.edu/amr_data/test-1#s> . + +<http://amr.isi.edu/amr_data/test-2#root01> ns1:hasID "test-2" ; + ns1:hasSentence "Earth is a planet." ; + ns1:root <http://amr.isi.edu/amr_data/test-2#p> . + +ns3:allow-01.ARG1 a ns3:FrameRole . + +ns3:play-01.ARG0 a ns3:FrameRole . + +ns3:play-01.ARG1 a ns3:FrameRole . + +ns2:domain a ns1:Role, + owl:AnnotationProperty, + owl:NamedIndividual . + +ns1:hasID a owl:AnnotationProperty . + +ns1:hasSentence a owl:AnnotationProperty . + +ns1: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_ARG1_p a :AMR_Edge ; + :hasAmrRole :role_ARG1 ; + :hasRoleID "ARG1" . + +:edge_a_polarity_negative a :AMR_Edge ; + :hasAmrRole :role_polarity ; + :hasRoleID "polarity" . + +:edge_p2_name_John a :AMR_Edge ; + :hasAmrRole :role_name ; + :hasRoleID "name" . + +:edge_p_ARG0_p2 a :AMR_Edge ; + :hasAmrRole :role_ARG0 ; + :hasRoleID "ARG0" . + +:edge_p_ARG1_m a :AMR_Edge ; + :hasAmrRole :role_ARG1 ; + :hasRoleID "ARG1" . + +: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" . + +:phenomena_modality_obligation a owl:Class ; + rdfs:subClassOf :phenomena_modality ; + :hasConceptLink "obligate-01" ; + :label "obligation-modality" . + +:phenomena_modality_prohibition a owl:Class ; + rdfs:subClassOf :phenomena_modality ; + :label "prohibition-modality" . + +: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_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_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_quant a owl:Class ; + rdfs:subClassOf :AMR_Specific_Role ; + :label "quant" . + +:root_document-03 a :AMR_Root ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-03#root01> ; + :hasRootLeaf :leaf_allow-01_a ; + :hasSentenceID "document-03" ; + :hasSentenceStatement "John is not allowed to play the movie.." . + +: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:Action_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:Deprecated_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Feature a owl:Class ; + rdfs:subClassOf net:Net_Structure . + +net:Relation a owl:Class ; + rdfs:subClassOf net:Net_Structure . + +net:Rule_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:abstractionClass a owl:AnnotationProperty ; + rdfs:label "abstraction class" ; + rdfs:subPropertyOf net:objectValue . + +net:atomClass_movie_m a net:Atom_Class_Net ; + net:coverBaseNode :leaf_movie_m ; + net:coverNode :leaf_movie_m ; + net:hasClassName "movie" ; + net:hasNaming "movie" ; + net:hasStructure "document-03" . + +net:atomProperty_play_p a net:Atom_Property_Net ; + net:coverBaseNode :leaf_play-01_p ; + net:coverNode :leaf_play-01_p ; + net:hasNaming "play" ; + net:hasPropertyName "play" ; + net:hasPropertyName01 "playing" ; + net:hasPropertyName10 "play-by" ; + net:hasPropertyName12 "play-of" ; + net:hasPropertyType owl:ObjectProperty ; + net:hasStructure "document-03" ; + net:isCoreRoleLinked "true" ; + net:targetArgumentNode :leaf_movie_m, + :leaf_person_p2 . + +net:atomType a owl:AnnotationProperty ; + rdfs:label "atom type" ; + rdfs:subPropertyOf net:objectType . + +net:entityClass a owl:AnnotationProperty ; + rdfs:label "entity class" ; + rdfs:subPropertyOf net:objectValue . + +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:individual_John_p2 a net:Individual_Net ; + net:coverBaseNode :leaf_person_p2 ; + net:coverNode :leaf_person_p2 ; + net:hasIndividualLabel "John" ; + net:hasMotherClassNet net:atomClass_person_p2 ; + net:hasNaming "John" ; + net:hasStructure "document-03" . + +net:inverse_direction a owl:NamedIndividual . + +net:listGuiding a owl:AnnotationProperty ; + rdfs:label "Guiding connector of a list (or, and)" ; + rdfs:subPropertyOf net:objectValue . + +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:phenomena_possible-modality_a a net:Phenomena_Net ; + net:coverBaseNode :leaf_allow-01_a ; + net:coverNode :leaf_allow-01_a ; + net:hasNaming "possible-modality" ; + net:hasPhenomenaRef "allow-01" ; + net:hasPhenomenaType :phenomena_modality_possible ; + net:hasStructure "document-03" . + +net:type a owl:AnnotationProperty ; + rdfs:label "type "@fr ; + rdfs:subPropertyOf net:netProperty . + +net:value_John_blankNode a net:Value_Net ; + net:coverAmrValue :value_John ; + net:hasNaming "John" ; + net:hasStructure "document-03" ; + net:hasValueLabel "John" . + +net:value_negative_blankNode a net:Value_Net ; + net:coverAmrValue :value_negative ; + net:hasNaming "negative" ; + net:hasStructure "document-03" ; + net:hasValueLabel "negative" . + +net:verbClass a owl:AnnotationProperty ; + rdfs:label "verb class" ; + rdfs:subPropertyOf net:objectValue . + +<http://amr.isi.edu/amr_data/document-03#root01> a ns1:AMR ; + ns1:has-id "document-03" ; + ns1:has-sentence "John is not allowed to play the movie.." ; + ns1:root <http://amr.isi.edu/amr_data/document-03#a> . + +<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" . + +ns1:AMR a owl:Class ; + rdfs:subClassOf :AMR_Linked_Data . + +ns1:NamedEntity a ns1:Concept, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-EntityType", + "AMR-Term" ; + rdfs:subClassOf :AMR_Linked_Data . + +:AMR_Predicat_Concept a owl:Class ; + rdfs:subClassOf :AMR_Concept . + +:AMR_Relation_Concept a owl:Class ; + rdfs:subClassOf :AMR_Concept . + +:AMR_Root a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:concept_allow-01 rdfs:subClassOf :AMR_Relation_Concept ; + :fromAmrLk ns3:allow-01 ; + :hasPhenomenaLink :phenomena_modality_possible ; + :label "allow-01" . + +:concept_movie rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk ns2:movie ; + :label "movie" . + +:concept_person rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk <http://amr.isi.edu/entity-types#person> ; + :label "person" . + +:concept_play-01 rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns3:play-01 ; + :label "play-01" . + +:role_ARG0 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG0" . + +:role_name a owl:Class ; + rdfs:subClassOf :AMR_NonCore_Role ; + :label "name" . + +:role_polarity a owl:Class ; + rdfs:subClassOf :AMR_Specific_Role ; + :label "polarity" . + +:variable_a a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-03#a> ; + :label "a" . + +:variable_m a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-03#m> ; + :label "m" . + +:variable_p a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-03#p> ; + :label "p" . + +:variable_p2 a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-03#p2> ; + :label "p2" ; + :name "John" . + +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:Atom_Property_Net a owl:Class ; + rdfs:subClassOf net:Property_Net . + +net:Individual_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Phenomena_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:atomClass_person_p2 a net:Atom_Class_Net ; + net:coverBaseNode :leaf_person_p2 ; + net:coverNode :leaf_person_p2 ; + net:hasClassName "person" ; + net:hasNaming "person" ; + net:hasStructure "document-03" . + +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-03#a> a ns3:allow-01 ; + ns3:allow-01.ARG1 <http://amr.isi.edu/amr_data/document-03#p> ; + ns2:polarity "-" ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-03#m> a ns2:movie ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-03#p> a ns3:play-01 ; + ns3:play-01.ARG0 <http://amr.isi.edu/amr_data/document-03#p2> ; + ns3:play-01.ARG1 <http://amr.isi.edu/amr_data/document-03#m> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-03#p2> a <http://amr.isi.edu/entity-types#person> ; + rdfs:label "John" ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/entity-types#person> a ns1:NamedEntity ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:allow-01 a ns1:Frame ; + rdfs:subClassOf :AMR_Linked_Data . + +ns3:play-01 a ns1:Frame ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:movie a ns1:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns1:Frame a ns1:Concept, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-PropBank-Frame" ; + rdfs:subClassOf :AMR_Linked_Data . + +:AMR_Term_Concept a owl:Class ; + rdfs:subClassOf :AMR_Concept . + +:AMR_Value a owl:Class ; + rdfs:subClassOf :AMR_Element . + +: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_modality_possible a owl:Class ; + rdfs:subClassOf :phenomena_modality ; + :hasConceptLink "allow-01", + "grant-01", + "likely-01", + "permit-01", + "possible-01" ; + :label "possible-modality" . + +:role_ARG1 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG1" . + +:value_John a :AMR_Value ; + rdfs:label "John" . + +:value_negative a :AMR_Value ; + rdfs:label "negative" . + +sys:Out_ObjectProperty a owl:ObjectProperty . + +net:Atom_Class_Net a owl:Class ; + rdfs:subClassOf net:Class_Net . + +net:Class_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:objectProperty a owl:AnnotationProperty ; + rdfs:label "object attribute" . + +ns3:FrameRole a ns1:Role, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-PropBank-Role" ; + rdfs:subClassOf :AMR_Linked_Data . + +:AMR_Concept a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:AMR_Phenomena 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 . + +:leaf_allow-01_a a :AMR_Leaf ; + :edge_a_ARG1_p :leaf_play-01_p ; + :edge_a_polarity_negative :value_negative ; + :hasConcept :concept_allow-01 ; + :hasVariable :variable_a . + +:leaf_play-01_p a :AMR_Leaf ; + :edge_p_ARG0_p2 :leaf_person_p2 ; + :edge_p_ARG1_m :leaf_movie_m ; + :hasConcept :concept_play-01 ; + :hasVariable :variable_p . + +:phenomena_modality a owl:Class ; + rdfs:subClassOf :AMR_Phenomena . + +:toReify a owl:AnnotationProperty ; + rdfs:subPropertyOf :AMR_AnnotationProperty . + +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:has_relation_value a owl:AnnotationProperty ; + rdfs:label "has relation value" ; + rdfs:subPropertyOf net:has_object . + +:AMR_Element a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_Variable a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:leaf_movie_m a :AMR_Leaf ; + :hasConcept :concept_movie ; + :hasVariable :variable_m . + +: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_Leaf a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_ObjectProperty a owl:ObjectProperty ; + rdfs:subPropertyOf owl:topObjectProperty . + +:AMR_Structure a owl:Class . + +:leaf_person_p2 a :AMR_Leaf ; + :edge_p2_name_John :value_John ; + :hasConcept :concept_person ; + :hasVariable :variable_p2 . + +cprm:configParamProperty a rdf:Property ; + rdfs:label "Config Parameter Property" . + +rdf:Property a owl:Class . + +:AMR_Relation a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_Edge a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +net:Net a owl:Class ; + 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 . + +:AMR_AnnotationProperty a owl:AnnotationProperty . + +:AMR_Core_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +:AMR_Linked_Data a owl:Class . + +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/dev_tests/test_rule_atomic_extractor.py b/tests/dev_tests/test_rule_atomic_extractor.py index d494c350e51960a799c342c234b1cc30bab5e37d..059faa4045aea371c761c66137010b8696fcfb29 100644 --- a/tests/dev_tests/test_rule_atomic_extractor.py +++ b/tests/dev_tests/test_rule_atomic_extractor.py @@ -16,22 +16,21 @@ FILE_PATH = f'{os.path.dirname(os.path.abspath(__file__))}' INPUT_DIR_PATH = f'{FILE_PATH}/test_data/' OUTPUT_DIR_PATH = f'{FILE_PATH}/test_data/' -TEST_FILE_NAME = 'atom-extraction-devGraph-1' -INPUT_GRAPH_PATH = f'{INPUT_DIR_PATH}{TEST_FILE_NAME}.ttl' -OUTPUT_GRAPH_PATH = f'{OUTPUT_DIR_PATH}{TEST_FILE_NAME}.result.ttl' -OUTPUT_GRAPH_URI = f'https://amr.tetras-libre.fr/rdf/{TEST_FILE_NAME}/result' +TEST_FILE_NAME_1 = 'atom-extraction-devGraph-1' +TEST_FILE_NAME_2 = 'atom-extraction-devGraph-2' +TEST_FILE_NAME_3 = 'atom-extraction-devGraph-3' from context import tenet from tenet.transduction.rdfterm_computer import __update_uri_with_prefix from tenet.transduction import rdfterm_computer, prefix_handle from tenet.transduction import net -from tenet.scheme.amr_rule.transduction import atom_class_extractor as rule_1 -from tenet.scheme.amr_rule.transduction import atom_individual_extractor as rule_2 -from tenet.scheme.amr_rule.transduction import atom_property_extractor as rule_3 -from tenet.scheme.amr_rule.transduction import atom_value_extractor as rule_4 -from tenet.scheme.amr_rule.transduction import atom_phenomena_extractor as rule_5 -from tenet.scheme.amr_rule.transduction import atom_relation_propagator as rule_6 -from tenet.scheme import amr_rule +from tenet.scheme.amr_master_rule.transduction import atom_class_extractor as rule_1 +from tenet.scheme.amr_master_rule.transduction import atom_individual_extractor as rule_2 +from tenet.scheme.amr_master_rule.transduction import atom_property_extractor as rule_3 +from tenet.scheme.amr_master_rule.transduction import atom_value_extractor as rule_4 +from tenet.scheme.amr_master_rule.transduction import atom_phenomena_extractor as rule_5 +from tenet.scheme.amr_master_rule.transduction import atom_relation_propagator as rule_6 +from tenet.scheme import amr_master_rule @@ -39,16 +38,17 @@ from tenet.scheme import amr_rule # Useful Methods #============================================================================== -def load_test_graph(): +def load_test_graph(test_file_name): print(f'\n -- Test Graph Loading') graph = Graph() prefix_handle.update_graph_namespacemanager(graph) - graph.parse(INPUT_GRAPH_PATH) + graph_path = f'{INPUT_DIR_PATH}{test_file_name}.ttl' + graph.parse(graph_path) print(f" ----- Graph Loaded ({len(graph)})") return graph -def print_triple(triple, num=-1): +def print_triple(graph, triple, num=-1): num_str = f'[{num}]' if num > -1 else '[-]' (s, p, o) = triple s = __update_uri_with_prefix(graph, s) @@ -57,7 +57,7 @@ def print_triple(triple, num=-1): print(f' {num_str} {s} {p} {o}') -def add_triples_in_graph(graph, triple_list): +def add_triples_in_graph(test_file_name, graph, triple_list): print(f'\n -- Adding triple(s) in graph') print(f" ----- Graph length before update: {len(graph)}") print(f" ----- Number of triples to add: {len(triple_list)}") @@ -70,14 +70,16 @@ def add_triples_in_graph(graph, triple_list): if graph_length < len(graph): n += 1 graph_length = len(graph) - print_triple(triple, num=n) + print_triple(graph, triple, num=n) print(f" ----- Graph length after update: {len(graph)}") - print(f'\n -- Serialize test graph to {OUTPUT_GRAPH_PATH}') - graph.serialize(destination=OUTPUT_GRAPH_PATH, + output_graph_path = f'{OUTPUT_DIR_PATH}{test_file_name}.result.ttl' + output_graph_uri = f'https://amr.tetras-libre.fr/rdf/{test_file_name}/result' + print(f'\n -- Serialize test graph to {output_graph_path}') + graph.serialize(destination=output_graph_path, format='turtle', - base=OUTPUT_GRAPH_URI) + base=output_graph_uri) @@ -142,6 +144,56 @@ def test_search_pattern_5(graph): return pattern_set +def test_search_pattern_6(graph): + _, pattern_set = rule_6.__search_pattern(graph) + print(f'\n ----- search 1 result: {len(pattern_set)}') + for row in pattern_set: + result_str = f'>>> ' + result_str += f'{row.net.n3(graph.namespace_manager)}' + print(result_str) + + + for pattern in pattern_set: + target_net = net.Net(graph, pattern.net) + + if len(target_net.base_node) > 0: + base_leaf = target_net.base_node[0] + + _, result_set = rule_6.__search_leaf_in_leaf_relation(graph, base_leaf) + print(f'\n ----- search 2 result: {len(result_set)}') + for row in result_set: + result_str = f'>>> ' + result_str += f'( {row.inNet.n3(graph.namespace_manager)}' + result_str += f', {row.inRelationRole.n3(graph.namespace_manager)} )' + print(result_str) + + _, result_set = rule_6.__search_leaf_in_value_relation(graph, base_leaf) + print(f'\n ----- search 3 result: {len(result_set)}') + for row in result_set: + result_str = f'>>> ' + result_str += f'( {row.inNet.n3(graph.namespace_manager)}' + result_str += f', {row.inRelationRole.n3(graph.namespace_manager)} )' + print(result_str) + + _, result_set = rule_6.__search_leaf_out_leaf_relation(graph, base_leaf) + print(f'\n ----- search 4 result: {len(result_set)}') + for row in result_set: + result_str = f'>>> ' + result_str += f'( {row.outRelationRole.n3(graph.namespace_manager)}' + result_str += f', {row.outNet.n3(graph.namespace_manager)} )' + print(result_str) + + _, result_set = rule_6.__search_leaf_out_value_relation(graph, base_leaf) + print(f'\n ----- search 5 result: {len(result_set)}') + for row in result_set: + result_str = f'>>> ' + result_str += f'( {row.outRelationRole.n3(graph.namespace_manager)}' + result_str += f', {row.outNet.n3(graph.namespace_manager)} )' + print(result_str) + + return pattern_set + + def test_search_structure(graph): result_set = rule_3.__search_structure(graph) print(f'\n ----- number of selection found: {len(result_set)}') @@ -156,16 +208,13 @@ def test_search_structure(graph): # Unit Test #============================================================================== -def test_rule_application(graph, rule): +def test_rule_application(test_file_name, graph, rule): print('\n -- Rule Test') rule_label, new_triple_list = rule(graph) print(f' ----- label: {rule_label}') - print(f' ----- new_triple_list length: ({len(new_triple_list)})') - # for triple in new_triple_list: - # print_triple(triple) - add_triples_in_graph(graph, new_triple_list) + add_triples_in_graph(test_file_name, graph, new_triple_list) @@ -176,70 +225,85 @@ def test_rule_application(graph, rule): if __name__ == '__main__': print('\n *** Test Preparation ***') - graph = load_test_graph() + graph_1 = load_test_graph(TEST_FILE_NAME_1) + graph_2 = load_test_graph(TEST_FILE_NAME_2) + graph_3 = load_test_graph(TEST_FILE_NAME_3) print('\n \n') print('\n ///////////////////// Extraction Rule 1') print('\n *** Step Test ***') print('\n -- Step 1: Search Pattern') - pattern_set = test_search_pattern_1(graph) - test_search_structure(graph) + pattern_set = test_search_pattern_1(graph_1) + test_search_structure(graph_1) print('\n \n') print('\n *** Unit Test ***') - test_rule_application(graph, rule_1.extract_atom_class) + test_rule_application(TEST_FILE_NAME_1, graph_1, rule_1.extract_atom_class) print('\n \n') print('\n ///////////////////// Extraction Rule 2') print('\n *** Step Test ***') print('\n -- Step 1: Search Pattern') - pattern_set = test_search_pattern_2(graph) + pattern_set = test_search_pattern_2(graph_1) print('\n \n') print('\n *** Unit Test ***') - test_rule_application(graph, rule_2.extract_atom_individual) + test_rule_application(TEST_FILE_NAME_1, graph_1, rule_2.extract_atom_individual) print('\n \n') print('\n ///////////////////// Extraction Rule 3') print('\n *** Step Test ***') print('\n -- Step 1: Search Pattern') - pattern_set = test_search_pattern_3(graph) + pattern_set = test_search_pattern_3(graph_1) print('\n \n') print('\n *** Unit Test ***') - test_rule_application(graph, rule_3.extract_atom_property) + test_rule_application(TEST_FILE_NAME_1, graph_1, rule_3.extract_atom_property) print('\n \n') print('\n ///////////////////// Extraction Rule 4') print('\n *** Step Test ***') print('\n -- Step 1: Search Pattern') - pattern_set = test_search_pattern_4(graph) + pattern_set = test_search_pattern_4(graph_1) print('\n \n') print('\n *** Unit Test ***') - test_rule_application(graph, rule_4.extract_atom_value) + test_rule_application(TEST_FILE_NAME_1, graph_1, rule_4.extract_atom_value) print('\n \n') print('\n ///////////////////// Extraction Rule 5') print('\n *** Step Test ***') print('\n -- Step 1: Search Pattern') - pattern_set = test_search_pattern_5(graph) + pattern_set = test_search_pattern_5(graph_1) print('\n \n') print('\n *** Unit Test ***') - test_rule_application(graph, rule_5.extract_atom_phenomena) + test_rule_application(TEST_FILE_NAME_1, graph_1, rule_5.extract_atom_phenomena) + print('\n \n') + + print('\n ///////////////////// Extraction Rule 6') + + print('\n *** Step Test ***') + print('\n -- Step 1: Search Pattern') + pattern_set = test_search_pattern_6(graph_3) + print('\n \n') + + print('\n *** Unit Test ***') + test_rule_application(TEST_FILE_NAME_3, graph_3, rule_6.propagate_atom_relation) + print('\n \n') print('\n \n') print('\n ///////////////////// Additional Tests') print('\n *** Unit Test ***') - # test_rule_application(graph, rule_1.extract_atom_class) - # test_rule_application(graph, rule_3.extract_atom_property) - test_rule_application(graph, rule_6.propagate_atom_relation) + # test_rule_application(graph_1, rule_1.extract_atom_class) + # test_rule_application(graph_1, rule_3.extract_atom_property) + test_rule_application(TEST_FILE_NAME_1, graph_1, rule_6.propagate_atom_relation) + test_rule_application(TEST_FILE_NAME_2, graph_2, rule_6.propagate_atom_relation) print('\n \n') print('\n *** - ***') \ No newline at end of file diff --git a/tests/dev_tests/test_rule_composite_extractor.py b/tests/dev_tests/test_rule_composite_extractor.py index 868b64e9ecafc78f99bfaf271ef8704810e75c70..1f7a7894a9c6b3f70f07c1ab315341b5b4e6ffcc 100644 --- a/tests/dev_tests/test_rule_composite_extractor.py +++ b/tests/dev_tests/test_rule_composite_extractor.py @@ -135,7 +135,6 @@ def test_rule_application(test_file_name, graph, rule): rule_label, new_triple_list = rule(graph) print(f' ----- label: {rule_label}') - print(f' ----- new_triple_list ({len(new_triple_list)}):') add_triples_in_graph(test_file_name, graph, new_triple_list) diff --git a/tests/test_tenet_clara_main.py b/tests/test_tenet_clara_main.py index d626c9a0aa5c7a5777fbc7e11fd83360af0cb990..a4c074fbba6231b0c33a07b1908c75aa9778ec26 100644 --- a/tests/test_tenet_clara_main.py +++ b/tests/test_tenet_clara_main.py @@ -29,7 +29,7 @@ from context import tenet # -- Input Data test_data_dir = f'{INPUT_DIR_PATH}amrDocuments/' -uuid_num = '01' +uuid_num = '03' amrld_dir_path = f'{test_data_dir}dev/asail_odrl_sentences/' amrld_file_path = f'{amrld_dir_path}s{uuid_num}.stog.amr.ttl' base_output_name = f'aos{uuid_num}'