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