From 84e8fc6aa145c23ef3ef655c58e89157507924e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Lamercerie?= <aurelien.lamercerie@tetras-libre.fr> Date: Thu, 13 Apr 2023 22:38:13 +0200 Subject: [PATCH] New AMR Rule: transduction.odrl_action_extractor --- tenet/scheme/amr_clara_rule/__init__.py | 1 + .../transduction/odrl_action_extractor.py | 129 +++ tenet/scheme/amr_scheme_clara_1.py | 5 +- tenet/tenet.log | 141 +-- tenet/transduction/net/net.py | 1 + .../odrl-action-devGraph-1.result.ttl | 881 ++++++++++++++++ .../test_data/odrl-action-devGraph-1.ttl | 869 ++++++++++++++++ .../odrl-action-devGraph-2.result.ttl | 944 +++++++++++++++++ .../test_data/odrl-action-devGraph-2.ttl | 931 +++++++++++++++++ .../odrl-action-devGraph-3.result.ttl | 974 ++++++++++++++++++ .../test_data/odrl-action-devGraph-3.ttl | 960 +++++++++++++++++ tests/dev_tests/test_rule_odrl_action.py | 146 +++ 12 files changed, 5910 insertions(+), 72 deletions(-) create mode 100644 tenet/scheme/amr_clara_rule/transduction/odrl_action_extractor.py create mode 100644 tests/dev_tests/test_data/odrl-action-devGraph-1.result.ttl create mode 100644 tests/dev_tests/test_data/odrl-action-devGraph-1.ttl create mode 100644 tests/dev_tests/test_data/odrl-action-devGraph-2.result.ttl create mode 100644 tests/dev_tests/test_data/odrl-action-devGraph-2.ttl create mode 100644 tests/dev_tests/test_data/odrl-action-devGraph-3.result.ttl create mode 100644 tests/dev_tests/test_data/odrl-action-devGraph-3.ttl create mode 100644 tests/dev_tests/test_rule_odrl_action.py diff --git a/tenet/scheme/amr_clara_rule/__init__.py b/tenet/scheme/amr_clara_rule/__init__.py index c909702d..882dc779 100644 --- a/tenet/scheme/amr_clara_rule/__init__.py +++ b/tenet/scheme/amr_clara_rule/__init__.py @@ -17,6 +17,7 @@ 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 * +from scheme.amr_clara_rule.transduction.odrl_action_extractor import * from scheme.amr_clara_rule.transduction.odrl_rule_extractor import * from scheme.amr_clara_rule.odrl_generation.odrl_rule_generator import * diff --git a/tenet/scheme/amr_clara_rule/transduction/odrl_action_extractor.py b/tenet/scheme/amr_clara_rule/transduction/odrl_action_extractor.py new file mode 100644 index 00000000..5c819200 --- /dev/null +++ b/tenet/scheme/amr_clara_rule/transduction/odrl_action_extractor.py @@ -0,0 +1,129 @@ +#!/usr/bin/python3.10 +# -*-coding:Utf-8 -* + +#============================================================================== +# TENET: Rule to extract ODRL actions (rule 1) +#------------------------------------------------------------------------------ +# Net Expansion AMR rule to extract ODRL actions (rule 1) +# Rule: modality(arg1/arg2:atomProperty) => action +#============================================================================== + +from rdflib import Graph + +import transduction +from transduction import net +from transduction.query_builder import generate_select_query +from transduction.naming_computer import define_composite_naming_1, define_restriction_naming + + +#============================================================================== +# Pattern Search: modality(arg1/arg2:atomProperty) => action +#============================================================================== + +def __search_pattern(graph): + query_code = '' + result_set = [] + for arg_relation in ['amr:role_ARG1', 'amr:role_ARG2']: + select_data_list = ['?property_net'] + clause_list = [f'?phenomena_net a [rdfs:subClassOf* net:Phenomena_Net].', + f'FILTER NOT EXISTS {{ ?phenomena_net a net:Deprecated_Net. }}', + f'?property_net a [rdfs:subClassOf* net:Atom_Property_Net].', + f'?phenomena_net {arg_relation} ?property_net.'] + query_code = generate_select_query(graph, select_data_list, clause_list) + result_set += graph.query(query_code) + return query_code, result_set + + + +#============================================================================== +# Useful Additional Search +#============================================================================== + +def __search_target_class(graph, property_net_uri): + select_data_list = ['?class_net'] + clause_list = [(property_net_uri, f'amr:role_ARG1', '?class_net'), + f'?class_net a [rdfs:subClassOf* net:Class_Net].', + f'FILTER NOT EXISTS {{ ?class_net a net:Deprecated_Net. }}'] + query_code = generate_select_query(graph, select_data_list, clause_list) + result_set = graph.query(query_code) + return query_code, result_set + + + +#============================================================================== +# Useful Computation Method(s) +#============================================================================== + +def __filter_relation(relation_list): + result_list = [] + for relation in relation_list: + check = True + (s, p, o) = relation + if s == o: check = False + if check: result_list.append(relation) + return result_list + + +def __propagate_relation(target_net, base_net): + target_net.input_relation_list = base_net.input_relation_list + + + +#============================================================================== +# Construct Method(s) +#============================================================================== + +def __construct_action_net(graph, property_net): + + # -- Net Composition + action_net = net.ActionNet(graph) + net_composition = [property_net] + + # -- Data Computation + action_net.action_name = property_net.property_name + + target_net_list = [] + _, target_class_pattern_set = __search_target_class(graph, property_net.uri) + for pattern in target_class_pattern_set: + target_net_list.append(pattern.class_net) + net_composition.append(net.ClassNet(graph, uri=pattern.class_net)) + if len(target_net_list) > 0: + action_net.target_net = target_net_list + + # -- Net Naming + action_net.naming = property_net.naming + + # -- Relation Propagation + __propagate_relation(action_net, property_net) + + # -- Finalization + action_net.compose(*net_composition) + action_net.finalize() + triple_definition = action_net.generate_triple_definition() + + return action_net, triple_definition + + + +#============================================================================== +# Main Method +#============================================================================== + +def extract_odrl_action(graph): + + # -- Rule Initialization + rule_label = 'extract ODRL actions' + rule_triple_list = [] + + # -- Search for patterns + _, pattern_set = __search_pattern(graph) + + # -- Pattern Analysis + for pattern in pattern_set: + property_net = net.AtomPropertyNet(graph, uri=pattern.property_net) + + # -- New Net Construction + _, triple_list = __construct_action_net(graph, property_net) + rule_triple_list += triple_list + + return rule_label, rule_triple_list \ No newline at end of file diff --git a/tenet/scheme/amr_scheme_clara_1.py b/tenet/scheme/amr_scheme_clara_1.py index ec34bdd1..b0d2eb12 100644 --- a/tenet/scheme/amr_scheme_clara_1.py +++ b/tenet/scheme/amr_scheme_clara_1.py @@ -194,7 +194,7 @@ composite_class_extraction_sequence = ['composite class extraction sequence', rule.extract_composite_class_2] odrl_extraction_sequence = ['ODRL extraction sequence', - # rule.extract_odrl_action, + rule.extract_odrl_action, rule.extract_odrl_rule] @@ -222,7 +222,8 @@ scheme = { phenomena_analyze_sequence_1, phenomena_analyze_sequence_2, composite_class_extraction_sequence, - odrl_extraction_sequence], + odrl_extraction_sequence + ], 'generation': [default_refinement_sequence, odrl_rule_generation_sequence] diff --git a/tenet/tenet.log b/tenet/tenet.log index 2226ade3..2841fd3d 100644 --- a/tenet/tenet.log +++ b/tenet/tenet.log @@ -2,19 +2,19 @@ - INFO - === Process Initialization === - INFO - -- Process Setting -- INFO - ----- Corpus source: /home/lamenji/Workspace/Tetras/tenet/tests/input/amrDocuments/dev/solar-system-02/SSC-02-01.stog.amr.ttl (amr) -- INFO - ----- Base output dir: /home/lamenji/Workspace/Tetras/tenet/tests/output/SolarSystemDev02-20230413/SolarSystemDev02_factoid.ttl -- INFO - ----- technical dir path: /home/lamenji/Workspace/Tetras/tenet/tests/output/SolarSystemDev02-20230413/technical-data/ -- INFO - ----- Ontology target (id): https://tenet.tetras-libre.fr/demo/02/ +- INFO - ----- Corpus source: /home/lamenji/Workspace/Tetras/tenet/tests/input/amrDocuments/dev/asail_odrl_sentences/s03.stog.amr.ttl (amr) +- INFO - ----- Base output dir: /home/lamenji/Workspace/Tetras/tenet/tests/output/aos03-20230413/aos03_factoid.ttl +- INFO - ----- technical dir path: /home/lamenji/Workspace/Tetras/tenet/tests/output/aos03-20230413/technical-data/ +- INFO - ----- Ontology target (id): https://tenet.tetras-libre.fr/demo/clara/03/ - INFO - ----- Current path: /home/lamenji/Workspace/Tetras/tenet/tenet - DEBUG - ----- Config file: /home/lamenji/Workspace/Tetras/tenet/tenet/config.xml - DEBUG - *** Config (Full Parameters) *** -- Base Parameters ----- config file: /home/lamenji/Workspace/Tetras/tenet/tenet/config.xml - ----- uuid: https://tenet.tetras-libre.fr/demo/02/ - ----- technical base name: tenet.tetras-libre.fr_demo_02 - ----- source corpus: /home/lamenji/Workspace/Tetras/tenet/tests/input/amrDocuments/dev/solar-system-02/SSC-02-01.stog.amr.ttl + ----- uuid: https://tenet.tetras-libre.fr/demo/clara/03/ + ----- technical base name: tenet.tetras-libre.fr_demo_clara_03 + ----- source corpus: /home/lamenji/Workspace/Tetras/tenet/tests/input/amrDocuments/dev/asail_odrl_sentences/s03.stog.amr.ttl ----- target reference: base ----- process level: sentence ----- source type: amr @@ -26,10 +26,10 @@ ----- CTS directory: ./scheme/ ----- target frame directory: ./../input/targetFrameStructure/ ----- input document directory: - ----- base output dir: /home/lamenji/Workspace/Tetras/tenet/tests/output/SolarSystemDev02-20230413/SolarSystemDev02_factoid.ttl - ----- output directory: /home/lamenji/Workspace/Tetras/tenet/tests/output/SolarSystemDev02-20230413/SolarSystemDev02_factoid.ttltenet.tetras-libre.fr_demo_02-20230413/ - ----- sentence output directory: /home/lamenji/Workspace/Tetras/tenet/tests/output/SolarSystemDev02-20230413/technical-data/ - ----- technical dir path: /home/lamenji/Workspace/Tetras/tenet/tests/output/SolarSystemDev02-20230413/technical-data/ + ----- base output dir: /home/lamenji/Workspace/Tetras/tenet/tests/output/aos03-20230413/aos03_factoid.ttl + ----- output directory: /home/lamenji/Workspace/Tetras/tenet/tests/output/aos03-20230413/aos03_factoid.ttltenet.tetras-libre.fr_demo_clara_03-20230413/ + ----- sentence output directory: /home/lamenji/Workspace/Tetras/tenet/tests/output/aos03-20230413/technical-data/ + ----- technical dir path: /home/lamenji/Workspace/Tetras/tenet/tests/output/aos03-20230413/technical-data/ -- Config File Definition ----- schema file: ./structure/amr-rdf-schema.ttl ----- semantic net file: ./structure/odrl-snet-schema.ttl @@ -41,13 +41,13 @@ ----- ontology suffix: -ontology.ttl ----- ontology seed suffix: -ontology-seed.ttl -- Source File Definition - ----- source sentence file: /home/lamenji/Workspace/Tetras/tenet/tests/input/amrDocuments/dev/solar-system-02/SSC-02-01.stog.amr.ttl**/*.ttl + ----- source sentence file: /home/lamenji/Workspace/Tetras/tenet/tests/input/amrDocuments/dev/asail_odrl_sentences/s03.stog.amr.ttl**/*.ttl -- Target File Definition ----- frame ontology file: ./../input/targetFrameStructure/base-ontology.ttl ----- frame ontology seed file: ./../input/targetFrameStructure/base-ontology-seed.ttl -- Output ----- ontology namespace: https://tenet.tetras-libre.fr/base-ontology/ - ----- output file: /home/lamenji/Workspace/Tetras/tenet/tests/output/SolarSystemDev02-20230413/technical-data/tenet.tetras-libre.fr_demo_02.ttl + ----- output file: /home/lamenji/Workspace/Tetras/tenet/tests/output/aos03-20230413/technical-data/tenet.tetras-libre.fr_demo_clara_03.ttl *** - *** - INFO - === Extraction Processing === @@ -61,93 +61,94 @@ - DEBUG - -------- Base Ontology produced as output (529) - DEBUG - --- Source Data Import - DEBUG - ----- Sentence Loading -- DEBUG - -------- /home/lamenji/Workspace/Tetras/tenet/tests/input/amrDocuments/dev/solar-system-02/SSC-02-01.stog.amr.ttl (604) +- DEBUG - -------- /home/lamenji/Workspace/Tetras/tenet/tests/input/amrDocuments/dev/asail_odrl_sentences/s03.stog.amr.ttl (551) - DEBUG - --- Export work graph as turtle -- DEBUG - ----- Work graph file: /home/lamenji/Workspace/Tetras/tenet/tests/output/SolarSystemDev02-20230413/technical-data/tenet.tetras-libre.fr_demo_02-0/tenet.tetras-libre.fr_demo_02.ttl -- INFO - ----- Sentence (id): SSC-02-01 -- INFO - ----- Sentence (text): Of the objects that orbit the Sun directly, the largest are the eight planets, with the remainder being smaller objects, the dwarf planets and small Solar System bodies. +- DEBUG - ----- Work graph file: /home/lamenji/Workspace/Tetras/tenet/tests/output/aos03-20230413/technical-data/tenet.tetras-libre.fr_demo_clara_03-0/tenet.tetras-libre.fr_demo_clara_03.ttl +- INFO - ----- Sentence (id): document-03 +- INFO - ----- Sentence (text): John is not allowed to play the movie.. - INFO - -- Loading Extraction Scheme (amr_scheme_clara_1) - DEBUG - ----- Step number: 3 - INFO - -- Loading Extraction Rules (amr_clara_rule/*) - DEBUG - ----- Total rule number: 87 - INFO - -- Applying extraction step: preprocessing - INFO - --- *** November Transduction *** Sequence: amrld-correcting-sequence -- DEBUG - ----- fix-amr-bug-about-system-solar-planet: 0/0 new triple (604, 0:00:00.034381) +- DEBUG - ----- fix-amr-bug-about-system-solar-planet: 0/0 new triple (551, 0:00:00.026090) - INFO - --- *** November Transduction *** Sequence: amr-reification-sequence -- INFO - ----- reclassify-concept-1: 10/10 new triples (614, 0:00:00.194762) -- INFO - ----- reclassify-concept-2: 8/8 new triples (622, 0:00:00.068636) -- INFO - ----- reclassify-concept-3: 12/12 new triples (634, 0:00:00.055525) -- INFO - ----- reclassify-concept-4: 28/28 new triples (662, 0:00:00.129317) -- INFO - ----- reclassify-concept-5: 4/4 new triples (666, 0:00:00.046888) -- INFO - ----- reify-roles-as-concept: 5/5 new triples (671, 0:00:00.060386) -- INFO - ----- reclassify-existing-variable: 81/81 new triples (752, 0:00:00.041207) -- INFO - ----- add-new-variable-for-reified-concept: 4/4 new triples (756, 0:00:00.060325) -- INFO - ----- add-amr-leaf-for-reclassified-concept: 60/60 new triples (816, 0:00:00.084328) -- INFO - ----- add-amr-leaf-for-reified-concept: 4/4 new triples (820, 0:00:00.034523) -- INFO - ----- add-amr-edge-for-core-relation: 54/54 new triples (874, 0:00:00.186985) -- INFO - ----- add-amr-edge-for-reified-concept: 6/6 new triples (880, 0:00:00.226187) -- INFO - ----- add-amr-edge-for-name-relation: 5/5 new triples (885, 0:00:00.111143) -- INFO - ----- add-value-for-quant-relation: 5/5 new triples (890, 0:00:00.116261) -- DEBUG - ----- add-amr-edge-for-polarity-relation: 0/0 new triple (890, 0:00:00.120961) -- INFO - ----- update-amr-edge-role-1: 22/22 new triples (912, 0:00:00.162784) -- INFO - ----- add-amr-root: 5/5 new triples (917, 0:00:00.030564) -- DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_02_preprocessing +- INFO - ----- reclassify-concept-1: 5/5 new triples (556, 0:00:00.155584) +- DEBUG - ----- reclassify-concept-2: 0/0 new triple (556, 0:00:00.088235) +- INFO - ----- reclassify-concept-3: 4/4 new triples (560, 0:00:00.062718) +- INFO - ----- reclassify-concept-4: 4/4 new triples (564, 0:00:00.082489) +- INFO - ----- reclassify-concept-5: 4/4 new triples (568, 0:00:00.068534) +- DEBUG - ----- reify-roles-as-concept: 0/0 new triple (568, 0:00:00.064127) +- INFO - ----- reclassify-existing-variable: 17/17 new triples (585, 0:00:00.046664) +- DEBUG - ----- add-new-variable-for-reified-concept: 0/0 new triple (585, 0:00:00.064438) +- INFO - ----- add-amr-leaf-for-reclassified-concept: 12/12 new triples (597, 0:00:00.041507) +- DEBUG - ----- add-amr-leaf-for-reified-concept: 0/0 new triple (597, 0:00:00.038529) +- INFO - ----- add-amr-edge-for-core-relation: 9/9 new triples (606, 0:00:00.110154) +- DEBUG - ----- add-amr-edge-for-reified-concept: 0/0 new triple (606, 0:00:00.078440) +- INFO - ----- add-amr-edge-for-name-relation: 5/5 new triples (611, 0:00:00.069045) +- DEBUG - ----- add-value-for-quant-relation: 0/0 new triple (611, 0:00:00.160406) +- INFO - ----- add-amr-edge-for-polarity-relation: 5/5 new triples (616, 0:00:00.077850) +- INFO - ----- update-amr-edge-role-1: 5/5 new triples (621, 0:00:00.035889) +- INFO - ----- add-amr-root: 5/5 new triples (626, 0:00:00.024260) +- DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_clara_03_preprocessing - DEBUG - ----- step: preprocessing -- DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/02/ -- DEBUG - ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/output/SolarSystemDev02-20230413/technical-data/tenet.tetras-libre.fr_demo_02-0/tenet.tetras-libre.fr_demo_02_preprocessing.ttl -- DEBUG - ----- base: http://https://tenet.tetras-libre.fr/demo/02//preprocessing -- INFO - ----- 313 triples extracted during preprocessing step +- DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/clara/03/ +- DEBUG - ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/output/aos03-20230413/technical-data/tenet.tetras-libre.fr_demo_clara_03-0/tenet.tetras-libre.fr_demo_clara_03_preprocessing.ttl +- DEBUG - ----- base: http://https://tenet.tetras-libre.fr/demo/clara/03//preprocessing +- INFO - ----- 75 triples extracted during preprocessing step - INFO - -- Applying extraction step: transduction - INFO - --- *** February Transduction *** Sequence: atomic extraction sequence -- INFO - ----- extract atom classes: 66/66 new triples (983, 0:00:00.389988) -- INFO - ----- extract atom individuals: 7/7 new triples (990, 0:00:00.055133) -- INFO - ----- extract atomic properties: 72/72 new triples (1062, 0:00:00.240536) -- INFO - ----- extract atom values: 10/10 new triples (1072, 0:00:00.052099) -- INFO - ----- extract atom phenomena: 28/28 new triples (1100, 0:00:00.126989) -- INFO - ----- propagate atom relations: 35/90 new triples (1135, 0:00:01.757192) +- INFO - ----- extract atom classes: 12/12 new triples (638, 0:00:00.060479) +- INFO - ----- extract atom individuals: 7/7 new triples (645, 0:00:00.049196) +- INFO - ----- extract atomic properties: 13/13 new triples (658, 0:00:00.044546) +- INFO - ----- extract atom values: 10/10 new triples (668, 0:00:00.055160) +- INFO - ----- extract atom phenomena: 7/7 new triples (675, 0:00:00.050796) +- INFO - ----- propagate atom relations: 11/22 new triples (686, 0:00:00.409716) - INFO - --- *** February Transduction *** Sequence: phenomena analyze sequence (1) -- DEBUG - ----- analyze "polarity" phenomena (1): 0/0 new triple (1135, 0:00:00.008545) -- DEBUG - ----- analyze "polarity" phenomena (2): 0/0 new triple (1135, 0:00:00.014269) -- INFO - ----- analyze modifier phenomena (mod): 43/48 new triples (1178, 0:00:00.220329) +- DEBUG - ----- analyze "polarity" phenomena (1): 0/0 new triple (686, 0:00:00.010474) +- INFO - ----- analyze "polarity" phenomena (2): 12/14 new triples (698, 0:00:00.074936) +- DEBUG - ----- analyze modifier phenomena (mod): 0/0 new triple (698, 0:00:00.013942) - INFO - --- *** February Transduction *** Sequence: phenomena analyze sequence (2) -- DEBUG - ----- analyze "or" phenomena (1): 0/0 new triple (1178, 0:00:00.011967) -- DEBUG - ----- analyze "or" phenomena (2): 0/0 new triple (1178, 0:00:00.019760) +- DEBUG - ----- analyze "or" phenomena (1): 0/0 new triple (698, 0:00:00.016933) +- DEBUG - ----- analyze "or" phenomena (2): 0/0 new triple (698, 0:00:00.015729) - INFO - --- *** February Transduction *** Sequence: composite class extraction sequence -- INFO - ----- extract composite classes (1): 47/48 new triples (1225, 0:00:00.249988) -- DEBUG - ----- extract composite classes (2): 0/0 new triple (1225, 0:00:00.027102) +- INFO - ----- extract composite classes (1): 23/24 new triples (721, 0:00:00.125977) +- DEBUG - ----- extract composite classes (2): 0/0 new triple (721, 0:00:00.018812) - INFO - --- *** February Transduction *** Sequence: ODRL extraction sequence -- DEBUG - ----- extract ODRL rules: 0/0 new triple (1225, 0:00:00.072281) -- DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_02_transduction +- INFO - ----- extract ODRL actions: 12/14 new triples (733, 0:00:00.085487) +- DEBUG - ----- extract ODRL rules: 0/0 new triple (733, 0:00:00.065613) +- DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_clara_03_transduction - DEBUG - ----- step: transduction -- DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/02/ -- DEBUG - ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/output/SolarSystemDev02-20230413/technical-data/tenet.tetras-libre.fr_demo_02-0/tenet.tetras-libre.fr_demo_02_transduction.ttl -- DEBUG - ----- base: http://https://tenet.tetras-libre.fr/demo/02//transduction -- INFO - ----- 308 triples extracted during transduction step +- DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/clara/03/ +- DEBUG - ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/output/aos03-20230413/technical-data/tenet.tetras-libre.fr_demo_clara_03-0/tenet.tetras-libre.fr_demo_clara_03_transduction.ttl +- DEBUG - ----- base: http://https://tenet.tetras-libre.fr/demo/clara/03//transduction +- INFO - ----- 107 triples extracted during transduction step - INFO - -- Applying extraction step: generation - INFO - --- *** February Transduction *** Sequence: ODRL Rule Generation Sequence -- DEBUG - ----- generate ODRL rule: 0/0 new triple (1225, 0:00:00.005623) -- DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_02_generation +- DEBUG - ----- generate ODRL rule: 0/0 new triple (733, 0:00:00.007352) +- DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_clara_03_generation - DEBUG - ----- step: generation -- DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/02/ -- DEBUG - ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/output/SolarSystemDev02-20230413/technical-data/tenet.tetras-libre.fr_demo_02-0/tenet.tetras-libre.fr_demo_02_generation.ttl -- DEBUG - ----- base: http://https://tenet.tetras-libre.fr/demo/02//generation +- DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/clara/03/ +- DEBUG - ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/output/aos03-20230413/technical-data/tenet.tetras-libre.fr_demo_clara_03-0/tenet.tetras-libre.fr_demo_clara_03_generation.ttl +- DEBUG - ----- base: http://https://tenet.tetras-libre.fr/demo/clara/03//generation - INFO - ----- 0 triples extracted during generation step -- DEBUG - --- Serializing graph to factoid file (/home/lamenji/Workspace/Tetras/tenet/tests/output/SolarSystemDev02-20230413/technical-data/tenet.tetras-libre.fr_demo_02-0/tenet.tetras-libre.fr_demo_02_factoid.ttl) +- DEBUG - --- Serializing graph to factoid file (/home/lamenji/Workspace/Tetras/tenet/tests/output/aos03-20230413/technical-data/tenet.tetras-libre.fr_demo_clara_03-0/tenet.tetras-libre.fr_demo_clara_03_factoid.ttl) - DEBUG - ----- Number of factoids: 0 -- DEBUG - ----- Graph base: http://https://tenet.tetras-libre.fr/demo/02//factoid +- DEBUG - ----- Graph base: http://https://tenet.tetras-libre.fr/demo/clara/03//factoid - INFO - === Final Ontology Generation === - INFO - -- Making complete factoid graph by merging the result factoids - INFO - ----- Total factoid number: 0 - INFO - -- Serializing graph to factoid string -- INFO - ----- Graph base: http://https://tenet.tetras-libre.fr/demo/02//factoid +- INFO - ----- Graph base: http://https://tenet.tetras-libre.fr/demo/clara/03//factoid - INFO - -- Serializing graph to factoid file -- INFO - ----- Ontology Turtle File: /home/lamenji/Workspace/Tetras/tenet/tests/output/SolarSystemDev02-20230413/SolarSystemDev02_factoid.ttl +- INFO - ----- Ontology Turtle File: /home/lamenji/Workspace/Tetras/tenet/tests/output/aos03-20230413/aos03_factoid.ttl - INFO - === Done === - INFO - *** Execution Time *** ----- Function: create_ontology_from_amrld_file (tenet.main) ------ Total Time: 0:00:05.646801 ------ Process Time: 0:00:05.470157 +----- Total Time: 0:00:02.801447 +----- Process Time: 0:00:02.754288 *** - *** diff --git a/tenet/transduction/net/net.py b/tenet/transduction/net/net.py index f5b2ddcd..8d0793f1 100644 --- a/tenet/transduction/net/net.py +++ b/tenet/transduction/net/net.py @@ -314,6 +314,7 @@ class Net: self.node = net_node_list # -- Net Composition + self._net_composition = [] for n in nets: self._net_composition.append(n.uri) diff --git a/tests/dev_tests/test_data/odrl-action-devGraph-1.result.ttl b/tests/dev_tests/test_data/odrl-action-devGraph-1.result.ttl new file mode 100644 index 00000000..22d38ded --- /dev/null +++ b/tests/dev_tests/test_data/odrl-action-devGraph-1.result.ttl @@ -0,0 +1,881 @@ +@base <https://amr.tetras-libre.fr/rdf/odrl-action-devGraph-1/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 ns21: <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#> . + +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> . + +ns21:possible-01.ARG1 a ns21:FrameRole . + +ns21:use-01.ARG1 a ns21:FrameRole . + +ns2:domain a ns11:Role, + owl:AnnotationProperty, + owl:NamedIndividual . + +ns11:NamedEntity a ns11:Concept, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-EntityType", + "AMR-Term" ; + rdfs:subClassOf :AMR_Linked_Data . + +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_m_name_9898 a :AMR_Edge ; + :hasAmrRole :role_name ; + :hasRoleID "name" . + +:edge_p_ARG1_u a :AMR_Edge ; + :hasAmrRole :role_ARG1 ; + :hasRoleID "ARG1" . + +:edge_u_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_ARG0 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG0" . + +: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_polarity a owl:Class ; + rdfs:subClassOf :AMR_Specific_Role ; + :label "polarity" . + +:role_quant a owl:Class ; + rdfs:subClassOf :AMR_Specific_Role ; + :label "quant" . + +:root_document-01 a :AMR_Root ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#root01> ; + :hasRootLeaf :leaf_possible-01_p ; + :hasSentenceID "document-01" ; + :hasSentenceStatement "Movie9898 can be used." . + +: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: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_p a net:Phenomena_Net ; + :role_ARG1 net:action_use_u, + net:atomProperty_use_u ; + net:coverBaseNode :leaf_possible-01_p ; + net:coverNode :leaf_possible-01_p ; + net:hasNaming "possible-modality" ; + net:hasPhenomenaRef "possible-01" ; + net:hasPhenomenaType :phenomena_modality_possible ; + net:hasStructure "document-01" . + +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-01#root01> a ns11:AMR ; + ns11:has-id "document-01" ; + ns11:has-sentence "Movie9898 can be used." ; + ns11:root <http://amr.isi.edu/amr_data/document-01#p> . + +<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 . + +: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 . + +:AMR_Term_Concept a owl:Class ; + rdfs:subClassOf :AMR_Concept . + +:AMR_Value a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:concept_movie rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk ns2:movie ; + :label "movie" . + +:concept_possible-01 rdfs:subClassOf :AMR_Relation_Concept ; + :fromAmrLk ns21:possible-01 ; + :hasPhenomenaLink :phenomena_modality_possible ; + :label "possible-01" . + +:concept_use-01 rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns21:use-01 ; + :label "use-01" . + +:role_name a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_NonCore_Role ; + :label "name" . + +:variable_m a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#m> ; + :label "m" ; + :name "9898" . + +:variable_p a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#p> ; + :label "p" . + +:variable_u a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#u> ; + :label "u" . + +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:Action_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Atom_Class_Net a owl:Class ; + rdfs:subClassOf net:Class_Net . + +net:Atom_Property_Net a owl:Class ; + rdfs:subClassOf net:Property_Net . + +net:Individual_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Phenomena_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Value_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:action_use_u a net:Action_Net ; + net:composeFrom net:atomClass_movie_m, + net:atomProperty_use_u ; + net:coverBaseNode :leaf_use-01_u ; + net:coverNode :leaf_movie_m, + :leaf_use-01_u ; + net:hasActionName "use" ; + net:hasNaming "use" ; + net:hasStructure "document-01" ; + net:hasTargetNet net:atomClass_movie_m . + +net:has_value a owl:AnnotationProperty ; + rdfs:subPropertyOf net:netProperty . + +net:individual_9898_m a net:Individual_Net ; + :role_name net:value_9898_blankNode ; + net:coverBaseNode :leaf_movie_m ; + net:coverNode :leaf_movie_m ; + net:hasIndividualLabel "9898" ; + net:hasMotherClassNet net:atomClass_movie_m ; + net:hasNaming "9898" ; + net:hasStructure "document-01" . + +net:objectType a owl:AnnotationProperty ; + rdfs:label "object type" ; + rdfs:subPropertyOf net:objectProperty . + +<http://amr.isi.edu/amr_data/document-01#m> a ns2:movie ; + rdfs:label "9898" ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#p> a ns21:possible-01 ; + ns21:possible-01.ARG1 <http://amr.isi.edu/amr_data/document-01#u> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#u> a ns21:use-01 ; + ns21:use-01.ARG1 <http://amr.isi.edu/amr_data/document-01#m> ; + rdfs:subClassOf :AMR_Linked_Data . + +ns21:FrameRole a ns11:Role, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-PropBank-Role" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns21:possible-01 a ns11:Frame ; + rdfs:subClassOf :AMR_Linked_Data . + +ns21:use-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 . + +: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_9898 a :AMR_Value ; + rdfs:label "9898" . + +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:Relation a owl:Class ; + rdfs:subClassOf net:Net_Structure . + +net:atomProperty_use_u a net:Atom_Property_Net ; + :role_ARG1 net:atomClass_movie_m, + net:individual_9898_m ; + net:coverBaseNode :leaf_use-01_u ; + net:coverNode :leaf_use-01_u ; + net:hasNaming "use" ; + net:hasPropertyName "use" ; + net:hasPropertyName01 "useing" ; + net:hasPropertyName10 "use-by" ; + net:hasPropertyName12 "use-of" ; + net:hasPropertyType owl:ObjectProperty ; + net:hasStructure "document-01" ; + net:isCoreRoleLinked "true" ; + net:targetArgumentNode :leaf_movie_m . + +net:objectProperty a owl:AnnotationProperty ; + rdfs:label "object attribute" . + +net:value_9898_blankNode a net:Value_Net ; + net:coverAmrValue :value_9898 ; + net:hasNaming "9898" ; + net:hasStructure "document-01" ; + net:hasValueLabel "9898" . + +: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 . + +:AMR_Variable a owl:Class ; + rdfs:subClassOf :AMR_Element . + +: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_possible-01_p a :AMR_Leaf ; + :edge_p_ARG1_u :leaf_use-01_u ; + :hasConcept :concept_possible-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 . + +net:atomClass_movie_m a net:Atom_Class_Net ; + :role_name net:value_9898_blankNode ; + net:coverBaseNode :leaf_movie_m ; + net:coverNode :leaf_movie_m ; + net:hasClassName "movie" ; + net:hasNaming "movie" ; + net:hasStructure "document-01" . + +:AMR_Leaf a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_NonCore_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +:AMR_Role a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:leaf_use-01_u a :AMR_Leaf ; + :edge_u_ARG1_m :leaf_movie_m ; + :hasConcept :concept_use-01 ; + :hasVariable :variable_u . + +sys:Out_Structure a owl:Class ; + rdfs:label "Output Ontology Structure" . + +net:netProperty a owl:AnnotationProperty ; + rdfs:label "netProperty" . + +:AMR_Edge a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_ObjectProperty a owl:ObjectProperty ; + rdfs:subPropertyOf owl:topObjectProperty . + +:AMR_Structure a owl:Class . + +cprm:configParamProperty a rdf:Property ; + rdfs:label "Config Parameter Property" . + +rdf:Property a owl:Class . + +:AMR_Relation a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:leaf_movie_m a :AMR_Leaf ; + :edge_m_name_9898 :value_9898 ; + :hasConcept :concept_movie ; + :hasVariable :variable_m . + +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/odrl-action-devGraph-1.ttl b/tests/dev_tests/test_data/odrl-action-devGraph-1.ttl new file mode 100644 index 00000000..5ea1266c --- /dev/null +++ b/tests/dev_tests/test_data/odrl-action-devGraph-1.ttl @@ -0,0 +1,869 @@ +@base <http://https://tenet.tetras-libre.fr/demo/clara/01//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 ns21: <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> . + +ns21:possible-01.ARG1 a ns21:FrameRole . + +ns21:use-01.ARG1 a ns21:FrameRole . + +ns2:domain a ns1:Role, + owl:AnnotationProperty, + owl:NamedIndividual . + +ns1:NamedEntity a ns1:Concept, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-EntityType", + "AMR-Term" ; + rdfs:subClassOf :AMR_Linked_Data . + +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_m_name_9898 a :AMR_Edge ; + :hasAmrRole :role_name ; + :hasRoleID "name" . + +:edge_p_ARG1_u a :AMR_Edge ; + :hasAmrRole :role_ARG1 ; + :hasRoleID "ARG1" . + +:edge_u_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_ARG0 a owl:Class ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG0" . + +: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_polarity a owl:Class ; + rdfs:subClassOf :AMR_Specific_Role ; + :label "polarity" . + +:role_quant a owl:Class ; + rdfs:subClassOf :AMR_Specific_Role ; + :label "quant" . + +:root_document-01 a :AMR_Root ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#root01> ; + :hasRootLeaf :leaf_possible-01_p ; + :hasSentenceID "document-01" ; + :hasSentenceStatement "Movie9898 can be used." . + +: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_p a net:Phenomena_Net ; + :role_ARG1 net:atomProperty_use_u ; + net:coverBaseNode :leaf_possible-01_p ; + net:coverNode :leaf_possible-01_p ; + net:hasNaming "possible-modality" ; + net:hasPhenomenaRef "possible-01" ; + net:hasPhenomenaType :phenomena_modality_possible ; + net:hasStructure "document-01" . + +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-01#root01> a ns1:AMR ; + ns1:has-id "document-01" ; + ns1:has-sentence "Movie9898 can be used." ; + ns1:root <http://amr.isi.edu/amr_data/document-01#p> . + +<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 . + +: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 . + +:AMR_Term_Concept a owl:Class ; + rdfs:subClassOf :AMR_Concept . + +:AMR_Value a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:concept_movie rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk ns2:movie ; + :label "movie" . + +:concept_possible-01 rdfs:subClassOf :AMR_Relation_Concept ; + :fromAmrLk ns21:possible-01 ; + :hasPhenomenaLink :phenomena_modality_possible ; + :label "possible-01" . + +:concept_use-01 rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns21:use-01 ; + :label "use-01" . + +:role_name a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_NonCore_Role ; + :label "name" . + +:variable_m a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#m> ; + :label "m" ; + :name "9898" . + +:variable_p a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#p> ; + :label "p" . + +:variable_u a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-01#u> ; + :label "u" . + +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_Class_Net a owl:Class ; + rdfs:subClassOf net:Class_Net . + +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:Value_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:atomProperty_use_u a net:Atom_Property_Net ; + :role_ARG1 net:atomClass_movie_m, + net:individual_9898_m ; + net:coverBaseNode :leaf_use-01_u ; + net:coverNode :leaf_use-01_u ; + net:hasNaming "use" ; + net:hasPropertyName "use" ; + net:hasPropertyName01 "useing" ; + net:hasPropertyName10 "use-by" ; + net:hasPropertyName12 "use-of" ; + net:hasPropertyType owl:ObjectProperty ; + net:hasStructure "document-01" ; + net:isCoreRoleLinked "true" ; + net:targetArgumentNode :leaf_movie_m . + +net:has_value a owl:AnnotationProperty ; + rdfs:subPropertyOf net:netProperty . + +net:individual_9898_m a net:Individual_Net ; + :role_name net:value_9898_blankNode ; + net:coverBaseNode :leaf_movie_m ; + net:coverNode :leaf_movie_m ; + net:hasIndividualLabel "9898" ; + net:hasMotherClassNet net:atomClass_movie_m ; + net:hasNaming "9898" ; + net:hasStructure "document-01" . + +net:objectType a owl:AnnotationProperty ; + rdfs:label "object type" ; + rdfs:subPropertyOf net:objectProperty . + +<http://amr.isi.edu/amr_data/document-01#m> a ns2:movie ; + rdfs:label "9898" ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#p> a ns21:possible-01 ; + ns21:possible-01.ARG1 <http://amr.isi.edu/amr_data/document-01#u> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-01#u> a ns21:use-01 ; + ns21:use-01.ARG1 <http://amr.isi.edu/amr_data/document-01#m> ; + rdfs:subClassOf :AMR_Linked_Data . + +ns21:FrameRole a ns1:Role, + owl:Class, + owl:NamedIndividual ; + rdfs:label "AMR-PropBank-Role" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns21:possible-01 a ns1:Frame ; + rdfs:subClassOf :AMR_Linked_Data . + +ns21:use-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 . + +: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_9898 a :AMR_Value ; + rdfs:label "9898" . + +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:Relation a owl:Class ; + rdfs:subClassOf net:Net_Structure . + +net:atomClass_movie_m a net:Atom_Class_Net ; + :role_name net:value_9898_blankNode ; + net:coverBaseNode :leaf_movie_m ; + net:coverNode :leaf_movie_m ; + net:hasClassName "movie" ; + net:hasNaming "movie" ; + net:hasStructure "document-01" . + +net:objectProperty a owl:AnnotationProperty ; + rdfs:label "object attribute" . + +net:value_9898_blankNode a net:Value_Net ; + net:coverAmrValue :value_9898 ; + net:hasNaming "9898" ; + net:hasStructure "document-01" ; + net:hasValueLabel "9898" . + +: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 . + +:AMR_Variable a owl:Class ; + rdfs:subClassOf :AMR_Element . + +: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_possible-01_p a :AMR_Leaf ; + :edge_p_ARG1_u :leaf_use-01_u ; + :hasConcept :concept_possible-01 ; + :hasVariable :variable_p . + +:leaf_use-01_u a :AMR_Leaf ; + :edge_u_ARG1_m :leaf_movie_m ; + :hasConcept :concept_use-01 ; + :hasVariable :variable_u . + +: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_Leaf a owl:Class ; + rdfs:subClassOf :AMR_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_Edge a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_ObjectProperty a owl:ObjectProperty ; + rdfs:subPropertyOf owl:topObjectProperty . + +:AMR_Structure a owl:Class . + +:leaf_movie_m a :AMR_Leaf ; + :edge_m_name_9898 :value_9898 ; + :hasConcept :concept_movie ; + :hasVariable :variable_m . + +cprm:configParamProperty a rdf:Property ; + rdfs:label "Config Parameter Property" . + +rdf:Property a owl:Class . + +:AMR_Relation 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/odrl-action-devGraph-2.result.ttl b/tests/dev_tests/test_data/odrl-action-devGraph-2.result.ttl new file mode 100644 index 00000000..0ddbd80e --- /dev/null +++ b/tests/dev_tests/test_data/odrl-action-devGraph-2.result.ttl @@ -0,0 +1,944 @@ +@base <https://amr.tetras-libre.fr/rdf/odrl-action-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/frames/ld/v1.2.2/> . +@prefix ns2: <http://amr.isi.edu/rdf/amr-terms#> . +@prefix ns21: <http://amr.isi.edu/rdf/core-amr#> . +@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#> . + +ns21:Concept a rdfs:Class, + owl:Class ; + rdfs:label "AMR-Concept" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns21:Role a rdfs:Class, + owl:Class ; + rdfs:label "AMR-Role" ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/test-1#root01> ns21:hasID "test-1" ; + ns21:hasSentence "The sun is a star." ; + ns21:root <http://amr.isi.edu/amr_data/test-1#s> . + +<http://amr.isi.edu/amr_data/test-2#root01> ns21:hasID "test-2" ; + ns21:hasSentence "Earth is a planet." ; + ns21:root <http://amr.isi.edu/amr_data/test-2#p> . + +ns11:obligate-01.ARG2 a ns11:FrameRole . + +ns11:play-02.ARG0 a ns11:FrameRole . + +ns11:play-02.ARG1 a ns11:FrameRole . + +ns2:domain a ns21:Role, + owl:AnnotationProperty, + owl:NamedIndividual . + +ns21:hasID a owl:AnnotationProperty . + +ns21:hasSentence a owl:AnnotationProperty . + +ns21: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_o_ARG2_p a :AMR_Edge ; + :hasAmrRole :role_ARG2 ; + :hasRoleID "ARG2" . + +: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_possible a owl:Class ; + rdfs:subClassOf :phenomena_modality ; + :hasConceptLink "allow-01", + "grant-01", + "likely-01", + "permit-01", + "possible-01" ; + :label "possible-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_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_polarity a owl:Class ; + rdfs:subClassOf :AMR_Specific_Role ; + :label "polarity" . + +:role_quant a owl:Class ; + rdfs:subClassOf :AMR_Specific_Role ; + :label "quant" . + +:root_document-02 a :AMR_Root ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-02#root01> ; + :hasRootLeaf :leaf_obligate-01_o ; + :hasSentenceID "document-02" ; + :hasSentenceStatement "John must 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:Composite_Class_Net a owl:Class ; + rdfs:subClassOf net:Class_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:compositeProperty_person-play-movie_p2 a net:Composite_Property_Net ; + :role_name net:value_John_blankNode ; + net:composeFrom net:atomClass_movie_m, + net:atomClass_person_p2, + net:atomProperty_play_p ; + net:coverBaseNode :leaf_person_p2 ; + net:coverNode :leaf_movie_m, + :leaf_person_p2, + :leaf_play-02_p ; + net:hasNaming "person-play-movie" ; + net:hasRestriction net:restriction_play-movie_p ; + net:hasStructure "document-02" . + +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_obligation-modality_o a net:Phenomena_Net ; + :role_ARG2 net:action_play_p, + net:atomProperty_play_p ; + net:coverBaseNode :leaf_obligate-01_o ; + net:coverNode :leaf_obligate-01_o ; + net:hasNaming "obligation-modality" ; + net:hasPhenomenaRef "obligate-01" ; + net:hasPhenomenaType :phenomena_modality_obligation ; + net:hasStructure "document-02" . + +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-02#root01> a ns21:AMR ; + ns21:has-id "document-02" ; + ns21:has-sentence "John must play the movie." ; + ns21:root <http://amr.isi.edu/amr_data/document-02#o> . + +<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" . + +ns21:AMR a owl:Class ; + rdfs:subClassOf :AMR_Linked_Data . + +ns21:NamedEntity a ns21: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 . + +:AMR_Value a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:concept_movie rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk ns2:movie ; + :label "movie" . + +:concept_obligate-01 rdfs:subClassOf :AMR_Relation_Concept ; + :fromAmrLk ns11:obligate-01 ; + :hasPhenomenaLink :phenomena_modality_obligation ; + :label "obligate-01" . + +:concept_person rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk ns4:person ; + :label "person" . + +:concept_play-02 rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns11:play-02 ; + :label "play-02" . + +:role_ARG0 a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG0" . + +:role_ARG1 a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG1" . + +:role_ARG2 a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG2" . + +:role_name a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_NonCore_Role ; + :label "name" . + +:variable_m a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-02#m> ; + :label "m" . + +:variable_o a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-02#o> ; + :label "o" . + +:variable_p a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-02#p> ; + :label "p" . + +:variable_p2 a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-02#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:Action_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Atom_Property_Net a owl:Class ; + rdfs:subClassOf net:Property_Net . + +net:Composite_Property_Net a owl:Class ; + rdfs:subClassOf net:Property_Net . + +net:Deprecated_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Individual_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Phenomena_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Value_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:action_play_p a net:Action_Net ; + net:composeFrom net:atomClass_movie_m, + net:atomProperty_play_p ; + net:coverBaseNode :leaf_play-02_p ; + net:coverNode :leaf_movie_m, + :leaf_play-02_p ; + net:hasActionName "play" ; + net:hasNaming "play" ; + net:hasStructure "document-02" ; + net:hasTargetNet net:atomClass_movie_m . + +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-02" . + +net:objectType a owl:AnnotationProperty ; + rdfs:label "object type" ; + rdfs:subPropertyOf net:objectProperty . + +net:restriction_play-movie_p a net:Restriction_Net ; + net:composeFrom net:atomClass_movie_m, + net:atomProperty_play_p ; + net:coverBaseNode :leaf_play-02_p ; + net:coverNode :leaf_movie_m, + :leaf_play-02_p ; + net:hasNaming "play-movie" ; + net:hasRestrictionNetValue net:atomClass_movie_m ; + net:hasRestrictionOnProperty net:atomProperty_play_p ; + net:hasStructure "document-02" . + +<http://amr.isi.edu/amr_data/document-02#m> a ns2:movie ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-02#o> a ns11:obligate-01 ; + ns11:obligate-01.ARG2 <http://amr.isi.edu/amr_data/document-02#p> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-02#p> a ns11:play-02 ; + ns11:play-02.ARG0 <http://amr.isi.edu/amr_data/document-02#p2> ; + ns11:play-02.ARG1 <http://amr.isi.edu/amr_data/document-02#m> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-02#p2> a ns4:person ; + rdfs:label "John" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns4:person a ns21:NamedEntity ; + rdfs:subClassOf :AMR_Linked_Data . + +ns11:obligate-01 a ns21:Frame ; + rdfs:subClassOf :AMR_Linked_Data . + +ns11:play-02 a ns21:Frame ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:movie a ns21:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns21:Frame a ns21: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 . + +: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_obligation a owl:Class ; + rdfs:subClassOf :phenomena_modality ; + :hasConceptLink "obligate-01" ; + :label "obligation-modality" . + +:value_John a :AMR_Value ; + rdfs:label "John" . + +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:objectProperty a owl:AnnotationProperty ; + rdfs:label "object attribute" . + +ns11:FrameRole a ns21: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_obligate-01_o a :AMR_Leaf ; + :edge_o_ARG2_p :leaf_play-02_p ; + :hasConcept :concept_obligate-01 ; + :hasVariable :variable_o . + +: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:atomClass_person_p2 a net:Atom_Class_Net, + net:Deprecated_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-02" . + +net:has_relation_value a owl:AnnotationProperty ; + rdfs:label "has relation value" ; + rdfs:subPropertyOf net:has_object . + +net:value_John_blankNode a net:Value_Net ; + net:coverAmrValue :value_John ; + net:hasNaming "John" ; + net:hasStructure "document-02" ; + net:hasValueLabel "John" . + +:AMR_Element a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_Variable a owl:Class ; + rdfs:subClassOf :AMR_Element . + +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: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-02_p ; + net:coverNode :leaf_play-02_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-02" ; + net:isCoreRoleLinked "true" ; + net:targetArgumentNode :leaf_movie_m, + :leaf_person_p2 . + +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 . + +cprm:configParamProperty a rdf:Property ; + rdfs:label "Config Parameter Property" . + +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-02" . + +rdf:Property a owl:Class . + +:AMR_Edge a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_Relation a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:leaf_movie_m a :AMR_Leaf ; + :hasConcept :concept_movie ; + :hasVariable :variable_m . + +:leaf_person_p2 a :AMR_Leaf ; + :edge_p2_name_John :value_John ; + :hasConcept :concept_person ; + :hasVariable :variable_p2 . + +:leaf_play-02_p a :AMR_Leaf ; + :edge_p_ARG0_p2 :leaf_person_p2 ; + :edge_p_ARG1_m :leaf_movie_m ; + :hasConcept :concept_play-02 ; + :hasVariable :variable_p . + +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/odrl-action-devGraph-2.ttl b/tests/dev_tests/test_data/odrl-action-devGraph-2.ttl new file mode 100644 index 00000000..03d5408f --- /dev/null +++ b/tests/dev_tests/test_data/odrl-action-devGraph-2.ttl @@ -0,0 +1,931 @@ +@base <http://https://tenet.tetras-libre.fr/demo/clara/02//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 ns11: <http://amr.isi.edu/frames/ld/v1.2.2/> . +@prefix ns2: <http://amr.isi.edu/rdf/amr-terms#> . +@prefix ns21: <http://amr.isi.edu/rdf/core-amr#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix sys: <https://tenet.tetras-libre.fr/base-ontology#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . + +ns21:Concept a rdfs:Class, + owl:Class ; + rdfs:label "AMR-Concept" ; + rdfs:subClassOf :AMR_Linked_Data . + +ns21:Role a rdfs:Class, + owl:Class ; + rdfs:label "AMR-Role" ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/test-1#root01> ns21:hasID "test-1" ; + ns21:hasSentence "The sun is a star." ; + ns21:root <http://amr.isi.edu/amr_data/test-1#s> . + +<http://amr.isi.edu/amr_data/test-2#root01> ns21:hasID "test-2" ; + ns21:hasSentence "Earth is a planet." ; + ns21:root <http://amr.isi.edu/amr_data/test-2#p> . + +ns11:obligate-01.ARG2 a ns11:FrameRole . + +ns11:play-02.ARG0 a ns11:FrameRole . + +ns11:play-02.ARG1 a ns11:FrameRole . + +ns2:domain a ns21:Role, + owl:AnnotationProperty, + owl:NamedIndividual . + +ns21:hasID a owl:AnnotationProperty . + +ns21:hasSentence a owl:AnnotationProperty . + +ns21: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_o_ARG2_p a :AMR_Edge ; + :hasAmrRole :role_ARG2 ; + :hasRoleID "ARG2" . + +: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_possible a owl:Class ; + rdfs:subClassOf :phenomena_modality ; + :hasConceptLink "allow-01", + "grant-01", + "likely-01", + "permit-01", + "possible-01" ; + :label "possible-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_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_polarity a owl:Class ; + rdfs:subClassOf :AMR_Specific_Role ; + :label "polarity" . + +:role_quant a owl:Class ; + rdfs:subClassOf :AMR_Specific_Role ; + :label "quant" . + +:root_document-02 a :AMR_Root ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-02#root01> ; + :hasRootLeaf :leaf_obligate-01_o ; + :hasSentenceID "document-02" ; + :hasSentenceStatement "John must 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: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:compositeProperty_person-play-movie_p2 a net:Composite_Property_Net ; + :role_name net:value_John_blankNode ; + net:composeFrom net:atomClass_movie_m, + net:atomClass_person_p2, + net:atomProperty_play_p ; + net:coverBaseNode :leaf_person_p2 ; + net:coverNode :leaf_movie_m, + :leaf_person_p2, + :leaf_play-02_p ; + net:hasNaming "person-play-movie" ; + net:hasRestriction net:restriction_play-movie_p ; + net:hasStructure "document-02" . + +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_obligation-modality_o a net:Phenomena_Net ; + :role_ARG2 net:atomProperty_play_p ; + net:coverBaseNode :leaf_obligate-01_o ; + net:coverNode :leaf_obligate-01_o ; + net:hasNaming "obligation-modality" ; + net:hasPhenomenaRef "obligate-01" ; + net:hasPhenomenaType :phenomena_modality_obligation ; + net:hasStructure "document-02" . + +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-02#root01> a ns21:AMR ; + ns21:has-id "document-02" ; + ns21:has-sentence "John must play the movie." ; + ns21:root <http://amr.isi.edu/amr_data/document-02#o> . + +<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" . + +ns21:AMR a owl:Class ; + rdfs:subClassOf :AMR_Linked_Data . + +ns21:NamedEntity a ns21: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 . + +:AMR_Value a owl:Class ; + rdfs:subClassOf :AMR_Element . + +:concept_movie rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk ns2:movie ; + :label "movie" . + +:concept_obligate-01 rdfs:subClassOf :AMR_Relation_Concept ; + :fromAmrLk ns11:obligate-01 ; + :hasPhenomenaLink :phenomena_modality_obligation ; + :label "obligate-01" . + +:concept_person rdfs:subClassOf :AMR_Term_Concept ; + :fromAmrLk <http://amr.isi.edu/entity-types#person> ; + :label "person" . + +:concept_play-02 rdfs:subClassOf :AMR_Predicat_Concept ; + :fromAmrLk ns11:play-02 ; + :label "play-02" . + +:role_ARG0 a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG0" . + +:role_ARG1 a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG1" . + +:role_ARG2 a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_Core_Role ; + :label "ARG2" . + +:role_name a owl:Class, + net:Relation ; + rdfs:subClassOf :AMR_NonCore_Role ; + :label "name" . + +:variable_m a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-02#m> ; + :label "m" . + +:variable_o a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-02#o> ; + :label "o" . + +:variable_p a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-02#p> ; + :label "p" . + +:variable_p2 a :AMR_Variable ; + :fromAmrLk <http://amr.isi.edu/amr_data/document-02#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:Composite_Property_Net a owl:Class ; + rdfs:subClassOf net:Property_Net . + +net:Deprecated_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Individual_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Phenomena_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Value_Net a owl:Class ; + rdfs:subClassOf net:Net . + +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-02" . + +net:objectType a owl:AnnotationProperty ; + rdfs:label "object type" ; + rdfs:subPropertyOf net:objectProperty . + +net:restriction_play-movie_p a net:Restriction_Net ; + net:composeFrom net:atomClass_movie_m, + net:atomProperty_play_p ; + net:coverBaseNode :leaf_play-02_p ; + net:coverNode :leaf_movie_m, + :leaf_play-02_p ; + net:hasNaming "play-movie" ; + net:hasRestrictionNetValue net:atomClass_movie_m ; + net:hasRestrictionOnProperty net:atomProperty_play_p ; + net:hasStructure "document-02" . + +<http://amr.isi.edu/amr_data/document-02#m> a ns2:movie ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-02#o> a ns11:obligate-01 ; + ns11:obligate-01.ARG2 <http://amr.isi.edu/amr_data/document-02#p> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-02#p> a ns11:play-02 ; + ns11:play-02.ARG0 <http://amr.isi.edu/amr_data/document-02#p2> ; + ns11:play-02.ARG1 <http://amr.isi.edu/amr_data/document-02#m> ; + rdfs:subClassOf :AMR_Linked_Data . + +<http://amr.isi.edu/amr_data/document-02#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 ns21:NamedEntity ; + rdfs:subClassOf :AMR_Linked_Data . + +ns11:obligate-01 a ns21:Frame ; + rdfs:subClassOf :AMR_Linked_Data . + +ns11:play-02 a ns21:Frame ; + rdfs:subClassOf :AMR_Linked_Data . + +ns2:movie a ns21:Concept ; + rdfs:subClassOf :AMR_Linked_Data . + +ns21:Frame a ns21: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 . + +: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_obligation a owl:Class ; + rdfs:subClassOf :phenomena_modality ; + :hasConceptLink "obligate-01" ; + :label "obligation-modality" . + +:value_John a :AMR_Value ; + rdfs:label "John" . + +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:objectProperty a owl:AnnotationProperty ; + rdfs:label "object attribute" . + +ns11:FrameRole a ns21: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_obligate-01_o a :AMR_Leaf ; + :edge_o_ARG2_p :leaf_play-02_p ; + :hasConcept :concept_obligate-01 ; + :hasVariable :variable_o . + +: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:atomClass_person_p2 a net:Atom_Class_Net, + net:Deprecated_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-02" . + +net:has_relation_value a owl:AnnotationProperty ; + rdfs:label "has relation value" ; + rdfs:subPropertyOf net:has_object . + +net:value_John_blankNode a net:Value_Net ; + net:coverAmrValue :value_John ; + net:hasNaming "John" ; + net:hasStructure "document-02" ; + net:hasValueLabel "John" . + +:AMR_Element a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_Variable a owl:Class ; + rdfs:subClassOf :AMR_Element . + +net:Relation a owl:Class ; + rdfs:subClassOf net:Net_Structure . + +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-02" . + +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-02_p ; + net:coverNode :leaf_play-02_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-02" ; + net:isCoreRoleLinked "true" ; + net:targetArgumentNode :leaf_movie_m, + :leaf_person_p2 . + +: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_movie_m a :AMR_Leaf ; + :hasConcept :concept_movie ; + :hasVariable :variable_m . + +:leaf_play-02_p a :AMR_Leaf ; + :edge_p_ARG0_p2 :leaf_person_p2 ; + :edge_p_ARG1_m :leaf_movie_m ; + :hasConcept :concept_play-02 ; + :hasVariable :variable_p . + +cprm:configParamProperty a rdf:Property ; + rdfs:label "Config Parameter Property" . + +rdf:Property a owl:Class . + +:AMR_Edge a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_Relation a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:leaf_person_p2 a :AMR_Leaf ; + :edge_p2_name_John :value_John ; + :hasConcept :concept_person ; + :hasVariable :variable_p2 . + +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/odrl-action-devGraph-3.result.ttl b/tests/dev_tests/test_data/odrl-action-devGraph-3.result.ttl new file mode 100644 index 00000000..94b76880 --- /dev/null +++ b/tests/dev_tests/test_data/odrl-action-devGraph-3.result.ttl @@ -0,0 +1,974 @@ +@base <https://amr.tetras-libre.fr/rdf/odrl-action-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" . + +: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:Composite_Class_Net a owl:Class ; + rdfs:subClassOf net:Class_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:compositeProperty_person-play-movie_p2 a net:Composite_Property_Net ; + :role_name net:value_John_blankNode ; + net:composeFrom net:atomClass_movie_m, + net:atomClass_person_p2, + net:atomProperty_play_p ; + net:coverBaseNode :leaf_person_p2 ; + net:coverNode :leaf_movie_m, + :leaf_person_p2, + :leaf_play-01_p ; + net:hasNaming "person-play-movie" ; + net:hasRestriction net:restriction_play-movie_p ; + net:hasStructure "document-03" . + +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_prohibition-modality_a a net:Phenomena_Net ; + :role_ARG1 net:action_play_p, + net:atomProperty_play_p ; + :role_polarity net:value_negative_blankNode ; + net:composeFrom net:phenomena_possible-modality_a, + net:value_negative_blankNode ; + net:coverBaseNode :leaf_allow-01_a ; + net:coverNode :leaf_allow-01_a ; + net:hasNaming "prohibition-modality" ; + net:hasPhenomenaRef "not-[rdflib.term.Literal('allow-01')]" ; + net:hasPhenomenaType :phenomena_modality_prohibition ; + 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" . + +:phenomena_modality_prohibition a owl:Class ; + rdfs:subClassOf :phenomena_modality ; + :label "prohibition-modality" . + +: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:Action_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Atom_Property_Net a owl:Class ; + rdfs:subClassOf net:Property_Net . + +net:Composite_Property_Net a owl:Class ; + rdfs:subClassOf net:Property_Net . + +net:Individual_Net a owl:Class ; + rdfs:subClassOf net:Net . + +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:phenomena_possible-modality_a a net:Deprecated_Net, + net:Phenomena_Net ; + :role_ARG1 net:action_play_p, + 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:restriction_play-movie_p a net:Restriction_Net ; + net:composeFrom net:atomClass_movie_m, + net:atomProperty_play_p ; + net:coverBaseNode :leaf_play-01_p ; + net:coverNode :leaf_movie_m, + :leaf_play-01_p ; + net:hasNaming "play-movie" ; + net:hasRestrictionNetValue net:atomClass_movie_m ; + net:hasRestrictionOnProperty net:atomProperty_play_p ; + net:hasStructure "document-03" . + +<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:Deprecated_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Phenomena_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Property_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Value_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:action_play_p a net:Action_Net ; + net:composeFrom net:atomClass_movie_m, + net:atomProperty_play_p ; + net:coverBaseNode :leaf_play-01_p ; + net:coverNode :leaf_movie_m, + :leaf_play-01_p ; + net:hasActionName "play" ; + net:hasNaming "play" ; + net:hasStructure "document-03" ; + net:hasTargetNet net:atomClass_movie_m . + +net:objectProperty a owl:AnnotationProperty ; + rdfs:label "object attribute" . + +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 . + +: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:atomClass_person_p2 a net:Atom_Class_Net, + net:Deprecated_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:has_relation_value a owl:AnnotationProperty ; + rdfs:label "has relation value" ; + rdfs:subPropertyOf net:has_object . + +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" . + +:AMR_Element a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_Variable a owl:Class ; + rdfs:subClassOf :AMR_Element . + +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 . + +: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 . + +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 . + +cprm:configParamProperty a rdf:Property ; + rdfs:label "Config Parameter Property" . + +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 . + +rdf:Property a owl:Class . + +:AMR_Relation a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:leaf_movie_m a :AMR_Leaf ; + :hasConcept :concept_movie ; + :hasVariable :variable_m . + +:AMR_Edge a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:leaf_person_p2 a :AMR_Leaf ; + :edge_p2_name_John :value_John ; + :hasConcept :concept_person ; + :hasVariable :variable_p2 . + +: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 . + +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/odrl-action-devGraph-3.ttl b/tests/dev_tests/test_data/odrl-action-devGraph-3.ttl new file mode 100644 index 00000000..57db36c5 --- /dev/null +++ b/tests/dev_tests/test_data/odrl-action-devGraph-3.ttl @@ -0,0 +1,960 @@ +@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" . + +: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: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:compositeProperty_person-play-movie_p2 a net:Composite_Property_Net ; + :role_name net:value_John_blankNode ; + net:composeFrom net:atomClass_movie_m, + net:atomClass_person_p2, + net:atomProperty_play_p ; + net:coverBaseNode :leaf_person_p2 ; + net:coverNode :leaf_movie_m, + :leaf_person_p2, + :leaf_play-01_p ; + net:hasNaming "person-play-movie" ; + net:hasRestriction net:restriction_play-movie_p ; + net:hasStructure "document-03" . + +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_prohibition-modality_a a net:Phenomena_Net ; + :role_ARG1 net:atomProperty_play_p ; + :role_polarity net:value_negative_blankNode ; + net:composeFrom net:phenomena_possible-modality_a, + net:value_negative_blankNode ; + net:coverBaseNode :leaf_allow-01_a ; + net:coverNode :leaf_allow-01_a ; + net:hasNaming "prohibition-modality" ; + net:hasPhenomenaRef "not-[rdflib.term.Literal('allow-01')]" ; + net:hasPhenomenaType :phenomena_modality_prohibition ; + 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 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" . + +:phenomena_modality_prohibition a owl:Class ; + rdfs:subClassOf :phenomena_modality ; + :label "prohibition-modality" . + +: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:Composite_Property_Net a owl:Class ; + rdfs:subClassOf net:Property_Net . + +net:Individual_Net a owl:Class ; + rdfs:subClassOf net:Net . + +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:phenomena_possible-modality_a a net:Deprecated_Net, + 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:restriction_play-movie_p a net:Restriction_Net ; + net:composeFrom net:atomClass_movie_m, + net:atomProperty_play_p ; + net:coverBaseNode :leaf_play-01_p ; + net:coverNode :leaf_movie_m, + :leaf_play-01_p ; + net:hasNaming "play-movie" ; + net:hasRestrictionNetValue net:atomClass_movie_m ; + net:hasRestrictionOnProperty net:atomProperty_play_p ; + net:hasStructure "document-03" . + +<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, + 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:Deprecated_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Phenomena_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Property_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net:Value_Net a owl:Class ; + rdfs:subClassOf net:Net . + +net: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 . + +: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:atomClass_person_p2 a net:Atom_Class_Net, + net:Deprecated_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:has_relation_value a owl:AnnotationProperty ; + rdfs:label "has relation value" ; + rdfs:subPropertyOf net:has_object . + +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" . + +:AMR_Element a owl:Class ; + rdfs:subClassOf :AMR_Structure . + +:AMR_Variable a owl:Class ; + rdfs:subClassOf :AMR_Element . + +net:Relation a owl:Class ; + rdfs:subClassOf net:Net_Structure . + +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" . + +:AMR_NonCore_Role a owl:Class ; + rdfs:subClassOf :AMR_Role . + +:AMR_Role a owl:Class ; + rdfs:subClassOf :AMR_Element . + +: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 . + +sys:Out_Structure a owl:Class ; + rdfs:label "Output Ontology Structure" . + +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: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_movie_m a :AMR_Leaf ; + :hasConcept :concept_movie ; + :hasVariable :variable_m . + +: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 . + +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 . + +:leaf_person_p2 a :AMR_Leaf ; + :edge_p2_name_John :value_John ; + :hasConcept :concept_person ; + :hasVariable :variable_p2 . + +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_odrl_action.py b/tests/dev_tests/test_rule_odrl_action.py new file mode 100644 index 00000000..6344aa4d --- /dev/null +++ b/tests/dev_tests/test_rule_odrl_action.py @@ -0,0 +1,146 @@ +#!/usr/bin/python3.10 +# -*-coding:Utf-8 -* + +#============================================================================== +# TENET: Extraction Rule Test +#------------------------------------------------------------------------------ +# Script to test rules under development +#============================================================================== + +import subprocess, os +from rdflib import Graph, Namespace +from rdflib.namespace import NamespaceManager, FOAF, RDF +from rdflib import URIRef, Literal, BNode + +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_1 = 'odrl-action-devGraph-1' +TEST_FILE_NAME_2 = 'odrl-action-devGraph-2' +TEST_FILE_NAME_3 = 'odrl-action-devGraph-3' + +from context import tenet +from tenet.scheme.amr_clara_rule.transduction import odrl_action_extractor as rule_1 +from tenet.scheme import amr_clara_rule as rule + +from tenet.transduction import net +from tenet.transduction.rdfterm_computer import __update_uri_with_prefix +from tenet.transduction import prefix_handle + + + +#============================================================================== +# Useful Methods +#============================================================================== + +def load_test_graph(test_file_name): + print(f'\n -- Test Graph Loading') + graph = Graph() + prefix_handle.update_graph_namespacemanager(graph) + graph_path = f'{INPUT_DIR_PATH}{test_file_name}.ttl' + graph.parse(graph_path) + print(f" ----- Graph Loaded ({len(graph)})") + return graph + + +def print_net_attributes(net): + print(f'\n *** Net attributes ({net.type_id}: {net.uri}) ***') + for attr in net.attr_list: + net_attr_ref = f'net.{attr}' + print(f' ----- {attr}: {eval(net_attr_ref)}') + + +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) + p = __update_uri_with_prefix(graph, p) + o = __update_uri_with_prefix(graph, o) + print(f' {num_str} {s} {p} {o}') + + +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)}") + + print(f" ----- Added triples:") + n = 0 + graph_length = len(graph) + for triple in triple_list: + graph.add(triple) + if graph_length < len(graph): + n += 1 + graph_length = len(graph) + print_triple(graph, triple, num=n) + + print(f" ----- Graph length after update: {len(graph)}") + + 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) + + +#============================================================================== +# Development Test +#============================================================================== + +def test_search_pattern_1(graph): + query_code, pattern_set = rule_1.__search_pattern(graph) + print(f'\n ----- query code: {query_code}') + print(f'\n ----- number of selection found: {len(pattern_set)}') + for selection in pattern_set: + result_str = f'>>> ' + result_str += f'{selection.property_net.n3(graph.namespace_manager)}' + print(result_str) + return pattern_set + + +#============================================================================== +# Unit Test +#============================================================================== + +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}') + + add_triples_in_graph(test_file_name, graph, new_triple_list) + + + +#============================================================================== +# Test Script +#============================================================================== + +if __name__ == '__main__': + + print('\n *** Test Preparation ***') + 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_1) + + print('\n \n') + + print('\n *** Unit Test ***') + test_rule_application(TEST_FILE_NAME_1, graph_1, rule.extract_odrl_action) + test_rule_application(TEST_FILE_NAME_2, graph_2, rule.extract_odrl_action) + test_rule_application(TEST_FILE_NAME_3, graph_3, rule.extract_odrl_action) + print('\n \n') + + + print('\n *** - ***') \ No newline at end of file -- GitLab