diff --git a/tenet/scheme/amr_clara_rule/__init__.py b/tenet/scheme/amr_clara_rule/__init__.py
index 6ff657bc423b6560a63f5bda3f61354aa4c97a36..c909702dddd2c2a7d0b0ce880a10eb4ca8b46105 100644
--- a/tenet/scheme/amr_clara_rule/__init__.py
+++ b/tenet/scheme/amr_clara_rule/__init__.py
@@ -12,6 +12,7 @@ from scheme.amr_clara_rule.transduction.composite_class_extractor_1 import *
 from scheme.amr_clara_rule.transduction.composite_class_extractor_2 import * 
 
 from scheme.amr_clara_rule.transduction.phenomena_polarity_analyzer_1 import * 
+from scheme.amr_clara_rule.transduction.phenomena_polarity_analyzer_2 import * 
 from scheme.amr_clara_rule.transduction.phenomena_mod_analyzer_1 import * 
 from scheme.amr_clara_rule.transduction.phenomena_or_analyzer_1 import * 
 from scheme.amr_clara_rule.transduction.phenomena_or_analyzer_2 import * 
diff --git a/tenet/scheme/amr_clara_rule/transduction/atom_individual_extractor.py b/tenet/scheme/amr_clara_rule/transduction/atom_individual_extractor.py
index 5e7260c5ec2d56545ca4f1775a212ced44117d79..3d2bf6b0c6c5d5a9b991faf7325b28bcc6af13ca 100644
--- a/tenet/scheme/amr_clara_rule/transduction/atom_individual_extractor.py
+++ b/tenet/scheme/amr_clara_rule/transduction/atom_individual_extractor.py
@@ -153,12 +153,12 @@ def extract_atom_individual(graph):
     
     # -- Rule Initialization 
     rule_label = 'extract atom individuals' 
+    rule_triple_list = []
 
     # -- Search for patterns 
     _, pattern_set = __search_pattern(graph)
     
     # -- Pattern Analysis
-    rule_triple_list = []
     for pattern in pattern_set:
         
         # -- New Net Construction (from 3 nets)
diff --git a/tenet/scheme/amr_clara_rule/transduction/atom_relation_propagator.py b/tenet/scheme/amr_clara_rule/transduction/atom_relation_propagator.py
index 459a12fab52c8716faee8167ed399cd7a12f67ad..ddc4f38f01aad2a0c128cf461daaff4b3db92503 100644
--- a/tenet/scheme/amr_clara_rule/transduction/atom_relation_propagator.py
+++ b/tenet/scheme/amr_clara_rule/transduction/atom_relation_propagator.py
@@ -32,10 +32,11 @@ def __search_pattern(graph):
 # Useful Additional Search
 #==============================================================================  
 
-def __search_leaf_in_relation(graph, base_leaf_uri):
+def __search_leaf_in_leaf_relation(graph, base_leaf_uri):
     select_data_list = ['?inRelationRole', '?inNet']
     clause_list = [f'?inNet a [rdfs:subClassOf* net:Net].',
-                   f'?inNet net:coverBaseNode ?inLeaf.', 
+                   f'?inNet net:coverBaseNode ?inLeaf.',
+                   f'?inLeaf a amr:AMR_Leaf.',
                    ('?inLeaf', '?relation', base_leaf_uri),
                    f'?relation amr:hasAmrRole ?inRelationRole.']
     query_code = generate_select_query(graph, select_data_list, clause_list) 
@@ -43,28 +44,63 @@ def __search_leaf_in_relation(graph, base_leaf_uri):
     return query_code, result_set
 
 
-def __search_leaf_out_relation(graph, base_leaf_uri):
+def __search_leaf_in_value_relation(graph, base_leaf_uri):
+    select_data_list = ['?inRelationRole', '?inNet']
+    clause_list = [f'?inNet a [rdfs:subClassOf* net:Net].',
+                   f'?inNet net:coverAmrValue ?inValue.', 
+                   f'?inValue a amr:AMR_Value.',
+                   ('?inValue', '?relation', base_leaf_uri),
+                   f'?relation amr:hasAmrRole ?inRelationRole.']
+    query_code = generate_select_query(graph, select_data_list, clause_list) 
+    result_set = graph.query(query_code) 
+    return query_code, result_set
+
+
+def __search_leaf_out_leaf_relation(graph, base_leaf_uri):
     select_data_list = ['?outRelationRole', '?outNet']
     clause_list = [f'?outNet a [rdfs:subClassOf* net:Net].',
                    f'?outNet net:coverBaseNode ?outLeaf.', 
+                   f'?outLeaf a amr:AMR_Leaf.',
                    (base_leaf_uri, '?relation', '?outLeaf'),
                    f'?relation amr:hasAmrRole ?outRelationRole.']
     query_code = generate_select_query(graph, select_data_list, clause_list) 
     result_set = graph.query(query_code) 
     return query_code, result_set
 
+
+def __search_leaf_out_value_relation(graph, base_leaf_uri):
+    select_data_list = ['?outRelationRole', '?outNet']
+    clause_list = [f'?outNet a [rdfs:subClassOf* net:Net].',
+                   f'?outNet net:coverAmrValue ?outValue.', 
+                   f'?outValue a amr:AMR_Value.',
+                   (base_leaf_uri, '?relation', '?outValue'),
+                   f'?relation amr:hasAmrRole ?outRelationRole.']
+    query_code = generate_select_query(graph, select_data_list, clause_list) 
+    result_set = graph.query(query_code) 
+    return query_code, result_set
+
  
     
 #==============================================================================
 # Useful Computation Method(s)
-#==============================================================================  
+#==============================================================================          
 
 def __propagate_relation(graph, target_net, base_leaf):
-    _, in_relation_set = __search_leaf_in_relation(graph, base_leaf)
-    for row in in_relation_set:
-        target_net.input_relation_list += [(row.inNet, row.inRelationRole, _)]    
-    _, out_relation_set = __search_leaf_out_relation(graph, base_leaf)
-    for row in out_relation_set:
+    
+    # -- In Relation Propagation
+    _, in_relation_set_1 = __search_leaf_in_leaf_relation(graph, base_leaf)    
+    for row in in_relation_set_1:
+        target_net.input_relation_list += [(row.inNet, row.inRelationRole, _)] 
+    _, in_relation_set_2 = __search_leaf_in_value_relation(graph, base_leaf)
+    for row in in_relation_set_2:
+        target_net.input_relation_list += [(row.inNet, row.inRelationRole, _)] 
+       
+    # -- Out Relation Propagation
+    _, out_relation_set_1 = __search_leaf_out_leaf_relation(graph, base_leaf)  
+    for row in out_relation_set_1:
+        target_net.output_relation_list += [(_, row.outRelationRole, row.outNet)] 
+    _, out_relation_set_2 = __search_leaf_out_value_relation(graph, base_leaf)
+    for row in out_relation_set_2:
         target_net.output_relation_list += [(_, row.outRelationRole, row.outNet)] 
 
   
diff --git a/tenet/scheme/amr_clara_rule/transduction/atom_value_extractor.py b/tenet/scheme/amr_clara_rule/transduction/atom_value_extractor.py
index 4bed1cb88082aaf540796a29a84572c653698803..414ac99cf69246ac7535ae087f2350727b07a947 100644
--- a/tenet/scheme/amr_clara_rule/transduction/atom_value_extractor.py
+++ b/tenet/scheme/amr_clara_rule/transduction/atom_value_extractor.py
@@ -21,7 +21,7 @@ from transduction.naming_computer import define_composite_naming_1, define_restr
 #==============================================================================
        
 def __search_pattern(graph):
-    select_data_list = ['?valueLabel']
+    select_data_list = ['?value', '?valueLabel']
     clause_list = [f'?value a amr:AMR_Value.',
                    f'?value rdfs:label ?valueLabel.']
     query_code = generate_select_query(graph, select_data_list, clause_list)
@@ -102,13 +102,13 @@ def __define_naming(value_label):
 # Construct Method(s)
 #============================================================================== 
 
-def __construct_value_net(
-        graph, value_label):
+def __construct_value_net(graph, amr_value, value_label):
 
     # -- Net Composition
     value_net = net.ValueNet(graph)
     
     # -- Data Computation
+    value_net.amr_value = amr_value
     value_net.value_label = value_label
     value_net.structure = __get_structure(graph)
 
@@ -140,7 +140,7 @@ def extract_atom_value(graph):
     for pattern in pattern_set:
         
         # -- New Net Construction (from 3 nets)
-        new_class, triple_list = __construct_value_net(graph, pattern.valueLabel)
+        new_class, triple_list = __construct_value_net(graph, pattern.value, pattern.valueLabel)
             
         # -- Resulting List Update
         # class_net_list.append(new_class)
diff --git a/tenet/scheme/amr_master_rule/transduction/atom_individual_extractor.py b/tenet/scheme/amr_master_rule/transduction/atom_individual_extractor.py
index e63801749568451afecebc212c4721f3bc57e162..3d2bf6b0c6c5d5a9b991faf7325b28bcc6af13ca 100644
--- a/tenet/scheme/amr_master_rule/transduction/atom_individual_extractor.py
+++ b/tenet/scheme/amr_master_rule/transduction/atom_individual_extractor.py
@@ -153,12 +153,12 @@ def extract_atom_individual(graph):
     
     # -- Rule Initialization 
     rule_label = 'extract atom individuals' 
+    rule_triple_list = []
 
     # -- Search for patterns 
     _, pattern_set = __search_pattern(graph)
     
-    # -- Selection Analyzing (1)
-    rule_triple_list = []
+    # -- Pattern Analysis
     for pattern in pattern_set:
         
         # -- New Net Construction (from 3 nets)
diff --git a/tenet/scheme/amr_master_rule/transduction/atom_relation_propagator.py b/tenet/scheme/amr_master_rule/transduction/atom_relation_propagator.py
index 459a12fab52c8716faee8167ed399cd7a12f67ad..ddc4f38f01aad2a0c128cf461daaff4b3db92503 100644
--- a/tenet/scheme/amr_master_rule/transduction/atom_relation_propagator.py
+++ b/tenet/scheme/amr_master_rule/transduction/atom_relation_propagator.py
@@ -32,10 +32,11 @@ def __search_pattern(graph):
 # Useful Additional Search
 #==============================================================================  
 
-def __search_leaf_in_relation(graph, base_leaf_uri):
+def __search_leaf_in_leaf_relation(graph, base_leaf_uri):
     select_data_list = ['?inRelationRole', '?inNet']
     clause_list = [f'?inNet a [rdfs:subClassOf* net:Net].',
-                   f'?inNet net:coverBaseNode ?inLeaf.', 
+                   f'?inNet net:coverBaseNode ?inLeaf.',
+                   f'?inLeaf a amr:AMR_Leaf.',
                    ('?inLeaf', '?relation', base_leaf_uri),
                    f'?relation amr:hasAmrRole ?inRelationRole.']
     query_code = generate_select_query(graph, select_data_list, clause_list) 
@@ -43,28 +44,63 @@ def __search_leaf_in_relation(graph, base_leaf_uri):
     return query_code, result_set
 
 
-def __search_leaf_out_relation(graph, base_leaf_uri):
+def __search_leaf_in_value_relation(graph, base_leaf_uri):
+    select_data_list = ['?inRelationRole', '?inNet']
+    clause_list = [f'?inNet a [rdfs:subClassOf* net:Net].',
+                   f'?inNet net:coverAmrValue ?inValue.', 
+                   f'?inValue a amr:AMR_Value.',
+                   ('?inValue', '?relation', base_leaf_uri),
+                   f'?relation amr:hasAmrRole ?inRelationRole.']
+    query_code = generate_select_query(graph, select_data_list, clause_list) 
+    result_set = graph.query(query_code) 
+    return query_code, result_set
+
+
+def __search_leaf_out_leaf_relation(graph, base_leaf_uri):
     select_data_list = ['?outRelationRole', '?outNet']
     clause_list = [f'?outNet a [rdfs:subClassOf* net:Net].',
                    f'?outNet net:coverBaseNode ?outLeaf.', 
+                   f'?outLeaf a amr:AMR_Leaf.',
                    (base_leaf_uri, '?relation', '?outLeaf'),
                    f'?relation amr:hasAmrRole ?outRelationRole.']
     query_code = generate_select_query(graph, select_data_list, clause_list) 
     result_set = graph.query(query_code) 
     return query_code, result_set
 
+
+def __search_leaf_out_value_relation(graph, base_leaf_uri):
+    select_data_list = ['?outRelationRole', '?outNet']
+    clause_list = [f'?outNet a [rdfs:subClassOf* net:Net].',
+                   f'?outNet net:coverAmrValue ?outValue.', 
+                   f'?outValue a amr:AMR_Value.',
+                   (base_leaf_uri, '?relation', '?outValue'),
+                   f'?relation amr:hasAmrRole ?outRelationRole.']
+    query_code = generate_select_query(graph, select_data_list, clause_list) 
+    result_set = graph.query(query_code) 
+    return query_code, result_set
+
  
     
 #==============================================================================
 # Useful Computation Method(s)
-#==============================================================================  
+#==============================================================================          
 
 def __propagate_relation(graph, target_net, base_leaf):
-    _, in_relation_set = __search_leaf_in_relation(graph, base_leaf)
-    for row in in_relation_set:
-        target_net.input_relation_list += [(row.inNet, row.inRelationRole, _)]    
-    _, out_relation_set = __search_leaf_out_relation(graph, base_leaf)
-    for row in out_relation_set:
+    
+    # -- In Relation Propagation
+    _, in_relation_set_1 = __search_leaf_in_leaf_relation(graph, base_leaf)    
+    for row in in_relation_set_1:
+        target_net.input_relation_list += [(row.inNet, row.inRelationRole, _)] 
+    _, in_relation_set_2 = __search_leaf_in_value_relation(graph, base_leaf)
+    for row in in_relation_set_2:
+        target_net.input_relation_list += [(row.inNet, row.inRelationRole, _)] 
+       
+    # -- Out Relation Propagation
+    _, out_relation_set_1 = __search_leaf_out_leaf_relation(graph, base_leaf)  
+    for row in out_relation_set_1:
+        target_net.output_relation_list += [(_, row.outRelationRole, row.outNet)] 
+    _, out_relation_set_2 = __search_leaf_out_value_relation(graph, base_leaf)
+    for row in out_relation_set_2:
         target_net.output_relation_list += [(_, row.outRelationRole, row.outNet)] 
 
   
diff --git a/tenet/scheme/amr_master_rule/transduction/atom_value_extractor.py b/tenet/scheme/amr_master_rule/transduction/atom_value_extractor.py
index 4bed1cb88082aaf540796a29a84572c653698803..414ac99cf69246ac7535ae087f2350727b07a947 100644
--- a/tenet/scheme/amr_master_rule/transduction/atom_value_extractor.py
+++ b/tenet/scheme/amr_master_rule/transduction/atom_value_extractor.py
@@ -21,7 +21,7 @@ from transduction.naming_computer import define_composite_naming_1, define_restr
 #==============================================================================
        
 def __search_pattern(graph):
-    select_data_list = ['?valueLabel']
+    select_data_list = ['?value', '?valueLabel']
     clause_list = [f'?value a amr:AMR_Value.',
                    f'?value rdfs:label ?valueLabel.']
     query_code = generate_select_query(graph, select_data_list, clause_list)
@@ -102,13 +102,13 @@ def __define_naming(value_label):
 # Construct Method(s)
 #============================================================================== 
 
-def __construct_value_net(
-        graph, value_label):
+def __construct_value_net(graph, amr_value, value_label):
 
     # -- Net Composition
     value_net = net.ValueNet(graph)
     
     # -- Data Computation
+    value_net.amr_value = amr_value
     value_net.value_label = value_label
     value_net.structure = __get_structure(graph)
 
@@ -140,7 +140,7 @@ def extract_atom_value(graph):
     for pattern in pattern_set:
         
         # -- New Net Construction (from 3 nets)
-        new_class, triple_list = __construct_value_net(graph, pattern.valueLabel)
+        new_class, triple_list = __construct_value_net(graph, pattern.value, pattern.valueLabel)
             
         # -- Resulting List Update
         # class_net_list.append(new_class)
diff --git a/tenet/scheme/amr_scheme_clara_1.py b/tenet/scheme/amr_scheme_clara_1.py
index d130f07e6965148264d83a2125d732bbbf4b2b67..ec34bdd10f25cf4e1d4f6d47d36fcf30f905231c 100644
--- a/tenet/scheme/amr_scheme_clara_1.py
+++ b/tenet/scheme/amr_scheme_clara_1.py
@@ -176,10 +176,12 @@ atomic_extraction_sequence = ['atomic extraction sequence',
                               rule.extract_atom_property,
                               rule.extract_atom_value,
                               rule.extract_atom_phenomena,
-                              rule.propagate_atom_relation]
+                              rule.propagate_atom_relation
+                              ]
 
 phenomena_analyze_sequence_1 = ['phenomena analyze sequence (1)',
                                 rule.analyze_phenomena_polarity_1,
+                                rule.analyze_phenomena_polarity_2,
                                 rule.analyze_phenomena_mod_1
                                 ]
 
diff --git a/tenet/structure/amr-rdf-schema.ttl b/tenet/structure/amr-rdf-schema.ttl
index 0c8dd19cfe1b06336e7b6075ceab3f02f6544ea0..1d2b377a21a8073d0c62cb6429ea669f2208b601 100644
--- a/tenet/structure/amr-rdf-schema.ttl
+++ b/tenet/structure/amr-rdf-schema.ttl
@@ -388,8 +388,18 @@ ns1:Role rdf:type owl:Class ;
 ###  https://amr.tetras-libre.fr/rdf/schema#phenomena_modality_possible
 :phenomena_modality_possible rdf:type owl:Class ;
                              rdfs:subClassOf :phenomena_modality ;
-                               :hasConceptLink "possible-01", "permit-01", "likely-01", "grant-01", "allow-01" ;
-                               :label "possible-modality" .
+                             :hasConceptLink "allow-01" ,
+                                             "grant-01" ,
+                                             "likely-01" ,
+                                             "permit-01" ,
+                                             "possible-01" ;
+                             :label "possible-modality" .
+
+
+###  https://amr.tetras-libre.fr/rdf/schema#phenomena_modality_prohibition
+:phenomena_modality_prohibition rdf:type owl:Class ;
+                                rdfs:subClassOf :phenomena_modality ;
+                                :label "prohibition-modality" .
 
 
 ###  https://amr.tetras-libre.fr/rdf/schema#relation_domain
diff --git a/tenet/transduction/net/value_net.py b/tenet/transduction/net/value_net.py
index 1724b2c1d59be20c52c26bbb1e0579493a6fd897..67b172973764384a83dbcc4bef6178093fdbabfe 100644
--- a/tenet/transduction/net/value_net.py
+++ b/tenet/transduction/net/value_net.py
@@ -34,7 +34,8 @@ class ValueNet(Net):
         self.type_uri = f'net:{self.type_id}'
         
         # -- Net Attributes
-        self.attr_list += ['value_label']
+        self.attr_list += ['amr_value', 'value_label']
+        self._amr_value = None
         self._value_label = None
   
         
@@ -42,6 +43,16 @@ class ValueNet(Net):
     # Accessors for Net Attributes
     #--------------------------------------------------------------------------
         
+    @property
+    def amr_value(self):
+        if self._amr_value is None: 
+            self._amr_value = self.get_value_list_from_graph('_amr_value')
+        return self._amr_value
+    
+    @amr_value.setter
+    def amr_value(self, new_value):
+        self._amr_value = self.set_attribute_value_list(new_value, produce_uriref)
+        
     @property
     def value_label(self):
         if self._value_label is None: 
diff --git a/tenet/transduction/semantic_net_rdf_reference.py b/tenet/transduction/semantic_net_rdf_reference.py
index d3fb52af5e04a24fb04847c300f7be5c78d9b473..9af242988fa01f5d58b711502aa180e978c9b054 100644
--- a/tenet/transduction/semantic_net_rdf_reference.py
+++ b/tenet/transduction/semantic_net_rdf_reference.py
@@ -55,6 +55,7 @@ class SemanticNetReferenceHandle:
             'individual_label':         'hasIndividualLabel',
             
             # Value Net
+            'amr_value':                'coverAmrValue',
             'value_label':              'hasValueLabel',
             
             # Phenomena Net
diff --git a/tests/dev_tests/test_data/atom-extraction-devGraph-1.result.ttl b/tests/dev_tests/test_data/atom-extraction-devGraph-1.result.ttl
index aa5bf91e5c6f3a500c678ae0af364985cdb273c2..8c75f2c8ec9fce697f9b1f62ca4b9cc1273e278e 100644
--- a/tests/dev_tests/test_data/atom-extraction-devGraph-1.result.ttl
+++ b/tests/dev_tests/test_data/atom-extraction-devGraph-1.result.ttl
@@ -664,16 +664,6 @@ net:unary_list a owl:Class ;
     rdfs:label "unary-list" ;
     rdfs:subClassOf net:list .
 
-net:value_SolarSystem_blankNode a net:Value_Net ;
-    net:hasNaming "SolarSystem" ;
-    net:hasStructure "SSC-01-01" ;
-    net:hasValueLabel "Solar System" .
-
-net:value_negative_blankNode a net:Value_Net ;
-    net:hasNaming "negative" ;
-    net:hasStructure "SSC-01-01" ;
-    net:hasValueLabel "negative" .
-
 net:verbClass a owl:AnnotationProperty ;
     rdfs:label "verb class" ;
     rdfs:subPropertyOf net:objectValue .
@@ -757,17 +747,16 @@ ns2:AMR a owl:Class ;
     :toReifyWithBaseEdge "ARG0" ;
     :toReifyWithHeadEdge "ARG1" .
 
-:role_name a owl:Class ;
+:role_name a owl:Class,
+        net:Relation ;
     rdfs:subClassOf :AMR_NonCore_Role ;
     :label "name" .
 
-:role_polarity a owl:Class ;
+:role_polarity a owl:Class,
+        net:Relation ;
     rdfs:subClassOf :AMR_Specific_Role ;
     :label "polarity" .
 
-:value_SolarSystem a :AMR_Value ;
-    rdfs:label "Solar System" .
-
 :variable_a a :AMR_Variable ;
     :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#a> ;
     :label "a" .
@@ -863,6 +852,7 @@ net:atomProperty_direct_d a net:Atom_Property_Net ;
     net:isCoreRoleLinked "true" .
 
 net:atomProperty_direct_d2 a net:Atom_Property_Net ;
+    :role_polarity net:value_negative_blankNode ;
     net:coverBaseNode :leaf_direct-02_d2 ;
     net:coverNode :leaf_direct-02_d2 ;
     net:hasNaming "direct" ;
@@ -899,6 +889,7 @@ net:has_value a owl:AnnotationProperty ;
     rdfs:subPropertyOf net:netProperty .
 
 net:individual_SolarSystem_p a net:Individual_Net ;
+    :role_name net:value_SolarSystem_blankNode ;
     net:coverBaseNode :leaf_system_p ;
     net:coverNode :leaf_system_p ;
     net:hasIndividualLabel "Solar System" ;
@@ -930,6 +921,12 @@ net:phenomena_conjunction-OR_o3 a net:Phenomena_Net ;
     net:hasPhenomenaType :phenomena_conjunction_or ;
     net:hasStructure "SSC-01-01" .
 
+net:value_negative_blankNode a net:Value_Net ;
+    net:coverAmrValue :value_negative ;
+    net:hasNaming "negative" ;
+    net:hasStructure "SSC-01-01" ;
+    net:hasValueLabel "negative" .
+
 <http://amr.isi.edu/amr_data/SSC-01-01#a> a ns2:and ;
     ns11:op1 <http://amr.isi.edu/amr_data/SSC-01-01#s2> ;
     ns11:op2 <http://amr.isi.edu/amr_data/SSC-01-01#o> ;
@@ -1064,8 +1061,8 @@ ns2:or a ns2:Concept ;
     rdfs:subClassOf :AMR_Op_Role ;
     :label "op2" .
 
-:value_negative a :AMR_Value ;
-    rdfs:label "negative" .
+:value_SolarSystem a :AMR_Value ;
+    rdfs:label "Solar System" .
 
 sys:Out_ObjectProperty a owl:ObjectProperty .
 
@@ -1096,6 +1093,7 @@ net:atomClass_sun_s2 a net:Atom_Class_Net ;
     net:hasStructure "SSC-01-01" .
 
 net:atomClass_system_p a net:Atom_Class_Net ;
+    :role_name net:value_SolarSystem_blankNode ;
     net:coverBaseNode :leaf_system_p ;
     net:coverNode :leaf_system_p ;
     net:hasClassName "system" ;
@@ -1114,6 +1112,12 @@ net:atomClass_system_s a net:Atom_Class_Net ;
 net:objectProperty a owl:AnnotationProperty ;
     rdfs:label "object attribute" .
 
+net:value_SolarSystem_blankNode a net:Value_Net ;
+    net:coverAmrValue :value_SolarSystem ;
+    net:hasNaming "SolarSystem" ;
+    net:hasStructure "SSC-01-01" ;
+    net:hasValueLabel "Solar System" .
+
 <http://amr.isi.edu/amr_data/SSC-01-01#o> a ns11:object ;
     rdfs:subClassOf :AMR_Linked_Data .
 
@@ -1162,6 +1166,9 @@ ns2:Frame a ns2:Concept,
 :toReify a owl:AnnotationProperty ;
     rdfs:subPropertyOf :AMR_AnnotationProperty .
 
+:value_negative a :AMR_Value ;
+    rdfs:label "negative" .
+
 net:has_relation_value a owl:AnnotationProperty ;
     rdfs:label "has relation value" ;
     rdfs:subPropertyOf net:has_object .
@@ -1245,9 +1252,6 @@ sys:Out_Structure a owl:Class ;
 net:Atom_Class_Net a owl:Class ;
     rdfs:subClassOf net:Class_Net .
 
-net:Relation a owl:Class ;
-    rdfs:subClassOf net:Net_Structure .
-
 net:netProperty a owl:AnnotationProperty ;
     rdfs:label "netProperty" .
 
@@ -1276,6 +1280,9 @@ rdf:Property a owl:Class .
     :hasConcept :concept_system ;
     :hasVariable :variable_s .
 
+net:Relation a owl:Class ;
+    rdfs:subClassOf net:Net_Structure .
+
 net:Type a owl:Class ;
     rdfs:label "Semantic Net Type" ;
     rdfs:subClassOf net:Net_Structure .
diff --git a/tests/dev_tests/test_data/atom-extraction-devGraph-2.result.ttl b/tests/dev_tests/test_data/atom-extraction-devGraph-2.result.ttl
new file mode 100644
index 0000000000000000000000000000000000000000..6f4b5904639c32b7eef51a8cda05ddb9e58615c5
--- /dev/null
+++ b/tests/dev_tests/test_data/atom-extraction-devGraph-2.result.ttl
@@ -0,0 +1,1186 @@
+@base <https://amr.tetras-libre.fr/rdf/atom-extraction-devGraph-2/result> .
+@prefix : <https://amr.tetras-libre.fr/rdf/schema#> .
+@prefix cprm: <https://tenet.tetras-libre.fr/config/parameters#> .
+@prefix net: <https://tenet.tetras-libre.fr/semantic-net#> .
+@prefix ns11: <http://amr.isi.edu/rdf/amr-terms#> .
+@prefix ns2: <http://amr.isi.edu/rdf/core-amr#> .
+@prefix ns3: <http://amr.isi.edu/frames/ld/v1.2.2/> .
+@prefix ns4: <http://amr.isi.edu/entity-types#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix sys: <https://tenet.tetras-libre.fr/base-ontology#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+ns2:Concept a rdfs:Class,
+        owl:Class ;
+    rdfs:label "AMR-Concept" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns2:Role a rdfs:Class,
+        owl:Class ;
+    rdfs:label "AMR-Role" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+<http://amr.isi.edu/amr_data/test-1#root01> ns2:hasID "test-1" ;
+    ns2:hasSentence "The sun is a star." ;
+    ns2:root <http://amr.isi.edu/amr_data/test-1#s> .
+
+<http://amr.isi.edu/amr_data/test-2#root01> ns2:hasID "test-2" ;
+    ns2:hasSentence "Earth is a planet." ;
+    ns2:root <http://amr.isi.edu/amr_data/test-2#p> .
+
+ns3:bind-01.ARG0 a ns3:FrameRole .
+
+ns3:bind-01.ARG1 a ns3:FrameRole .
+
+ns3:orbit-01.ARG0 a ns3:FrameRole .
+
+ns3:orbit-01.ARG1 a ns3:FrameRole .
+
+ns11:domain a ns2:Role,
+        owl:AnnotationProperty,
+        owl:NamedIndividual .
+
+ns11:op1 a ns2:Role .
+
+ns11:op2 a ns2:Role .
+
+ns2:hasID a owl:AnnotationProperty .
+
+ns2:hasSentence a owl:AnnotationProperty .
+
+ns2:root a owl:AnnotationProperty .
+
+<https://amr.tetras-libre.fr/rdf/schema> a owl:Ontology ;
+    owl:versionIRI :0.1 .
+
+:AMR_DataProperty a owl:DatatypeProperty .
+
+:AMR_Prep_Role a owl:Class ;
+    rdfs:subClassOf :AMR_Role .
+
+:edge_a_op1_s2 a :AMR_Edge ;
+    :hasAmrRole :role_op1 ;
+    :hasRoleID "op1" .
+
+:edge_a_op2_o a :AMR_Edge ;
+    :hasAmrRole :role_op2 ;
+    :hasRoleID "op2" .
+
+:edge_b_ARG0_g a :AMR_Edge ;
+    :hasAmrRole :role_ARG0 ;
+    :hasRoleID "ARG0" .
+
+:edge_b_ARG1_s a :AMR_Edge ;
+    :hasAmrRole :role_ARG1 ;
+    :hasRoleID "ARG1" .
+
+:edge_d2_polarity_negative a :AMR_Edge ;
+    :hasAmrRole :role_polarity ;
+    :hasRoleID "polarity" .
+
+:edge_m9_ARG0_o2 a :AMR_Edge ;
+    :hasAmrRole :role_ARG0 ;
+    :hasRoleID "ARG0" .
+
+:edge_m9_ARG1_o3 a :AMR_Edge ;
+    :hasAmrRole :role_ARG1 ;
+    :hasRoleID "ARG1" .
+
+:edge_o2_ARG0_o a :AMR_Edge ;
+    :hasAmrRole :role_ARG0 ;
+    :hasRoleID "ARG0" .
+
+:edge_o2_ARG1_s2 a :AMR_Edge ;
+    :hasAmrRole :role_ARG1 ;
+    :hasRoleID "ARG1" .
+
+:edge_o3_op1_d a :AMR_Edge ;
+    :hasAmrRole :role_op1 ;
+    :hasRoleID "op1" .
+
+:edge_o3_op2_d2 a :AMR_Edge ;
+    :hasAmrRole :role_op2 ;
+    :hasRoleID "op2" .
+
+:edge_p9_ARG0_s a :AMR_Edge ;
+    :hasAmrRole :role_ARG0 ;
+    :hasRoleID "ARG0" .
+
+:edge_p9_ARG1_a a :AMR_Edge ;
+    :hasAmrRole :role_ARG1 ;
+    :hasRoleID "ARG1" .
+
+:edge_p_name_SolarSystem a :AMR_Edge ;
+    :hasAmrRole :role_name ;
+    :hasRoleID "name" .
+
+:edge_s_domain_p a :AMR_Edge ;
+    :hasAmrRole :role_domain ;
+    :hasRoleID "domain" .
+
+:fromAmrLkFramerole a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :fromAmrLk .
+
+:fromAmrLkRole a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :fromAmrLk .
+
+:fromAmrLkRoot a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :fromAmrLk .
+
+:getDirectPropertyName a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :getProperty .
+
+:getInversePropertyName a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :getProperty .
+
+:getPropertyType a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :getProperty .
+
+:hasConcept a owl:ObjectProperty ;
+    rdfs:domain :AMR_Leaf ;
+    rdfs:subPropertyOf :AMR_ObjectProperty .
+
+:hasConceptLink a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :hasLink .
+
+:hasEdgeLink a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :hasLink .
+
+:hasReification a owl:AnnotationProperty ;
+    rdfs:range xsd:boolean ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:hasReificationConcept a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :hasReificationDefinition .
+
+:hasReificationDomain a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :hasReificationDefinition .
+
+:hasReificationRange a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :hasReificationDefinition .
+
+:hasRelationName a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:hasRoleID a owl:ObjectProperty ;
+    rdfs:domain :AMR_Edge ;
+    rdfs:subPropertyOf :AMR_ObjectProperty .
+
+:hasRoleTag a owl:ObjectProperty ;
+    rdfs:domain :AMR_Edge ;
+    rdfs:subPropertyOf :AMR_ObjectProperty .
+
+:hasRolesetID a owl:ObjectProperty ;
+    rdfs:domain :AMR_Edge ;
+    rdfs:subPropertyOf :AMR_ObjectProperty .
+
+:hasRootLeaf a owl:ObjectProperty ;
+    rdfs:subPropertyOf :AMR_ObjectProperty .
+
+:hasSentenceID a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:hasSentenceStatement a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:hasVariable a owl:ObjectProperty ;
+    rdfs:domain :AMR_Leaf ;
+    rdfs:subPropertyOf :AMR_ObjectProperty .
+
+:label a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:leaf_bind-01_b a :AMR_Leaf ;
+    :edge_b_ARG0_g :leaf_gravitation_g ;
+    :edge_b_ARG1_s :leaf_system_s ;
+    :hasConcept :concept_bind-01 ;
+    :hasVariable :variable_b .
+
+:leaf_hasManner_m9 a :AMR_Leaf ;
+    :edge_m9_ARG0_o2 :leaf_orbit-01_o2 ;
+    :edge_m9_ARG1_o3 :leaf_or_o3 ;
+    :hasConcept :concept_manner ;
+    :hasVariable :variable_m9 ;
+    :isReifiedLeaf true .
+
+:leaf_hasPart_p9 a :AMR_Leaf ;
+    :edge_p9_ARG0_s :leaf_system_s ;
+    :edge_p9_ARG1_a :leaf_and_a ;
+    :hasConcept :concept_part ;
+    :hasVariable :variable_p9 ;
+    :isReifiedLeaf true .
+
+:phenomena_degree a owl:Class ;
+    rdfs:subClassOf :AMR_Phenomena ;
+    :hasConceptLink "have-degree-91" ;
+    :label "degree" .
+
+:relation_domain a owl:Class ;
+    rdfs:subClassOf :AMR_Relation ;
+    :hasReification false ;
+    :hasRelationName "domain" .
+
+:relation_manner a owl:Class ;
+    rdfs:subClassOf :AMR_Relation ;
+    :hasReification true ;
+    :hasReificationConcept "hasManner" ;
+    :hasReificationDomain "ARG1" ;
+    :hasReificationRange "ARG2" ;
+    :hasRelationName "manner" .
+
+:relation_mod a owl:Class ;
+    rdfs:subClassOf :AMR_Relation ;
+    :hasReification false ;
+    :hasRelationName "mod" .
+
+:relation_name a owl:Class ;
+    rdfs:subClassOf :AMR_Relation ;
+    :hasReification false ;
+    :hasRelationName "name" .
+
+:relation_part a owl:Class ;
+    rdfs:subClassOf :AMR_Relation ;
+    :hasReification true ;
+    :hasReificationConcept "hasPart" ;
+    :hasReificationDomain "ARG1" ;
+    :hasReificationRange "ARG2" ;
+    :hasRelationName "part" .
+
+:relation_polarity a owl:Class ;
+    rdfs:subClassOf :AMR_Relation ;
+    :hasReification false ;
+    :hasRelationName "polarity" .
+
+:relation_quant a owl:Class ;
+    rdfs:subClassOf :AMR_Relation ;
+    :hasReification false ;
+    :hasRelationName "quant" .
+
+:role_ARG2 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG2" .
+
+:role_ARG3 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG3" .
+
+:role_ARG4 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG4" .
+
+:role_ARG5 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG5" .
+
+:role_ARG6 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG6" .
+
+:role_ARG7 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG7" .
+
+:role_ARG8 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG8" .
+
+:role_ARG9 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG9" .
+
+:role_have-degree-91 a owl:Class ;
+    rdfs:subClassOf :AMR_Specific_Role ;
+    :getPropertyType <net:specificProperty> .
+
+:role_manner a owl:Class ;
+    rdfs:subClassOf :AMR_NonCore_Role ;
+    :getDirectPropertyName "manner" ;
+    :getPropertyType owl:DataProperty ;
+    :label "manner" ;
+    :toReifyAsConcept "manner" ;
+    :toReifyWithBaseEdge "ARG0" ;
+    :toReifyWithHeadEdge "ARG1" .
+
+:role_mod a owl:Class ;
+    rdfs:subClassOf :AMR_NonCore_Role ;
+    :getDirectPropertyName "hasFeature"^^xsd:string ;
+    :getPropertyType rdfs:subClassOf,
+        owl:ObjectProperty ;
+    :label "mod" ;
+    :toReifyAsConcept "mod" ;
+    :toReifyWithBaseEdge "ARG0" ;
+    :toReifyWithHeadEdge "ARG1" .
+
+:role_op3 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op3" .
+
+:role_op4 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op4" .
+
+:role_op5 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op5" .
+
+:role_op6 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op6" .
+
+:role_op7 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op7" .
+
+:role_op8 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op8" .
+
+:role_op9 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op9" .
+
+:role_part a owl:Class ;
+    rdfs:subClassOf :AMR_NonCore_Role ;
+    :getDirectPropertyName "hasPart"^^xsd:string ;
+    :getInversePropertyName "partOf"^^xsd:string ;
+    :getPropertyType owl:ObjectProperty ;
+    :toReifyAsConcept "part" ;
+    :toReifyWithBaseEdge "ARG0" ;
+    :toReifyWithHeadEdge "ARG1" .
+
+:role_quant a owl:Class ;
+    rdfs:subClassOf :AMR_Specific_Role ;
+    :label "quant" .
+
+:root_SSC-01-01 a :AMR_Root ;
+    :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#root01> ;
+    :hasRootLeaf :leaf_system_s ;
+    :hasSentenceID "SSC-01-01" ;
+    :hasSentenceStatement "The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly." .
+
+:toReifyAsConcept a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :toReify .
+
+:toReifyWithBaseEdge a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :toReify .
+
+:toReifyWithHeadEdge a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :toReify .
+
+<https://tenet.tetras-libre.fr/base-ontology> a owl:Ontology .
+
+sys:Event a owl:Class ;
+    rdfs:subClassOf sys:Out_Structure .
+
+sys:Undetermined_Thing a owl:Class ;
+    rdfs:subClassOf sys:Out_Structure .
+
+sys:fromStructure a owl:AnnotationProperty ;
+    rdfs:subPropertyOf sys:Out_AnnotationProperty .
+
+sys:hasDegree a owl:ObjectProperty ;
+    rdfs:subPropertyOf sys:Out_ObjectProperty .
+
+sys:hasFeature a owl:ObjectProperty ;
+    rdfs:subPropertyOf sys:Out_ObjectProperty .
+
+<https://tenet.tetras-libre.fr/config/parameters> a owl:Ontology .
+
+cprm:Config_Parameters a owl:Class ;
+    cprm:baseURI "https://tenet.tetras-libre.fr/" ;
+    cprm:netURI "https://tenet.tetras-libre.fr/semantic-net#" ;
+    cprm:newClassRef "new-class#" ;
+    cprm:newPropertyRef "new-relation#" ;
+    cprm:objectRef "object_" ;
+    cprm:targetOntologyURI "https://tenet.tetras-libre.fr/base-ontology/" .
+
+cprm:baseURI a rdf:Property ;
+    rdfs:label "Base URI" ;
+    rdfs:domain cprm:Frame ;
+    rdfs:range xsd:string ;
+    rdfs:subPropertyOf cprm:configParamProperty .
+
+cprm:netURI a rdf:Property ;
+    rdfs:label "Net URI" ;
+    rdfs:domain cprm:Frame ;
+    rdfs:range xsd:string ;
+    rdfs:subPropertyOf cprm:configParamProperty .
+
+cprm:newClassRef a rdf:Property ;
+    rdfs:label "Reference for a new class" ;
+    rdfs:subPropertyOf cprm:configParamProperty .
+
+cprm:newPropertyRef a rdf:Property ;
+    rdfs:label "Reference for a new property" ;
+    rdfs:subPropertyOf cprm:configParamProperty .
+
+cprm:objectRef a rdf:Property ;
+    rdfs:label "Object Reference" ;
+    rdfs:subPropertyOf cprm:configParamProperty .
+
+cprm:targetOntologyURI a rdf:Property ;
+    rdfs:label "URI of classes in target ontology" ;
+    rdfs:domain cprm:Frame ;
+    rdfs:range xsd:string ;
+    rdfs:subPropertyOf cprm:configParamProperty .
+
+<https://tenet.tetras-libre.fr/semantic-net> a owl:Ontology .
+
+net:Atom_Property_Net a owl:Class ;
+    rdfs:subClassOf net:Property_Net .
+
+net:Composite_Class_Net a owl:Class ;
+    rdfs:subClassOf net:Class_Net .
+
+net:Composite_Property_Net a owl:Class ;
+    rdfs:subClassOf net:Property_Net .
+
+net:Deprecated_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:Instance a owl:Class ;
+    rdfs:label "Semantic Net Instance" ;
+    rdfs:subClassOf net:Net_Structure .
+
+net:Logical_Set_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:Object a owl:Class ;
+    rdfs:label "Object using in semantic net instance" ;
+    rdfs:subClassOf net:Net_Structure .
+
+net:Phenomena_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:Property_Axiom_Net a owl:Class ;
+    rdfs:subClassOf net:Axiom_Net .
+
+net:Property_Direction a owl:Class ;
+    rdfs:subClassOf net:Feature .
+
+net:Restriction_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:Value_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:abstractionClass a owl:AnnotationProperty ;
+    rdfs:label "abstraction class" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:atom a owl:Class ;
+    rdfs:label "atom" ;
+    rdfs:subClassOf net:Type .
+
+net:atomClass_gravitation_g a net:Atom_Class_Net ;
+    net:coverBaseNode :leaf_gravitation_g ;
+    net:coverNode :leaf_gravitation_g ;
+    net:hasClassName "gravitation" ;
+    net:hasNaming "gravitation" .
+
+net:atomClass_object_o a net:Atom_Class_Net ;
+    net:coverBaseNode :leaf_object_o ;
+    net:coverNode :leaf_object_o ;
+    net:hasClassName "object" ;
+    net:hasNaming "object" .
+
+net:atomClass_sun_s2 a net:Atom_Class_Net ;
+    net:coverBaseNode :leaf_sun_s2 ;
+    net:coverNode :leaf_sun_s2 ;
+    net:hasClassName "sun" ;
+    net:hasNaming "sun" .
+
+net:atomClass_system_s a net:Atom_Class_Net ;
+    :role_domain net:atomClass_system_p,
+        net:individual_system_p ;
+    net:coverBaseNode :leaf_system_s ;
+    net:coverNode :leaf_system_s ;
+    net:hasClassName "system" ;
+    net:hasNaming "system" .
+
+net:atomOf a owl:AnnotationProperty ;
+    rdfs:label "atom of" ;
+    rdfs:subPropertyOf net:typeProperty .
+
+net:atomType a owl:AnnotationProperty ;
+    rdfs:label "atom type" ;
+    rdfs:subPropertyOf net:objectType .
+
+net:class a owl:Class ;
+    rdfs:label "class" ;
+    rdfs:subClassOf net:Type .
+
+net:composite a owl:Class ;
+    rdfs:label "composite" ;
+    rdfs:subClassOf net:Type .
+
+net:conjunctive_list a owl:Class ;
+    rdfs:label "conjunctive-list" ;
+    rdfs:subClassOf net:list .
+
+net:disjunctive_list a owl:Class ;
+    rdfs:label "disjunctive-list" ;
+    rdfs:subClassOf net:list .
+
+net:entityClass a owl:AnnotationProperty ;
+    rdfs:label "entity class" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:entity_class_list a owl:Class ;
+    rdfs:label "entityClassList" ;
+    rdfs:subClassOf net:class_list .
+
+net:event a owl:Class ;
+    rdfs:label "event" ;
+    rdfs:subClassOf net:Type .
+
+net:featureClass a owl:AnnotationProperty ;
+    rdfs:label "feature class" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_atom a owl:AnnotationProperty ;
+    rdfs:label "has atom" ;
+    rdfs:subPropertyOf net:has_object .
+
+net:has_class a owl:AnnotationProperty ;
+    rdfs:label "is class" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_class_name a owl:AnnotationProperty ;
+    rdfs:subPropertyOf net:has_value .
+
+net:has_class_uri a owl:AnnotationProperty ;
+    rdfs:label "class uri" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_concept a owl:AnnotationProperty ;
+    rdfs:label "concept "@fr ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_entity a owl:AnnotationProperty ;
+    rdfs:label "has entity" ;
+    rdfs:subPropertyOf net:has_object .
+
+net:has_feature a owl:AnnotationProperty ;
+    rdfs:label "has feature" ;
+    rdfs:subPropertyOf net:has_object .
+
+net:has_instance a owl:AnnotationProperty ;
+    rdfs:label "entity instance" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_instance_uri a owl:AnnotationProperty ;
+    rdfs:label "instance uri" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_item a owl:AnnotationProperty ;
+    rdfs:label "has item" ;
+    rdfs:subPropertyOf net:has_object .
+
+net:has_mother_class a owl:AnnotationProperty ;
+    rdfs:label "has mother class" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_mother_class_uri a owl:AnnotationProperty ;
+    rdfs:label "parent class uri" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_node a owl:AnnotationProperty ;
+    rdfs:label "UNL Node" ;
+    rdfs:subPropertyOf net:netProperty .
+
+net:has_parent a owl:AnnotationProperty ;
+    rdfs:label "has parent" ;
+    rdfs:subPropertyOf net:has_object .
+
+net:has_parent_class a owl:AnnotationProperty ;
+    rdfs:label "parent class" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_parent_class_uri a owl:AnnotationProperty ;
+    rdfs:label "parent class uri" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_possible_domain a owl:AnnotationProperty ;
+    rdfs:label "has possible domain" ;
+    rdfs:subPropertyOf net:has_object .
+
+net:has_possible_range a owl:AnnotationProperty ;
+    rdfs:label "has possible range" ;
+    rdfs:subPropertyOf net:has_object .
+
+net:has_relation a owl:AnnotationProperty ;
+    rdfs:label "has relation" ;
+    rdfs:subPropertyOf net:has_relation_value .
+
+net:has_source a owl:AnnotationProperty ;
+    rdfs:label "has source" ;
+    rdfs:subPropertyOf net:has_relation_value .
+
+net:has_structure a owl:AnnotationProperty ;
+    rdfs:label "Linguistic Structure (in UNL Document)" ;
+    rdfs:subPropertyOf net:netProperty .
+
+net:has_target a owl:AnnotationProperty ;
+    rdfs:label "has target" ;
+    rdfs:subPropertyOf net:has_relation_value .
+
+net:inverse_direction a owl:NamedIndividual .
+
+net:listBy a owl:AnnotationProperty ;
+    rdfs:label "list by" ;
+    rdfs:subPropertyOf net:typeProperty .
+
+net:listGuiding a owl:AnnotationProperty ;
+    rdfs:label "Guiding connector of a list (or, and)" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:listOf a owl:AnnotationProperty ;
+    rdfs:label "list of" ;
+    rdfs:subPropertyOf net:typeProperty .
+
+net:modCat1 a owl:AnnotationProperty ;
+    rdfs:label "Modality Category (level 1)" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:modCat2 a owl:AnnotationProperty ;
+    rdfs:label "Modality Category (level 2)" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:normal_direction a owl:NamedIndividual .
+
+net:relation a owl:Class ;
+    rdfs:label "relation" ;
+    rdfs:subClassOf net:Type .
+
+net:relationOf a owl:AnnotationProperty ;
+    rdfs:label "relation of" ;
+    rdfs:subPropertyOf net:typeProperty .
+
+net:state_property a owl:Class ;
+    rdfs:label "stateProperty" ;
+    rdfs:subClassOf net:Type .
+
+net:type a owl:AnnotationProperty ;
+    rdfs:label "type "@fr ;
+    rdfs:subPropertyOf net:netProperty .
+
+net:unary_list a owl:Class ;
+    rdfs:label "unary-list" ;
+    rdfs:subClassOf net:list .
+
+net:verbClass a owl:AnnotationProperty ;
+    rdfs:label "verb class" ;
+    rdfs:subPropertyOf net:objectValue .
+
+<http://amr.isi.edu/amr_data/SSC-01-01#b> a ns3:bind-01 ;
+    ns3:bind-01.ARG0 <http://amr.isi.edu/amr_data/SSC-01-01#g> ;
+    ns3:bind-01.ARG1 <http://amr.isi.edu/amr_data/SSC-01-01#s> ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+<http://amr.isi.edu/amr_data/SSC-01-01#o2> a ns3:orbit-01 ;
+    ns3:orbit-01.ARG0 <http://amr.isi.edu/amr_data/SSC-01-01#o> ;
+    ns3:orbit-01.ARG1 <http://amr.isi.edu/amr_data/SSC-01-01#s2> ;
+    ns11:manner <http://amr.isi.edu/amr_data/SSC-01-01#o3> ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+<http://amr.isi.edu/amr_data/SSC-01-01#root01> a ns2:AMR ;
+    ns2:has-id "SSC-01-01" ;
+    ns2:has-sentence "The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly." ;
+    ns2:root <http://amr.isi.edu/amr_data/SSC-01-01#s> .
+
+<http://amr.isi.edu/amr_data/test-1#s> ns11:domain <http://amr.isi.edu/amr_data/test-1#s2> .
+
+<http://amr.isi.edu/amr_data/test-2#p> rdfs:label "Earth" .
+
+ns4:planet a ns2:NamedEntity ;
+    rdfs:comment "bug" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns2:AMR a owl:Class ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+:AMR_Root a owl:Class ;
+    rdfs:subClassOf :AMR_Structure .
+
+:concept_and rdfs:subClassOf :AMR_Relation_Concept ;
+    :fromAmrLk ns2:and ;
+    :hasPhenomenaLink :phenomena_conjunction_and ;
+    :label "and" .
+
+:concept_bind-01 rdfs:subClassOf :AMR_Predicat_Concept ;
+    :fromAmrLk ns3:bind-01 ;
+    :label "bind-01" .
+
+:concept_gravitation rdfs:subClassOf :AMR_Term_Concept ;
+    :fromAmrLk ns11:gravitation ;
+    :label "gravitation" .
+
+:concept_manner rdfs:subClassOf :AMR_Predicat_Concept ;
+    :fromAmrLk ns11:manner ;
+    :isReifiedConcept true ;
+    :label "hasManner" .
+
+:concept_object rdfs:subClassOf :AMR_Term_Concept ;
+    :fromAmrLk ns11:object ;
+    :label "object" .
+
+:concept_or rdfs:subClassOf :AMR_Relation_Concept ;
+    :fromAmrLk ns2:or ;
+    :hasPhenomenaLink :phenomena_conjunction_or ;
+    :label "or" .
+
+:concept_orbit-01 rdfs:subClassOf :AMR_Predicat_Concept ;
+    :fromAmrLk ns3:orbit-01 ;
+    :label "orbit-01" .
+
+:concept_part rdfs:subClassOf :AMR_Predicat_Concept ;
+    :fromAmrLk ns11:part ;
+    :isReifiedConcept true ;
+    :label "hasPart" .
+
+:concept_sun rdfs:subClassOf :AMR_Term_Concept ;
+    :fromAmrLk ns11:sun ;
+    :label "sun" .
+
+:leaf_and_a a :AMR_Leaf ;
+    :edge_a_op1_s2 :leaf_sun_s2 ;
+    :edge_a_op2_o :leaf_object_o ;
+    :hasConcept :concept_and ;
+    :hasVariable :variable_a .
+
+:leaf_direct-02_d a :AMR_Leaf ;
+    :hasConcept :concept_direct-02 ;
+    :hasVariable :variable_d .
+
+:leaf_direct-02_d2 a :AMR_Leaf ;
+    :edge_d2_polarity_negative :value_negative ;
+    :hasConcept :concept_direct-02 ;
+    :hasVariable :variable_d2 .
+
+:leaf_or_o3 a :AMR_Leaf ;
+    :edge_o3_op1_d :leaf_direct-02_d ;
+    :edge_o3_op2_d2 :leaf_direct-02_d2 ;
+    :hasConcept :concept_or ;
+    :hasVariable :variable_o3 .
+
+:leaf_orbit-01_o2 a :AMR_Leaf ;
+    :edge_o2_ARG0_o :leaf_object_o ;
+    :edge_o2_ARG1_s2 :leaf_sun_s2 ;
+    :hasConcept :concept_orbit-01 ;
+    :hasVariable :variable_o2 .
+
+:phenomena_conjunction_and a owl:Class ;
+    rdfs:subClassOf :phenomena_conjunction ;
+    :hasConceptLink "and" ;
+    :label "conjunction-AND" .
+
+:phenomena_conjunction_or a owl:Class ;
+    rdfs:subClassOf :phenomena_conjunction ;
+    :hasConceptLink "or" ;
+    :label "conjunction-OR" .
+
+:role_domain a owl:Class,
+        net:Relation ;
+    rdfs:subClassOf :AMR_NonCore_Role ;
+    :hasRelationName "domain" ;
+    :label "domain" ;
+    :toReifyAsConcept "domain" ;
+    :toReifyWithBaseEdge "ARG0" ;
+    :toReifyWithHeadEdge "ARG1" .
+
+:role_name a owl:Class ;
+    rdfs:subClassOf :AMR_NonCore_Role ;
+    :label "name" .
+
+:role_polarity a owl:Class ;
+    rdfs:subClassOf :AMR_Specific_Role ;
+    :label "polarity" .
+
+:value_SolarSystem a :AMR_Value ;
+    rdfs:label "Solar System" .
+
+:value_negative a :AMR_Value ;
+    rdfs:label "negative" .
+
+:variable_a a :AMR_Variable ;
+    :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#a> ;
+    :label "a" .
+
+:variable_b a :AMR_Variable ;
+    :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#b> ;
+    :label "b" .
+
+:variable_d a :AMR_Variable ;
+    :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#d> ;
+    :label "d" .
+
+:variable_d2 a :AMR_Variable ;
+    :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#d2> ;
+    :label "d2" .
+
+:variable_g a :AMR_Variable ;
+    :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#g> ;
+    :label "g" .
+
+:variable_m9 a ns11:manner,
+        :AMR_Variable ;
+    :isReifiedVariable true ;
+    :label "m9" .
+
+:variable_o a :AMR_Variable ;
+    :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#o> ;
+    :label "o" .
+
+:variable_o2 a :AMR_Variable ;
+    :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#o2> ;
+    :label "o2" .
+
+:variable_o3 a :AMR_Variable ;
+    :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#o3> ;
+    :label "o3" .
+
+:variable_p a :AMR_Variable ;
+    :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#p> ;
+    :label "p" ;
+    :name "Solar System" .
+
+:variable_p9 a ns11:part,
+        :AMR_Variable ;
+    :isReifiedVariable true ;
+    :label "p9" .
+
+:variable_s a :AMR_Variable ;
+    :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#s> ;
+    :label "s" .
+
+:variable_s2 a :AMR_Variable ;
+    :fromAmrLk <http://amr.isi.edu/amr_data/SSC-01-01#s2> ;
+    :label "s2" .
+
+sys:Degree a owl:Class ;
+    rdfs:subClassOf sys:Out_Structure .
+
+sys:Entity a owl:Class ;
+    rdfs:subClassOf sys:Out_Structure .
+
+sys:Feature a owl:Class ;
+    rdfs:subClassOf sys:Out_Structure .
+
+sys:Out_AnnotationProperty a owl:AnnotationProperty .
+
+net:Axiom_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:Feature a owl:Class ;
+    rdfs:subClassOf net:Net_Structure .
+
+net:Individual_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:Relation a owl:Class ;
+    rdfs:subClassOf net:Net_Structure .
+
+net:class_list a owl:Class ;
+    rdfs:label "classList" ;
+    rdfs:subClassOf net:Type .
+
+net:has_value a owl:AnnotationProperty ;
+    rdfs:subPropertyOf net:netProperty .
+
+net:individual_system_p a net:Individual_Net ;
+    net:coverBaseNode :leaf_system_p ;
+    net:coverNode :leaf_system_p ;
+    net:hasIndividualLabel "Solar System" ;
+    net:hasMotherClassNet net:atomClass_system_p ;
+    net:hasNaming "system" .
+
+net:objectType a owl:AnnotationProperty ;
+    rdfs:label "object type" ;
+    rdfs:subPropertyOf net:objectProperty .
+
+<http://amr.isi.edu/amr_data/SSC-01-01#a> a ns2:and ;
+    ns11:op1 <http://amr.isi.edu/amr_data/SSC-01-01#s2> ;
+    ns11:op2 <http://amr.isi.edu/amr_data/SSC-01-01#o> ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+<http://amr.isi.edu/amr_data/SSC-01-01#d> a ns3:direct-02 ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+<http://amr.isi.edu/amr_data/SSC-01-01#d2> a ns3:direct-02 ;
+    ns11:polarity "-" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+<http://amr.isi.edu/amr_data/SSC-01-01#g> a ns11:gravitation ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+<http://amr.isi.edu/amr_data/SSC-01-01#o3> a ns2:or ;
+    ns11:op1 <http://amr.isi.edu/amr_data/SSC-01-01#d> ;
+    ns11:op2 <http://amr.isi.edu/amr_data/SSC-01-01#d2> ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+<http://amr.isi.edu/amr_data/SSC-01-01#p> a ns4:planet,
+        ns4:system ;
+    rdfs:label "Solar System" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns4:system a ns2:NamedEntity ;
+    rdfs:label "system" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns3:bind-01 a ns2:Frame ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns3:orbit-01 a ns2:Frame ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns11:gravitation a ns2:Concept ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns11:manner a ns2:Role ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns11:object a ns2:Concept ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns11:part a ns2:Role ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns11:sun a ns2:Concept ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns11:system a ns2:Concept ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns2:NamedEntity a ns2:Concept,
+        owl:Class,
+        owl:NamedIndividual ;
+    rdfs:label "AMR-EntityType",
+        "AMR-Term" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns2:and a ns2:Concept ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns2:or a ns2:Concept ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+:AMR_Phenomena a owl:Class ;
+    rdfs:subClassOf :AMR_Structure .
+
+:AMR_Relation_Concept a owl:Class ;
+    rdfs:subClassOf :AMR_Concept .
+
+:AMR_Value a owl:Class ;
+    rdfs:subClassOf :AMR_Element .
+
+:concept_direct-02 rdfs:subClassOf :AMR_Predicat_Concept ;
+    :fromAmrLk ns3:direct-02 ;
+    :label "direct-02" .
+
+:concept_system rdfs:subClassOf :AMR_Term_Concept ;
+    :fromAmrLk ns4:system,
+        ns11:system ;
+    :label "system" .
+
+:hasLink a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:phenomena_conjunction a owl:Class ;
+    rdfs:subClassOf :AMR_Phenomena ;
+    :hasConceptLink "contrast-01",
+        "either",
+        "neither" ;
+    :label "conjunction" .
+
+:role_op1 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op1" .
+
+:role_op2 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op2" .
+
+sys:Out_ObjectProperty a owl:ObjectProperty .
+
+net:Class_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:Property_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:atomClass_system_p a net:Atom_Class_Net ;
+    net:coverBaseNode :leaf_system_p ;
+    net:coverNode :leaf_system_p ;
+    net:hasClassName "system" ;
+    net:hasNaming "system" .
+
+net:objectProperty a owl:AnnotationProperty ;
+    rdfs:label "object attribute" .
+
+<http://amr.isi.edu/amr_data/SSC-01-01#o> a ns11:object ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+<http://amr.isi.edu/amr_data/SSC-01-01#s> a ns11:system ;
+    ns11:domain <http://amr.isi.edu/amr_data/SSC-01-01#p> ;
+    ns11:part <http://amr.isi.edu/amr_data/SSC-01-01#a> ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+<http://amr.isi.edu/amr_data/SSC-01-01#s2> a ns11:sun ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns3:direct-02 a ns2:Frame ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns2:Frame a ns2:Concept,
+        owl:Class,
+        owl:NamedIndividual ;
+    rdfs:label "AMR-PropBank-Frame" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+:AMR_Concept a owl:Class ;
+    rdfs:subClassOf :AMR_Element .
+
+:AMR_Specific_Role a owl:Class ;
+    rdfs:subClassOf :AMR_Role .
+
+:fromAmrLk a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:getProperty a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:hasReificationDefinition a owl:AnnotationProperty ;
+    rdfs:range rdfs:Literal ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:leaf_gravitation_g a :AMR_Leaf ;
+    :hasConcept :concept_gravitation ;
+    :hasVariable :variable_g .
+
+:toReify a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+net:has_relation_value a owl:AnnotationProperty ;
+    rdfs:label "has relation value" ;
+    rdfs:subPropertyOf net:has_object .
+
+net:list a owl:Class ;
+    rdfs:label "list" ;
+    rdfs:subClassOf net:Type .
+
+ns3:FrameRole a ns2:Role,
+        owl:Class,
+        owl:NamedIndividual ;
+    rdfs:label "AMR-PropBank-Role" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+:AMR_Element a owl:Class ;
+    rdfs:subClassOf :AMR_Structure .
+
+:AMR_Term_Concept a owl:Class ;
+    rdfs:subClassOf :AMR_Concept .
+
+:leaf_object_o a :AMR_Leaf ;
+    :hasConcept :concept_object ;
+    :hasVariable :variable_o .
+
+:leaf_sun_s2 a :AMR_Leaf ;
+    :hasConcept :concept_sun ;
+    :hasVariable :variable_s2 .
+
+:role_ARG0 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG0" .
+
+:role_ARG1 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG1" .
+
+net:typeProperty a owl:AnnotationProperty ;
+    rdfs:label "type property" .
+
+:AMR_NonCore_Role a owl:Class ;
+    rdfs:subClassOf :AMR_Role .
+
+:AMR_Predicat_Concept a owl:Class ;
+    rdfs:subClassOf :AMR_Concept .
+
+:AMR_Role a owl:Class ;
+    rdfs:subClassOf :AMR_Element .
+
+:leaf_system_p a :AMR_Leaf ;
+    :edge_p_name_SolarSystem :value_SolarSystem ;
+    :hasConcept :concept_system ;
+    :hasVariable :variable_p .
+
+:leaf_system_s a :AMR_Leaf ;
+    :edge_s_domain_p :leaf_system_p ;
+    :hasConcept :concept_system ;
+    :hasVariable :variable_s .
+
+sys:Out_Structure a owl:Class ;
+    rdfs:label "Output Ontology Structure" .
+
+net:Atom_Class_Net a owl:Class ;
+    rdfs:subClassOf net:Class_Net .
+
+net:netProperty a owl:AnnotationProperty ;
+    rdfs:label "netProperty" .
+
+:AMR_ObjectProperty a owl:ObjectProperty ;
+    rdfs:subPropertyOf owl:topObjectProperty .
+
+:AMR_Structure a owl:Class .
+
+cprm:configParamProperty a rdf:Property ;
+    rdfs:label "Config Parameter Property" .
+
+net:Net_Structure a owl:Class ;
+    rdfs:label "Semantic Net Structure" ;
+    rdfs:comment "A semantic net captures a set of nodes, and associates this set with type(s) and value(s)." .
+
+rdf:Property a owl:Class .
+
+:AMR_Relation a owl:Class ;
+    rdfs:subClassOf :AMR_Structure .
+
+net:Type a owl:Class ;
+    rdfs:label "Semantic Net Type" ;
+    rdfs:subClassOf net:Net_Structure .
+
+net:has_object a owl:AnnotationProperty ;
+    rdfs:label "relation" ;
+    rdfs:subPropertyOf net:netProperty .
+
+:AMR_Op_Role a owl:Class ;
+    rdfs:subClassOf :AMR_Role .
+
+net:Net a owl:Class ;
+    rdfs:subClassOf net:Net_Structure .
+
+:AMR_AnnotationProperty a owl:AnnotationProperty .
+
+:AMR_Core_Role a owl:Class ;
+    rdfs:subClassOf :AMR_Role .
+
+:AMR_Variable a owl:Class ;
+    rdfs:subClassOf :AMR_Element .
+
+:AMR_Leaf a owl:Class ;
+    rdfs:subClassOf :AMR_Structure .
+
+net:objectValue a owl:AnnotationProperty ;
+    rdfs:label "valuations"@fr ;
+    rdfs:subPropertyOf net:objectProperty .
+
+:AMR_Edge a owl:Class ;
+    rdfs:subClassOf :AMR_Structure .
+
+:AMR_Linked_Data a owl:Class .
+
+[] a owl:AllDisjointClasses ;
+    owl:members ( sys:Degree sys:Entity sys:Feature ) .
+
diff --git a/tests/dev_tests/test_data/atom-extraction-devGraph-3.result.ttl b/tests/dev_tests/test_data/atom-extraction-devGraph-3.result.ttl
new file mode 100644
index 0000000000000000000000000000000000000000..3de036c859229bb93d82511684aca1dbe6a30d83
--- /dev/null
+++ b/tests/dev_tests/test_data/atom-extraction-devGraph-3.result.ttl
@@ -0,0 +1,923 @@
+@base <https://amr.tetras-libre.fr/rdf/atom-extraction-devGraph-3/result> .
+@prefix : <https://amr.tetras-libre.fr/rdf/schema#> .
+@prefix cprm: <https://tenet.tetras-libre.fr/config/parameters#> .
+@prefix net: <https://tenet.tetras-libre.fr/semantic-net#> .
+@prefix ns11: <http://amr.isi.edu/rdf/core-amr#> .
+@prefix ns2: <http://amr.isi.edu/rdf/amr-terms#> .
+@prefix ns3: <http://amr.isi.edu/frames/ld/v1.2.2/> .
+@prefix ns4: <http://amr.isi.edu/entity-types#> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix sys: <https://tenet.tetras-libre.fr/base-ontology#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+ns11:Concept a rdfs:Class,
+        owl:Class ;
+    rdfs:label "AMR-Concept" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns11:Role a rdfs:Class,
+        owl:Class ;
+    rdfs:label "AMR-Role" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+<http://amr.isi.edu/amr_data/test-1#root01> ns11:hasID "test-1" ;
+    ns11:hasSentence "The sun is a star." ;
+    ns11:root <http://amr.isi.edu/amr_data/test-1#s> .
+
+<http://amr.isi.edu/amr_data/test-2#root01> ns11:hasID "test-2" ;
+    ns11:hasSentence "Earth is a planet." ;
+    ns11:root <http://amr.isi.edu/amr_data/test-2#p> .
+
+ns3:allow-01.ARG1 a ns3:FrameRole .
+
+ns3:play-01.ARG0 a ns3:FrameRole .
+
+ns3:play-01.ARG1 a ns3:FrameRole .
+
+ns2:domain a ns11:Role,
+        owl:AnnotationProperty,
+        owl:NamedIndividual .
+
+ns11:hasID a owl:AnnotationProperty .
+
+ns11:hasSentence a owl:AnnotationProperty .
+
+ns11:root a owl:AnnotationProperty .
+
+<https://amr.tetras-libre.fr/rdf/schema> a owl:Ontology ;
+    owl:versionIRI :0.1 .
+
+:AMR_DataProperty a owl:DatatypeProperty .
+
+:AMR_Prep_Role a owl:Class ;
+    rdfs:subClassOf :AMR_Role .
+
+:edge_a_ARG1_p a :AMR_Edge ;
+    :hasAmrRole :role_ARG1 ;
+    :hasRoleID "ARG1" .
+
+:edge_a_polarity_negative a :AMR_Edge ;
+    :hasAmrRole :role_polarity ;
+    :hasRoleID "polarity" .
+
+:edge_p2_name_John a :AMR_Edge ;
+    :hasAmrRole :role_name ;
+    :hasRoleID "name" .
+
+:edge_p_ARG0_p2 a :AMR_Edge ;
+    :hasAmrRole :role_ARG0 ;
+    :hasRoleID "ARG0" .
+
+:edge_p_ARG1_m a :AMR_Edge ;
+    :hasAmrRole :role_ARG1 ;
+    :hasRoleID "ARG1" .
+
+:fromAmrLkFramerole a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :fromAmrLk .
+
+:fromAmrLkRole a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :fromAmrLk .
+
+:fromAmrLkRoot a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :fromAmrLk .
+
+:getDirectPropertyName a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :getProperty .
+
+:getInversePropertyName a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :getProperty .
+
+:getPropertyType a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :getProperty .
+
+:hasConcept a owl:ObjectProperty ;
+    rdfs:domain :AMR_Leaf ;
+    rdfs:subPropertyOf :AMR_ObjectProperty .
+
+:hasConceptLink a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :hasLink .
+
+:hasEdgeLink a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :hasLink .
+
+:hasReification a owl:AnnotationProperty ;
+    rdfs:range xsd:boolean ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:hasReificationConcept a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :hasReificationDefinition .
+
+:hasReificationDomain a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :hasReificationDefinition .
+
+:hasReificationRange a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :hasReificationDefinition .
+
+:hasRelationName a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:hasRoleID a owl:ObjectProperty ;
+    rdfs:domain :AMR_Edge ;
+    rdfs:subPropertyOf :AMR_ObjectProperty .
+
+:hasRoleTag a owl:ObjectProperty ;
+    rdfs:domain :AMR_Edge ;
+    rdfs:subPropertyOf :AMR_ObjectProperty .
+
+:hasRolesetID a owl:ObjectProperty ;
+    rdfs:domain :AMR_Edge ;
+    rdfs:subPropertyOf :AMR_ObjectProperty .
+
+:hasRootLeaf a owl:ObjectProperty ;
+    rdfs:subPropertyOf :AMR_ObjectProperty .
+
+:hasSentenceID a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:hasSentenceStatement a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:hasVariable a owl:ObjectProperty ;
+    rdfs:domain :AMR_Leaf ;
+    rdfs:subPropertyOf :AMR_ObjectProperty .
+
+:label a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:phenomena_conjunction_and a owl:Class ;
+    rdfs:subClassOf :phenomena_conjunction ;
+    :hasConceptLink "and" ;
+    :label "conjunction-AND" .
+
+:phenomena_conjunction_or a owl:Class ;
+    rdfs:subClassOf :phenomena_conjunction ;
+    :hasConceptLink "or" ;
+    :label "conjunction-OR" .
+
+:phenomena_degree a owl:Class ;
+    rdfs:subClassOf :AMR_Phenomena ;
+    :hasConceptLink "have-degree-91" ;
+    :label "degree" .
+
+:phenomena_modality_obligation a owl:Class ;
+    rdfs:subClassOf :phenomena_modality ;
+    :hasConceptLink "obligate-01" ;
+    :label "obligation-modality" .
+
+:phenomena_modality_prohibition a owl:Class ;
+    rdfs:subClassOf :phenomena_modality ;
+    :label "prohibition-modality" .
+
+:relation_domain a owl:Class ;
+    rdfs:subClassOf :AMR_Relation ;
+    :hasReification false ;
+    :hasRelationName "domain" .
+
+:relation_manner a owl:Class ;
+    rdfs:subClassOf :AMR_Relation ;
+    :hasReification true ;
+    :hasReificationConcept "hasManner" ;
+    :hasReificationDomain "ARG1" ;
+    :hasReificationRange "ARG2" ;
+    :hasRelationName "manner" .
+
+:relation_mod a owl:Class ;
+    rdfs:subClassOf :AMR_Relation ;
+    :hasReification false ;
+    :hasRelationName "mod" .
+
+:relation_name a owl:Class ;
+    rdfs:subClassOf :AMR_Relation ;
+    :hasReification false ;
+    :hasRelationName "name" .
+
+:relation_part a owl:Class ;
+    rdfs:subClassOf :AMR_Relation ;
+    :hasReification true ;
+    :hasReificationConcept "hasPart" ;
+    :hasReificationDomain "ARG1" ;
+    :hasReificationRange "ARG2" ;
+    :hasRelationName "part" .
+
+:relation_polarity a owl:Class ;
+    rdfs:subClassOf :AMR_Relation ;
+    :hasReification false ;
+    :hasRelationName "polarity" .
+
+:relation_quant a owl:Class ;
+    rdfs:subClassOf :AMR_Relation ;
+    :hasReification false ;
+    :hasRelationName "quant" .
+
+:role_ARG2 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG2" .
+
+:role_ARG3 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG3" .
+
+:role_ARG4 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG4" .
+
+:role_ARG5 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG5" .
+
+:role_ARG6 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG6" .
+
+:role_ARG7 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG7" .
+
+:role_ARG8 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG8" .
+
+:role_ARG9 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG9" .
+
+:role_domain a owl:Class ;
+    rdfs:subClassOf :AMR_NonCore_Role ;
+    :hasRelationName "domain" ;
+    :label "domain" ;
+    :toReifyAsConcept "domain" ;
+    :toReifyWithBaseEdge "ARG0" ;
+    :toReifyWithHeadEdge "ARG1" .
+
+:role_have-degree-91 a owl:Class ;
+    rdfs:subClassOf :AMR_Specific_Role ;
+    :getPropertyType <net:specificProperty> .
+
+:role_manner a owl:Class ;
+    rdfs:subClassOf :AMR_NonCore_Role ;
+    :getDirectPropertyName "manner" ;
+    :getPropertyType owl:DataProperty ;
+    :label "manner" ;
+    :toReifyAsConcept "manner" ;
+    :toReifyWithBaseEdge "ARG0" ;
+    :toReifyWithHeadEdge "ARG1" .
+
+:role_mod a owl:Class ;
+    rdfs:subClassOf :AMR_NonCore_Role ;
+    :getDirectPropertyName "hasFeature"^^xsd:string ;
+    :getPropertyType rdfs:subClassOf,
+        owl:ObjectProperty ;
+    :label "mod" ;
+    :toReifyAsConcept "mod" ;
+    :toReifyWithBaseEdge "ARG0" ;
+    :toReifyWithHeadEdge "ARG1" .
+
+:role_op1 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op1" .
+
+:role_op2 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op2" .
+
+:role_op3 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op3" .
+
+:role_op4 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op4" .
+
+:role_op5 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op5" .
+
+:role_op6 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op6" .
+
+:role_op7 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op7" .
+
+:role_op8 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op8" .
+
+:role_op9 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op9" .
+
+:role_part a owl:Class ;
+    rdfs:subClassOf :AMR_NonCore_Role ;
+    :getDirectPropertyName "hasPart"^^xsd:string ;
+    :getInversePropertyName "partOf"^^xsd:string ;
+    :getPropertyType owl:ObjectProperty ;
+    :toReifyAsConcept "part" ;
+    :toReifyWithBaseEdge "ARG0" ;
+    :toReifyWithHeadEdge "ARG1" .
+
+:role_quant a owl:Class ;
+    rdfs:subClassOf :AMR_Specific_Role ;
+    :label "quant" .
+
+:root_document-03 a :AMR_Root ;
+    :fromAmrLk <http://amr.isi.edu/amr_data/document-03#root01> ;
+    :hasRootLeaf :leaf_allow-01_a ;
+    :hasSentenceID "document-03" ;
+    :hasSentenceStatement "John is not allowed to play the movie.." .
+
+:toReifyAsConcept a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :toReify .
+
+:toReifyWithBaseEdge a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :toReify .
+
+:toReifyWithHeadEdge a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :toReify .
+
+<https://tenet.tetras-libre.fr/base-ontology> a owl:Ontology .
+
+sys:Event a owl:Class ;
+    rdfs:subClassOf sys:Out_Structure .
+
+sys:Undetermined_Thing a owl:Class ;
+    rdfs:subClassOf sys:Out_Structure .
+
+sys:fromStructure a owl:AnnotationProperty ;
+    rdfs:subPropertyOf sys:Out_AnnotationProperty .
+
+sys:hasDegree a owl:ObjectProperty ;
+    rdfs:subPropertyOf sys:Out_ObjectProperty .
+
+sys:hasFeature a owl:ObjectProperty ;
+    rdfs:subPropertyOf sys:Out_ObjectProperty .
+
+<https://tenet.tetras-libre.fr/config/parameters> a owl:Ontology .
+
+cprm:Config_Parameters a owl:Class ;
+    cprm:baseURI "https://tenet.tetras-libre.fr/" ;
+    cprm:netURI "https://tenet.tetras-libre.fr/semantic-net#" ;
+    cprm:newClassRef "new-class#" ;
+    cprm:newPropertyRef "new-relation#" ;
+    cprm:objectRef "object_" ;
+    cprm:targetOntologyURI "https://tenet.tetras-libre.fr/base-ontology/" .
+
+cprm:baseURI a rdf:Property ;
+    rdfs:label "Base URI" ;
+    rdfs:domain cprm:Frame ;
+    rdfs:range xsd:string ;
+    rdfs:subPropertyOf cprm:configParamProperty .
+
+cprm:netURI a rdf:Property ;
+    rdfs:label "Net URI" ;
+    rdfs:domain cprm:Frame ;
+    rdfs:range xsd:string ;
+    rdfs:subPropertyOf cprm:configParamProperty .
+
+cprm:newClassRef a rdf:Property ;
+    rdfs:label "Reference for a new class" ;
+    rdfs:subPropertyOf cprm:configParamProperty .
+
+cprm:newPropertyRef a rdf:Property ;
+    rdfs:label "Reference for a new property" ;
+    rdfs:subPropertyOf cprm:configParamProperty .
+
+cprm:objectRef a rdf:Property ;
+    rdfs:label "Object Reference" ;
+    rdfs:subPropertyOf cprm:configParamProperty .
+
+cprm:targetOntologyURI a rdf:Property ;
+    rdfs:label "URI of classes in target ontology" ;
+    rdfs:domain cprm:Frame ;
+    rdfs:range xsd:string ;
+    rdfs:subPropertyOf cprm:configParamProperty .
+
+<https://tenet.tetras-libre.fr/semantic-net> a owl:Ontology .
+
+net:Action_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:Composite_Class_Net a owl:Class ;
+    rdfs:subClassOf net:Class_Net .
+
+net:Composite_Property_Net a owl:Class ;
+    rdfs:subClassOf net:Property_Net .
+
+net:Deprecated_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:Feature a owl:Class ;
+    rdfs:subClassOf net:Net_Structure .
+
+net:Rule_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:abstractionClass a owl:AnnotationProperty ;
+    rdfs:label "abstraction class" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:atomType a owl:AnnotationProperty ;
+    rdfs:label "atom type" ;
+    rdfs:subPropertyOf net:objectType .
+
+net:entityClass a owl:AnnotationProperty ;
+    rdfs:label "entity class" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:featureClass a owl:AnnotationProperty ;
+    rdfs:label "feature class" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_atom a owl:AnnotationProperty ;
+    rdfs:label "has atom" ;
+    rdfs:subPropertyOf net:has_object .
+
+net:has_class a owl:AnnotationProperty ;
+    rdfs:label "is class" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_class_name a owl:AnnotationProperty ;
+    rdfs:subPropertyOf net:has_value .
+
+net:has_class_uri a owl:AnnotationProperty ;
+    rdfs:label "class uri" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_concept a owl:AnnotationProperty ;
+    rdfs:label "concept "@fr ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_entity a owl:AnnotationProperty ;
+    rdfs:label "has entity" ;
+    rdfs:subPropertyOf net:has_object .
+
+net:has_feature a owl:AnnotationProperty ;
+    rdfs:label "has feature" ;
+    rdfs:subPropertyOf net:has_object .
+
+net:has_instance a owl:AnnotationProperty ;
+    rdfs:label "entity instance" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_instance_uri a owl:AnnotationProperty ;
+    rdfs:label "instance uri" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_item a owl:AnnotationProperty ;
+    rdfs:label "has item" ;
+    rdfs:subPropertyOf net:has_object .
+
+net:has_mother_class a owl:AnnotationProperty ;
+    rdfs:label "has mother class" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_mother_class_uri a owl:AnnotationProperty ;
+    rdfs:label "parent class uri" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_node a owl:AnnotationProperty ;
+    rdfs:label "UNL Node" ;
+    rdfs:subPropertyOf net:netProperty .
+
+net:has_parent a owl:AnnotationProperty ;
+    rdfs:label "has parent" ;
+    rdfs:subPropertyOf net:has_object .
+
+net:has_parent_class a owl:AnnotationProperty ;
+    rdfs:label "parent class" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_parent_class_uri a owl:AnnotationProperty ;
+    rdfs:label "parent class uri" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_possible_domain a owl:AnnotationProperty ;
+    rdfs:label "has possible domain" ;
+    rdfs:subPropertyOf net:has_object .
+
+net:has_possible_range a owl:AnnotationProperty ;
+    rdfs:label "has possible range" ;
+    rdfs:subPropertyOf net:has_object .
+
+net:has_relation a owl:AnnotationProperty ;
+    rdfs:label "has relation" ;
+    rdfs:subPropertyOf net:has_relation_value .
+
+net:has_source a owl:AnnotationProperty ;
+    rdfs:label "has source" ;
+    rdfs:subPropertyOf net:has_relation_value .
+
+net:has_structure a owl:AnnotationProperty ;
+    rdfs:label "Linguistic Structure (in UNL Document)" ;
+    rdfs:subPropertyOf net:netProperty .
+
+net:has_target a owl:AnnotationProperty ;
+    rdfs:label "has target" ;
+    rdfs:subPropertyOf net:has_relation_value .
+
+net:inverse_direction a owl:NamedIndividual .
+
+net:listGuiding a owl:AnnotationProperty ;
+    rdfs:label "Guiding connector of a list (or, and)" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:modCat1 a owl:AnnotationProperty ;
+    rdfs:label "Modality Category (level 1)" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:modCat2 a owl:AnnotationProperty ;
+    rdfs:label "Modality Category (level 2)" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:normal_direction a owl:NamedIndividual .
+
+net:phenomena_possible-modality_a a net:Phenomena_Net ;
+    :role_ARG1 net:atomProperty_play_p ;
+    :role_polarity net:value_negative_blankNode ;
+    net:coverBaseNode :leaf_allow-01_a ;
+    net:coverNode :leaf_allow-01_a ;
+    net:hasNaming "possible-modality" ;
+    net:hasPhenomenaRef "allow-01" ;
+    net:hasPhenomenaType :phenomena_modality_possible ;
+    net:hasStructure "document-03" .
+
+net:type a owl:AnnotationProperty ;
+    rdfs:label "type "@fr ;
+    rdfs:subPropertyOf net:netProperty .
+
+net:verbClass a owl:AnnotationProperty ;
+    rdfs:label "verb class" ;
+    rdfs:subPropertyOf net:objectValue .
+
+<http://amr.isi.edu/amr_data/document-03#root01> a ns11:AMR ;
+    ns11:has-id "document-03" ;
+    ns11:has-sentence "John is not allowed to play the movie.." ;
+    ns11:root <http://amr.isi.edu/amr_data/document-03#a> .
+
+<http://amr.isi.edu/amr_data/test-1#s> ns2:domain <http://amr.isi.edu/amr_data/test-1#s2> .
+
+<http://amr.isi.edu/amr_data/test-2#p> rdfs:label "Earth" .
+
+ns11:AMR a owl:Class ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns11:NamedEntity a ns11:Concept,
+        owl:Class,
+        owl:NamedIndividual ;
+    rdfs:label "AMR-EntityType",
+        "AMR-Term" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+:AMR_Predicat_Concept a owl:Class ;
+    rdfs:subClassOf :AMR_Concept .
+
+:AMR_Relation_Concept a owl:Class ;
+    rdfs:subClassOf :AMR_Concept .
+
+:AMR_Root a owl:Class ;
+    rdfs:subClassOf :AMR_Structure .
+
+:concept_allow-01 rdfs:subClassOf :AMR_Relation_Concept ;
+    :fromAmrLk ns3:allow-01 ;
+    :hasPhenomenaLink :phenomena_modality_possible ;
+    :label "allow-01" .
+
+:concept_movie rdfs:subClassOf :AMR_Term_Concept ;
+    :fromAmrLk ns2:movie ;
+    :label "movie" .
+
+:concept_person rdfs:subClassOf :AMR_Term_Concept ;
+    :fromAmrLk ns4:person ;
+    :label "person" .
+
+:concept_play-01 rdfs:subClassOf :AMR_Predicat_Concept ;
+    :fromAmrLk ns3:play-01 ;
+    :label "play-01" .
+
+:role_ARG0 a owl:Class,
+        net:Relation ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG0" .
+
+:role_name a owl:Class,
+        net:Relation ;
+    rdfs:subClassOf :AMR_NonCore_Role ;
+    :label "name" .
+
+:role_polarity a owl:Class,
+        net:Relation ;
+    rdfs:subClassOf :AMR_Specific_Role ;
+    :label "polarity" .
+
+:variable_a a :AMR_Variable ;
+    :fromAmrLk <http://amr.isi.edu/amr_data/document-03#a> ;
+    :label "a" .
+
+:variable_m a :AMR_Variable ;
+    :fromAmrLk <http://amr.isi.edu/amr_data/document-03#m> ;
+    :label "m" .
+
+:variable_p a :AMR_Variable ;
+    :fromAmrLk <http://amr.isi.edu/amr_data/document-03#p> ;
+    :label "p" .
+
+:variable_p2 a :AMR_Variable ;
+    :fromAmrLk <http://amr.isi.edu/amr_data/document-03#p2> ;
+    :label "p2" ;
+    :name "John" .
+
+sys:Degree a owl:Class ;
+    rdfs:subClassOf sys:Out_Structure .
+
+sys:Entity a owl:Class ;
+    rdfs:subClassOf sys:Out_Structure .
+
+sys:Feature a owl:Class ;
+    rdfs:subClassOf sys:Out_Structure .
+
+sys:Out_AnnotationProperty a owl:AnnotationProperty .
+
+net:Atom_Property_Net a owl:Class ;
+    rdfs:subClassOf net:Property_Net .
+
+net:Individual_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:Phenomena_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:atomClass_movie_m a net:Atom_Class_Net ;
+    net:coverBaseNode :leaf_movie_m ;
+    net:coverNode :leaf_movie_m ;
+    net:hasClassName "movie" ;
+    net:hasNaming "movie" ;
+    net:hasStructure "document-03" .
+
+net:atomProperty_play_p a net:Atom_Property_Net ;
+    :role_ARG0 net:atomClass_person_p2,
+        net:individual_John_p2 ;
+    :role_ARG1 net:atomClass_movie_m ;
+    net:coverBaseNode :leaf_play-01_p ;
+    net:coverNode :leaf_play-01_p ;
+    net:hasNaming "play" ;
+    net:hasPropertyName "play" ;
+    net:hasPropertyName01 "playing" ;
+    net:hasPropertyName10 "play-by" ;
+    net:hasPropertyName12 "play-of" ;
+    net:hasPropertyType owl:ObjectProperty ;
+    net:hasStructure "document-03" ;
+    net:isCoreRoleLinked "true" ;
+    net:targetArgumentNode :leaf_movie_m,
+        :leaf_person_p2 .
+
+net:has_value a owl:AnnotationProperty ;
+    rdfs:subPropertyOf net:netProperty .
+
+net:individual_John_p2 a net:Individual_Net ;
+    :role_name net:value_John_blankNode ;
+    net:coverBaseNode :leaf_person_p2 ;
+    net:coverNode :leaf_person_p2 ;
+    net:hasIndividualLabel "John" ;
+    net:hasMotherClassNet net:atomClass_person_p2 ;
+    net:hasNaming "John" ;
+    net:hasStructure "document-03" .
+
+net:objectType a owl:AnnotationProperty ;
+    rdfs:label "object type" ;
+    rdfs:subPropertyOf net:objectProperty .
+
+net:value_negative_blankNode a net:Value_Net ;
+    net:coverAmrValue :value_negative ;
+    net:hasNaming "negative" ;
+    net:hasStructure "document-03" ;
+    net:hasValueLabel "negative" .
+
+<http://amr.isi.edu/amr_data/document-03#a> a ns3:allow-01 ;
+    ns3:allow-01.ARG1 <http://amr.isi.edu/amr_data/document-03#p> ;
+    ns2:polarity "-" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+<http://amr.isi.edu/amr_data/document-03#m> a ns2:movie ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+<http://amr.isi.edu/amr_data/document-03#p> a ns3:play-01 ;
+    ns3:play-01.ARG0 <http://amr.isi.edu/amr_data/document-03#p2> ;
+    ns3:play-01.ARG1 <http://amr.isi.edu/amr_data/document-03#m> ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+<http://amr.isi.edu/amr_data/document-03#p2> a ns4:person ;
+    rdfs:label "John" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns4:person a ns11:NamedEntity ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns3:allow-01 a ns11:Frame ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns3:play-01 a ns11:Frame ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns2:movie a ns11:Concept ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns11:Frame a ns11:Concept,
+        owl:Class,
+        owl:NamedIndividual ;
+    rdfs:label "AMR-PropBank-Frame" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+:AMR_Term_Concept a owl:Class ;
+    rdfs:subClassOf :AMR_Concept .
+
+:AMR_Value a owl:Class ;
+    rdfs:subClassOf :AMR_Element .
+
+:hasLink a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:phenomena_conjunction a owl:Class ;
+    rdfs:subClassOf :AMR_Phenomena ;
+    :hasConceptLink "contrast-01",
+        "either",
+        "neither" ;
+    :label "conjunction" .
+
+:phenomena_modality_possible a owl:Class ;
+    rdfs:subClassOf :phenomena_modality ;
+    :hasConceptLink "allow-01",
+        "grant-01",
+        "likely-01",
+        "permit-01",
+        "possible-01" ;
+    :label "possible-modality" .
+
+:role_ARG1 a owl:Class,
+        net:Relation ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG1" .
+
+:value_John a :AMR_Value ;
+    rdfs:label "John" .
+
+:value_negative a :AMR_Value ;
+    rdfs:label "negative" .
+
+sys:Out_ObjectProperty a owl:ObjectProperty .
+
+net:Atom_Class_Net a owl:Class ;
+    rdfs:subClassOf net:Class_Net .
+
+net:Class_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:Property_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:Value_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:atomClass_person_p2 a net:Atom_Class_Net ;
+    :role_name net:value_John_blankNode ;
+    net:coverBaseNode :leaf_person_p2 ;
+    net:coverNode :leaf_person_p2 ;
+    net:hasClassName "person" ;
+    net:hasNaming "person" ;
+    net:hasStructure "document-03" .
+
+net:objectProperty a owl:AnnotationProperty ;
+    rdfs:label "object attribute" .
+
+net:value_John_blankNode a net:Value_Net ;
+    net:coverAmrValue :value_John ;
+    net:hasNaming "John" ;
+    net:hasStructure "document-03" ;
+    net:hasValueLabel "John" .
+
+ns3:FrameRole a ns11:Role,
+        owl:Class,
+        owl:NamedIndividual ;
+    rdfs:label "AMR-PropBank-Role" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+:AMR_Concept a owl:Class ;
+    rdfs:subClassOf :AMR_Element .
+
+:AMR_Phenomena a owl:Class ;
+    rdfs:subClassOf :AMR_Structure .
+
+:AMR_Specific_Role a owl:Class ;
+    rdfs:subClassOf :AMR_Role .
+
+:fromAmrLk a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:getProperty a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:hasReificationDefinition a owl:AnnotationProperty ;
+    rdfs:range rdfs:Literal ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:leaf_allow-01_a a :AMR_Leaf ;
+    :edge_a_ARG1_p :leaf_play-01_p ;
+    :edge_a_polarity_negative :value_negative ;
+    :hasConcept :concept_allow-01 ;
+    :hasVariable :variable_a .
+
+:leaf_play-01_p a :AMR_Leaf ;
+    :edge_p_ARG0_p2 :leaf_person_p2 ;
+    :edge_p_ARG1_m :leaf_movie_m ;
+    :hasConcept :concept_play-01 ;
+    :hasVariable :variable_p .
+
+:phenomena_modality a owl:Class ;
+    rdfs:subClassOf :AMR_Phenomena .
+
+:toReify a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+net:Net_Structure a owl:Class ;
+    rdfs:label "Semantic Net Structure" ;
+    rdfs:comment "A semantic net captures a set of nodes, and associates this set with type(s) and value(s)." .
+
+net:has_relation_value a owl:AnnotationProperty ;
+    rdfs:label "has relation value" ;
+    rdfs:subPropertyOf net:has_object .
+
+:AMR_Element a owl:Class ;
+    rdfs:subClassOf :AMR_Structure .
+
+:AMR_Variable a owl:Class ;
+    rdfs:subClassOf :AMR_Element .
+
+:leaf_movie_m a :AMR_Leaf ;
+    :hasConcept :concept_movie ;
+    :hasVariable :variable_m .
+
+net:Relation a owl:Class ;
+    rdfs:subClassOf net:Net_Structure .
+
+:AMR_NonCore_Role a owl:Class ;
+    rdfs:subClassOf :AMR_Role .
+
+:AMR_Role a owl:Class ;
+    rdfs:subClassOf :AMR_Element .
+
+sys:Out_Structure a owl:Class ;
+    rdfs:label "Output Ontology Structure" .
+
+net:netProperty a owl:AnnotationProperty ;
+    rdfs:label "netProperty" .
+
+:AMR_Leaf a owl:Class ;
+    rdfs:subClassOf :AMR_Structure .
+
+:AMR_ObjectProperty a owl:ObjectProperty ;
+    rdfs:subPropertyOf owl:topObjectProperty .
+
+:AMR_Structure a owl:Class .
+
+:leaf_person_p2 a :AMR_Leaf ;
+    :edge_p2_name_John :value_John ;
+    :hasConcept :concept_person ;
+    :hasVariable :variable_p2 .
+
+cprm:configParamProperty a rdf:Property ;
+    rdfs:label "Config Parameter Property" .
+
+rdf:Property a owl:Class .
+
+:AMR_Relation a owl:Class ;
+    rdfs:subClassOf :AMR_Structure .
+
+:AMR_Edge a owl:Class ;
+    rdfs:subClassOf :AMR_Structure .
+
+net:Net a owl:Class ;
+    rdfs:subClassOf net:Net_Structure .
+
+net:has_object a owl:AnnotationProperty ;
+    rdfs:label "relation" ;
+    rdfs:subPropertyOf net:netProperty .
+
+:AMR_Op_Role a owl:Class ;
+    rdfs:subClassOf :AMR_Role .
+
+:AMR_AnnotationProperty a owl:AnnotationProperty .
+
+:AMR_Core_Role a owl:Class ;
+    rdfs:subClassOf :AMR_Role .
+
+:AMR_Linked_Data a owl:Class .
+
+net:objectValue a owl:AnnotationProperty ;
+    rdfs:label "valuations"@fr ;
+    rdfs:subPropertyOf net:objectProperty .
+
+[] a owl:AllDisjointClasses ;
+    owl:members ( sys:Degree sys:Entity sys:Feature ) .
+
diff --git a/tests/dev_tests/test_data/atom-extraction-devGraph-3.ttl b/tests/dev_tests/test_data/atom-extraction-devGraph-3.ttl
new file mode 100644
index 0000000000000000000000000000000000000000..a0dae60479dde3950bc281a0d78c3836cd259487
--- /dev/null
+++ b/tests/dev_tests/test_data/atom-extraction-devGraph-3.ttl
@@ -0,0 +1,911 @@
+@base <http://https://tenet.tetras-libre.fr/demo/clara/03//transduction> .
+@prefix : <https://amr.tetras-libre.fr/rdf/schema#> .
+@prefix cprm: <https://tenet.tetras-libre.fr/config/parameters#> .
+@prefix net: <https://tenet.tetras-libre.fr/semantic-net#> .
+@prefix ns1: <http://amr.isi.edu/rdf/core-amr#> .
+@prefix ns2: <http://amr.isi.edu/rdf/amr-terms#> .
+@prefix ns3: <http://amr.isi.edu/frames/ld/v1.2.2/> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix sys: <https://tenet.tetras-libre.fr/base-ontology#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+ns1:Concept a rdfs:Class,
+        owl:Class ;
+    rdfs:label "AMR-Concept" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns1:Role a rdfs:Class,
+        owl:Class ;
+    rdfs:label "AMR-Role" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+<http://amr.isi.edu/amr_data/test-1#root01> ns1:hasID "test-1" ;
+    ns1:hasSentence "The sun is a star." ;
+    ns1:root <http://amr.isi.edu/amr_data/test-1#s> .
+
+<http://amr.isi.edu/amr_data/test-2#root01> ns1:hasID "test-2" ;
+    ns1:hasSentence "Earth is a planet." ;
+    ns1:root <http://amr.isi.edu/amr_data/test-2#p> .
+
+ns3:allow-01.ARG1 a ns3:FrameRole .
+
+ns3:play-01.ARG0 a ns3:FrameRole .
+
+ns3:play-01.ARG1 a ns3:FrameRole .
+
+ns2:domain a ns1:Role,
+        owl:AnnotationProperty,
+        owl:NamedIndividual .
+
+ns1:hasID a owl:AnnotationProperty .
+
+ns1:hasSentence a owl:AnnotationProperty .
+
+ns1:root a owl:AnnotationProperty .
+
+<https://amr.tetras-libre.fr/rdf/schema> a owl:Ontology ;
+    owl:versionIRI :0.1 .
+
+:AMR_DataProperty a owl:DatatypeProperty .
+
+:AMR_Prep_Role a owl:Class ;
+    rdfs:subClassOf :AMR_Role .
+
+:edge_a_ARG1_p a :AMR_Edge ;
+    :hasAmrRole :role_ARG1 ;
+    :hasRoleID "ARG1" .
+
+:edge_a_polarity_negative a :AMR_Edge ;
+    :hasAmrRole :role_polarity ;
+    :hasRoleID "polarity" .
+
+:edge_p2_name_John a :AMR_Edge ;
+    :hasAmrRole :role_name ;
+    :hasRoleID "name" .
+
+:edge_p_ARG0_p2 a :AMR_Edge ;
+    :hasAmrRole :role_ARG0 ;
+    :hasRoleID "ARG0" .
+
+:edge_p_ARG1_m a :AMR_Edge ;
+    :hasAmrRole :role_ARG1 ;
+    :hasRoleID "ARG1" .
+
+:fromAmrLkFramerole a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :fromAmrLk .
+
+:fromAmrLkRole a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :fromAmrLk .
+
+:fromAmrLkRoot a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :fromAmrLk .
+
+:getDirectPropertyName a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :getProperty .
+
+:getInversePropertyName a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :getProperty .
+
+:getPropertyType a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :getProperty .
+
+:hasConcept a owl:ObjectProperty ;
+    rdfs:domain :AMR_Leaf ;
+    rdfs:subPropertyOf :AMR_ObjectProperty .
+
+:hasConceptLink a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :hasLink .
+
+:hasEdgeLink a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :hasLink .
+
+:hasReification a owl:AnnotationProperty ;
+    rdfs:range xsd:boolean ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:hasReificationConcept a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :hasReificationDefinition .
+
+:hasReificationDomain a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :hasReificationDefinition .
+
+:hasReificationRange a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :hasReificationDefinition .
+
+:hasRelationName a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:hasRoleID a owl:ObjectProperty ;
+    rdfs:domain :AMR_Edge ;
+    rdfs:subPropertyOf :AMR_ObjectProperty .
+
+:hasRoleTag a owl:ObjectProperty ;
+    rdfs:domain :AMR_Edge ;
+    rdfs:subPropertyOf :AMR_ObjectProperty .
+
+:hasRolesetID a owl:ObjectProperty ;
+    rdfs:domain :AMR_Edge ;
+    rdfs:subPropertyOf :AMR_ObjectProperty .
+
+:hasRootLeaf a owl:ObjectProperty ;
+    rdfs:subPropertyOf :AMR_ObjectProperty .
+
+:hasSentenceID a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:hasSentenceStatement a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:hasVariable a owl:ObjectProperty ;
+    rdfs:domain :AMR_Leaf ;
+    rdfs:subPropertyOf :AMR_ObjectProperty .
+
+:label a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:phenomena_conjunction_and a owl:Class ;
+    rdfs:subClassOf :phenomena_conjunction ;
+    :hasConceptLink "and" ;
+    :label "conjunction-AND" .
+
+:phenomena_conjunction_or a owl:Class ;
+    rdfs:subClassOf :phenomena_conjunction ;
+    :hasConceptLink "or" ;
+    :label "conjunction-OR" .
+
+:phenomena_degree a owl:Class ;
+    rdfs:subClassOf :AMR_Phenomena ;
+    :hasConceptLink "have-degree-91" ;
+    :label "degree" .
+
+:phenomena_modality_obligation a owl:Class ;
+    rdfs:subClassOf :phenomena_modality ;
+    :hasConceptLink "obligate-01" ;
+    :label "obligation-modality" .
+
+:phenomena_modality_prohibition a owl:Class ;
+    rdfs:subClassOf :phenomena_modality ;
+    :label "prohibition-modality" .
+
+:relation_domain a owl:Class ;
+    rdfs:subClassOf :AMR_Relation ;
+    :hasReification false ;
+    :hasRelationName "domain" .
+
+:relation_manner a owl:Class ;
+    rdfs:subClassOf :AMR_Relation ;
+    :hasReification true ;
+    :hasReificationConcept "hasManner" ;
+    :hasReificationDomain "ARG1" ;
+    :hasReificationRange "ARG2" ;
+    :hasRelationName "manner" .
+
+:relation_mod a owl:Class ;
+    rdfs:subClassOf :AMR_Relation ;
+    :hasReification false ;
+    :hasRelationName "mod" .
+
+:relation_name a owl:Class ;
+    rdfs:subClassOf :AMR_Relation ;
+    :hasReification false ;
+    :hasRelationName "name" .
+
+:relation_part a owl:Class ;
+    rdfs:subClassOf :AMR_Relation ;
+    :hasReification true ;
+    :hasReificationConcept "hasPart" ;
+    :hasReificationDomain "ARG1" ;
+    :hasReificationRange "ARG2" ;
+    :hasRelationName "part" .
+
+:relation_polarity a owl:Class ;
+    rdfs:subClassOf :AMR_Relation ;
+    :hasReification false ;
+    :hasRelationName "polarity" .
+
+:relation_quant a owl:Class ;
+    rdfs:subClassOf :AMR_Relation ;
+    :hasReification false ;
+    :hasRelationName "quant" .
+
+:role_ARG2 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG2" .
+
+:role_ARG3 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG3" .
+
+:role_ARG4 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG4" .
+
+:role_ARG5 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG5" .
+
+:role_ARG6 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG6" .
+
+:role_ARG7 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG7" .
+
+:role_ARG8 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG8" .
+
+:role_ARG9 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG9" .
+
+:role_domain a owl:Class ;
+    rdfs:subClassOf :AMR_NonCore_Role ;
+    :hasRelationName "domain" ;
+    :label "domain" ;
+    :toReifyAsConcept "domain" ;
+    :toReifyWithBaseEdge "ARG0" ;
+    :toReifyWithHeadEdge "ARG1" .
+
+:role_have-degree-91 a owl:Class ;
+    rdfs:subClassOf :AMR_Specific_Role ;
+    :getPropertyType <net:specificProperty> .
+
+:role_manner a owl:Class ;
+    rdfs:subClassOf :AMR_NonCore_Role ;
+    :getDirectPropertyName "manner" ;
+    :getPropertyType owl:DataProperty ;
+    :label "manner" ;
+    :toReifyAsConcept "manner" ;
+    :toReifyWithBaseEdge "ARG0" ;
+    :toReifyWithHeadEdge "ARG1" .
+
+:role_mod a owl:Class ;
+    rdfs:subClassOf :AMR_NonCore_Role ;
+    :getDirectPropertyName "hasFeature"^^xsd:string ;
+    :getPropertyType rdfs:subClassOf,
+        owl:ObjectProperty ;
+    :label "mod" ;
+    :toReifyAsConcept "mod" ;
+    :toReifyWithBaseEdge "ARG0" ;
+    :toReifyWithHeadEdge "ARG1" .
+
+:role_op1 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op1" .
+
+:role_op2 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op2" .
+
+:role_op3 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op3" .
+
+:role_op4 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op4" .
+
+:role_op5 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op5" .
+
+:role_op6 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op6" .
+
+:role_op7 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op7" .
+
+:role_op8 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op8" .
+
+:role_op9 a owl:Class ;
+    rdfs:subClassOf :AMR_Op_Role ;
+    :label "op9" .
+
+:role_part a owl:Class ;
+    rdfs:subClassOf :AMR_NonCore_Role ;
+    :getDirectPropertyName "hasPart"^^xsd:string ;
+    :getInversePropertyName "partOf"^^xsd:string ;
+    :getPropertyType owl:ObjectProperty ;
+    :toReifyAsConcept "part" ;
+    :toReifyWithBaseEdge "ARG0" ;
+    :toReifyWithHeadEdge "ARG1" .
+
+:role_quant a owl:Class ;
+    rdfs:subClassOf :AMR_Specific_Role ;
+    :label "quant" .
+
+:root_document-03 a :AMR_Root ;
+    :fromAmrLk <http://amr.isi.edu/amr_data/document-03#root01> ;
+    :hasRootLeaf :leaf_allow-01_a ;
+    :hasSentenceID "document-03" ;
+    :hasSentenceStatement "John is not allowed to play the movie.." .
+
+:toReifyAsConcept a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :toReify .
+
+:toReifyWithBaseEdge a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :toReify .
+
+:toReifyWithHeadEdge a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :toReify .
+
+<https://tenet.tetras-libre.fr/base-ontology> a owl:Ontology .
+
+sys:Event a owl:Class ;
+    rdfs:subClassOf sys:Out_Structure .
+
+sys:Undetermined_Thing a owl:Class ;
+    rdfs:subClassOf sys:Out_Structure .
+
+sys:fromStructure a owl:AnnotationProperty ;
+    rdfs:subPropertyOf sys:Out_AnnotationProperty .
+
+sys:hasDegree a owl:ObjectProperty ;
+    rdfs:subPropertyOf sys:Out_ObjectProperty .
+
+sys:hasFeature a owl:ObjectProperty ;
+    rdfs:subPropertyOf sys:Out_ObjectProperty .
+
+<https://tenet.tetras-libre.fr/config/parameters> a owl:Ontology .
+
+cprm:Config_Parameters a owl:Class ;
+    cprm:baseURI "https://tenet.tetras-libre.fr/" ;
+    cprm:netURI "https://tenet.tetras-libre.fr/semantic-net#" ;
+    cprm:newClassRef "new-class#" ;
+    cprm:newPropertyRef "new-relation#" ;
+    cprm:objectRef "object_" ;
+    cprm:targetOntologyURI "https://tenet.tetras-libre.fr/base-ontology/" .
+
+cprm:baseURI a rdf:Property ;
+    rdfs:label "Base URI" ;
+    rdfs:domain cprm:Frame ;
+    rdfs:range xsd:string ;
+    rdfs:subPropertyOf cprm:configParamProperty .
+
+cprm:netURI a rdf:Property ;
+    rdfs:label "Net URI" ;
+    rdfs:domain cprm:Frame ;
+    rdfs:range xsd:string ;
+    rdfs:subPropertyOf cprm:configParamProperty .
+
+cprm:newClassRef a rdf:Property ;
+    rdfs:label "Reference for a new class" ;
+    rdfs:subPropertyOf cprm:configParamProperty .
+
+cprm:newPropertyRef a rdf:Property ;
+    rdfs:label "Reference for a new property" ;
+    rdfs:subPropertyOf cprm:configParamProperty .
+
+cprm:objectRef a rdf:Property ;
+    rdfs:label "Object Reference" ;
+    rdfs:subPropertyOf cprm:configParamProperty .
+
+cprm:targetOntologyURI a rdf:Property ;
+    rdfs:label "URI of classes in target ontology" ;
+    rdfs:domain cprm:Frame ;
+    rdfs:range xsd:string ;
+    rdfs:subPropertyOf cprm:configParamProperty .
+
+<https://tenet.tetras-libre.fr/semantic-net> a owl:Ontology .
+
+net:Action_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:Composite_Class_Net a owl:Class ;
+    rdfs:subClassOf net:Class_Net .
+
+net:Composite_Property_Net a owl:Class ;
+    rdfs:subClassOf net:Property_Net .
+
+net:Deprecated_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:Feature a owl:Class ;
+    rdfs:subClassOf net:Net_Structure .
+
+net:Relation a owl:Class ;
+    rdfs:subClassOf net:Net_Structure .
+
+net:Rule_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:abstractionClass a owl:AnnotationProperty ;
+    rdfs:label "abstraction class" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:atomClass_movie_m a net:Atom_Class_Net ;
+    net:coverBaseNode :leaf_movie_m ;
+    net:coverNode :leaf_movie_m ;
+    net:hasClassName "movie" ;
+    net:hasNaming "movie" ;
+    net:hasStructure "document-03" .
+
+net:atomProperty_play_p a net:Atom_Property_Net ;
+    net:coverBaseNode :leaf_play-01_p ;
+    net:coverNode :leaf_play-01_p ;
+    net:hasNaming "play" ;
+    net:hasPropertyName "play" ;
+    net:hasPropertyName01 "playing" ;
+    net:hasPropertyName10 "play-by" ;
+    net:hasPropertyName12 "play-of" ;
+    net:hasPropertyType owl:ObjectProperty ;
+    net:hasStructure "document-03" ;
+    net:isCoreRoleLinked "true" ;
+    net:targetArgumentNode :leaf_movie_m,
+        :leaf_person_p2 .
+
+net:atomType a owl:AnnotationProperty ;
+    rdfs:label "atom type" ;
+    rdfs:subPropertyOf net:objectType .
+
+net:entityClass a owl:AnnotationProperty ;
+    rdfs:label "entity class" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:featureClass a owl:AnnotationProperty ;
+    rdfs:label "feature class" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_atom a owl:AnnotationProperty ;
+    rdfs:label "has atom" ;
+    rdfs:subPropertyOf net:has_object .
+
+net:has_class a owl:AnnotationProperty ;
+    rdfs:label "is class" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_class_name a owl:AnnotationProperty ;
+    rdfs:subPropertyOf net:has_value .
+
+net:has_class_uri a owl:AnnotationProperty ;
+    rdfs:label "class uri" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_concept a owl:AnnotationProperty ;
+    rdfs:label "concept "@fr ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_entity a owl:AnnotationProperty ;
+    rdfs:label "has entity" ;
+    rdfs:subPropertyOf net:has_object .
+
+net:has_feature a owl:AnnotationProperty ;
+    rdfs:label "has feature" ;
+    rdfs:subPropertyOf net:has_object .
+
+net:has_instance a owl:AnnotationProperty ;
+    rdfs:label "entity instance" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_instance_uri a owl:AnnotationProperty ;
+    rdfs:label "instance uri" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_item a owl:AnnotationProperty ;
+    rdfs:label "has item" ;
+    rdfs:subPropertyOf net:has_object .
+
+net:has_mother_class a owl:AnnotationProperty ;
+    rdfs:label "has mother class" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_mother_class_uri a owl:AnnotationProperty ;
+    rdfs:label "parent class uri" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_node a owl:AnnotationProperty ;
+    rdfs:label "UNL Node" ;
+    rdfs:subPropertyOf net:netProperty .
+
+net:has_parent a owl:AnnotationProperty ;
+    rdfs:label "has parent" ;
+    rdfs:subPropertyOf net:has_object .
+
+net:has_parent_class a owl:AnnotationProperty ;
+    rdfs:label "parent class" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_parent_class_uri a owl:AnnotationProperty ;
+    rdfs:label "parent class uri" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:has_possible_domain a owl:AnnotationProperty ;
+    rdfs:label "has possible domain" ;
+    rdfs:subPropertyOf net:has_object .
+
+net:has_possible_range a owl:AnnotationProperty ;
+    rdfs:label "has possible range" ;
+    rdfs:subPropertyOf net:has_object .
+
+net:has_relation a owl:AnnotationProperty ;
+    rdfs:label "has relation" ;
+    rdfs:subPropertyOf net:has_relation_value .
+
+net:has_source a owl:AnnotationProperty ;
+    rdfs:label "has source" ;
+    rdfs:subPropertyOf net:has_relation_value .
+
+net:has_structure a owl:AnnotationProperty ;
+    rdfs:label "Linguistic Structure (in UNL Document)" ;
+    rdfs:subPropertyOf net:netProperty .
+
+net:has_target a owl:AnnotationProperty ;
+    rdfs:label "has target" ;
+    rdfs:subPropertyOf net:has_relation_value .
+
+net:individual_John_p2 a net:Individual_Net ;
+    net:coverBaseNode :leaf_person_p2 ;
+    net:coverNode :leaf_person_p2 ;
+    net:hasIndividualLabel "John" ;
+    net:hasMotherClassNet net:atomClass_person_p2 ;
+    net:hasNaming "John" ;
+    net:hasStructure "document-03" .
+
+net:inverse_direction a owl:NamedIndividual .
+
+net:listGuiding a owl:AnnotationProperty ;
+    rdfs:label "Guiding connector of a list (or, and)" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:modCat1 a owl:AnnotationProperty ;
+    rdfs:label "Modality Category (level 1)" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:modCat2 a owl:AnnotationProperty ;
+    rdfs:label "Modality Category (level 2)" ;
+    rdfs:subPropertyOf net:objectValue .
+
+net:normal_direction a owl:NamedIndividual .
+
+net:phenomena_possible-modality_a a net:Phenomena_Net ;
+    net:coverBaseNode :leaf_allow-01_a ;
+    net:coverNode :leaf_allow-01_a ;
+    net:hasNaming "possible-modality" ;
+    net:hasPhenomenaRef "allow-01" ;
+    net:hasPhenomenaType :phenomena_modality_possible ;
+    net:hasStructure "document-03" .
+
+net:type a owl:AnnotationProperty ;
+    rdfs:label "type "@fr ;
+    rdfs:subPropertyOf net:netProperty .
+
+net:value_John_blankNode a net:Value_Net ;
+    net:coverAmrValue :value_John ;
+    net:hasNaming "John" ;
+    net:hasStructure "document-03" ;
+    net:hasValueLabel "John" .
+
+net:value_negative_blankNode a net:Value_Net ;
+    net:coverAmrValue :value_negative ;
+    net:hasNaming "negative" ;
+    net:hasStructure "document-03" ;
+    net:hasValueLabel "negative" .
+
+net:verbClass a owl:AnnotationProperty ;
+    rdfs:label "verb class" ;
+    rdfs:subPropertyOf net:objectValue .
+
+<http://amr.isi.edu/amr_data/document-03#root01> a ns1:AMR ;
+    ns1:has-id "document-03" ;
+    ns1:has-sentence "John is not allowed to play the movie.." ;
+    ns1:root <http://amr.isi.edu/amr_data/document-03#a> .
+
+<http://amr.isi.edu/amr_data/test-1#s> ns2:domain <http://amr.isi.edu/amr_data/test-1#s2> .
+
+<http://amr.isi.edu/amr_data/test-2#p> rdfs:label "Earth" .
+
+ns1:AMR a owl:Class ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns1:NamedEntity a ns1:Concept,
+        owl:Class,
+        owl:NamedIndividual ;
+    rdfs:label "AMR-EntityType",
+        "AMR-Term" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+:AMR_Predicat_Concept a owl:Class ;
+    rdfs:subClassOf :AMR_Concept .
+
+:AMR_Relation_Concept a owl:Class ;
+    rdfs:subClassOf :AMR_Concept .
+
+:AMR_Root a owl:Class ;
+    rdfs:subClassOf :AMR_Structure .
+
+:concept_allow-01 rdfs:subClassOf :AMR_Relation_Concept ;
+    :fromAmrLk ns3:allow-01 ;
+    :hasPhenomenaLink :phenomena_modality_possible ;
+    :label "allow-01" .
+
+:concept_movie rdfs:subClassOf :AMR_Term_Concept ;
+    :fromAmrLk ns2:movie ;
+    :label "movie" .
+
+:concept_person rdfs:subClassOf :AMR_Term_Concept ;
+    :fromAmrLk <http://amr.isi.edu/entity-types#person> ;
+    :label "person" .
+
+:concept_play-01 rdfs:subClassOf :AMR_Predicat_Concept ;
+    :fromAmrLk ns3:play-01 ;
+    :label "play-01" .
+
+:role_ARG0 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG0" .
+
+:role_name a owl:Class ;
+    rdfs:subClassOf :AMR_NonCore_Role ;
+    :label "name" .
+
+:role_polarity a owl:Class ;
+    rdfs:subClassOf :AMR_Specific_Role ;
+    :label "polarity" .
+
+:variable_a a :AMR_Variable ;
+    :fromAmrLk <http://amr.isi.edu/amr_data/document-03#a> ;
+    :label "a" .
+
+:variable_m a :AMR_Variable ;
+    :fromAmrLk <http://amr.isi.edu/amr_data/document-03#m> ;
+    :label "m" .
+
+:variable_p a :AMR_Variable ;
+    :fromAmrLk <http://amr.isi.edu/amr_data/document-03#p> ;
+    :label "p" .
+
+:variable_p2 a :AMR_Variable ;
+    :fromAmrLk <http://amr.isi.edu/amr_data/document-03#p2> ;
+    :label "p2" ;
+    :name "John" .
+
+sys:Degree a owl:Class ;
+    rdfs:subClassOf sys:Out_Structure .
+
+sys:Entity a owl:Class ;
+    rdfs:subClassOf sys:Out_Structure .
+
+sys:Feature a owl:Class ;
+    rdfs:subClassOf sys:Out_Structure .
+
+sys:Out_AnnotationProperty a owl:AnnotationProperty .
+
+net:Atom_Property_Net a owl:Class ;
+    rdfs:subClassOf net:Property_Net .
+
+net:Individual_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:Phenomena_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:atomClass_person_p2 a net:Atom_Class_Net ;
+    net:coverBaseNode :leaf_person_p2 ;
+    net:coverNode :leaf_person_p2 ;
+    net:hasClassName "person" ;
+    net:hasNaming "person" ;
+    net:hasStructure "document-03" .
+
+net:has_value a owl:AnnotationProperty ;
+    rdfs:subPropertyOf net:netProperty .
+
+net:objectType a owl:AnnotationProperty ;
+    rdfs:label "object type" ;
+    rdfs:subPropertyOf net:objectProperty .
+
+<http://amr.isi.edu/amr_data/document-03#a> a ns3:allow-01 ;
+    ns3:allow-01.ARG1 <http://amr.isi.edu/amr_data/document-03#p> ;
+    ns2:polarity "-" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+<http://amr.isi.edu/amr_data/document-03#m> a ns2:movie ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+<http://amr.isi.edu/amr_data/document-03#p> a ns3:play-01 ;
+    ns3:play-01.ARG0 <http://amr.isi.edu/amr_data/document-03#p2> ;
+    ns3:play-01.ARG1 <http://amr.isi.edu/amr_data/document-03#m> ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+<http://amr.isi.edu/amr_data/document-03#p2> a <http://amr.isi.edu/entity-types#person> ;
+    rdfs:label "John" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+<http://amr.isi.edu/entity-types#person> a ns1:NamedEntity ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns3:allow-01 a ns1:Frame ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns3:play-01 a ns1:Frame ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns2:movie a ns1:Concept ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+ns1:Frame a ns1:Concept,
+        owl:Class,
+        owl:NamedIndividual ;
+    rdfs:label "AMR-PropBank-Frame" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+:AMR_Term_Concept a owl:Class ;
+    rdfs:subClassOf :AMR_Concept .
+
+:AMR_Value a owl:Class ;
+    rdfs:subClassOf :AMR_Element .
+
+:hasLink a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:phenomena_conjunction a owl:Class ;
+    rdfs:subClassOf :AMR_Phenomena ;
+    :hasConceptLink "contrast-01",
+        "either",
+        "neither" ;
+    :label "conjunction" .
+
+:phenomena_modality_possible a owl:Class ;
+    rdfs:subClassOf :phenomena_modality ;
+    :hasConceptLink "allow-01",
+        "grant-01",
+        "likely-01",
+        "permit-01",
+        "possible-01" ;
+    :label "possible-modality" .
+
+:role_ARG1 a owl:Class ;
+    rdfs:subClassOf :AMR_Core_Role ;
+    :label "ARG1" .
+
+:value_John a :AMR_Value ;
+    rdfs:label "John" .
+
+:value_negative a :AMR_Value ;
+    rdfs:label "negative" .
+
+sys:Out_ObjectProperty a owl:ObjectProperty .
+
+net:Atom_Class_Net a owl:Class ;
+    rdfs:subClassOf net:Class_Net .
+
+net:Class_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:Property_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:Value_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
+net:objectProperty a owl:AnnotationProperty ;
+    rdfs:label "object attribute" .
+
+ns3:FrameRole a ns1:Role,
+        owl:Class,
+        owl:NamedIndividual ;
+    rdfs:label "AMR-PropBank-Role" ;
+    rdfs:subClassOf :AMR_Linked_Data .
+
+:AMR_Concept a owl:Class ;
+    rdfs:subClassOf :AMR_Element .
+
+:AMR_Phenomena a owl:Class ;
+    rdfs:subClassOf :AMR_Structure .
+
+:AMR_Specific_Role a owl:Class ;
+    rdfs:subClassOf :AMR_Role .
+
+:fromAmrLk a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:getProperty a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:hasReificationDefinition a owl:AnnotationProperty ;
+    rdfs:range rdfs:Literal ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+:leaf_allow-01_a a :AMR_Leaf ;
+    :edge_a_ARG1_p :leaf_play-01_p ;
+    :edge_a_polarity_negative :value_negative ;
+    :hasConcept :concept_allow-01 ;
+    :hasVariable :variable_a .
+
+:leaf_play-01_p a :AMR_Leaf ;
+    :edge_p_ARG0_p2 :leaf_person_p2 ;
+    :edge_p_ARG1_m :leaf_movie_m ;
+    :hasConcept :concept_play-01 ;
+    :hasVariable :variable_p .
+
+:phenomena_modality a owl:Class ;
+    rdfs:subClassOf :AMR_Phenomena .
+
+:toReify a owl:AnnotationProperty ;
+    rdfs:subPropertyOf :AMR_AnnotationProperty .
+
+net:Net_Structure a owl:Class ;
+    rdfs:label "Semantic Net Structure" ;
+    rdfs:comment "A semantic net captures a set of nodes, and associates this set with type(s) and value(s)." .
+
+net:has_relation_value a owl:AnnotationProperty ;
+    rdfs:label "has relation value" ;
+    rdfs:subPropertyOf net:has_object .
+
+:AMR_Element a owl:Class ;
+    rdfs:subClassOf :AMR_Structure .
+
+:AMR_Variable a owl:Class ;
+    rdfs:subClassOf :AMR_Element .
+
+:leaf_movie_m a :AMR_Leaf ;
+    :hasConcept :concept_movie ;
+    :hasVariable :variable_m .
+
+:AMR_NonCore_Role a owl:Class ;
+    rdfs:subClassOf :AMR_Role .
+
+:AMR_Role a owl:Class ;
+    rdfs:subClassOf :AMR_Element .
+
+sys:Out_Structure a owl:Class ;
+    rdfs:label "Output Ontology Structure" .
+
+net:netProperty a owl:AnnotationProperty ;
+    rdfs:label "netProperty" .
+
+:AMR_Leaf a owl:Class ;
+    rdfs:subClassOf :AMR_Structure .
+
+:AMR_ObjectProperty a owl:ObjectProperty ;
+    rdfs:subPropertyOf owl:topObjectProperty .
+
+:AMR_Structure a owl:Class .
+
+:leaf_person_p2 a :AMR_Leaf ;
+    :edge_p2_name_John :value_John ;
+    :hasConcept :concept_person ;
+    :hasVariable :variable_p2 .
+
+cprm:configParamProperty a rdf:Property ;
+    rdfs:label "Config Parameter Property" .
+
+rdf:Property a owl:Class .
+
+:AMR_Relation a owl:Class ;
+    rdfs:subClassOf :AMR_Structure .
+
+:AMR_Edge a owl:Class ;
+    rdfs:subClassOf :AMR_Structure .
+
+net:Net a owl:Class ;
+    rdfs:subClassOf net:Net_Structure .
+
+net:has_object a owl:AnnotationProperty ;
+    rdfs:label "relation" ;
+    rdfs:subPropertyOf net:netProperty .
+
+:AMR_Op_Role a owl:Class ;
+    rdfs:subClassOf :AMR_Role .
+
+:AMR_AnnotationProperty a owl:AnnotationProperty .
+
+:AMR_Core_Role a owl:Class ;
+    rdfs:subClassOf :AMR_Role .
+
+:AMR_Linked_Data a owl:Class .
+
+net:objectValue a owl:AnnotationProperty ;
+    rdfs:label "valuations"@fr ;
+    rdfs:subPropertyOf net:objectProperty .
+
+[] a owl:AllDisjointClasses ;
+    owl:members ( sys:Degree sys:Entity sys:Feature ) .
+
diff --git a/tests/dev_tests/test_rule_atomic_extractor.py b/tests/dev_tests/test_rule_atomic_extractor.py
index d494c350e51960a799c342c234b1cc30bab5e37d..059faa4045aea371c761c66137010b8696fcfb29 100644
--- a/tests/dev_tests/test_rule_atomic_extractor.py
+++ b/tests/dev_tests/test_rule_atomic_extractor.py
@@ -16,22 +16,21 @@ FILE_PATH = f'{os.path.dirname(os.path.abspath(__file__))}'
 INPUT_DIR_PATH = f'{FILE_PATH}/test_data/'
 OUTPUT_DIR_PATH = f'{FILE_PATH}/test_data/'
 
-TEST_FILE_NAME = 'atom-extraction-devGraph-1'
-INPUT_GRAPH_PATH = f'{INPUT_DIR_PATH}{TEST_FILE_NAME}.ttl'
-OUTPUT_GRAPH_PATH = f'{OUTPUT_DIR_PATH}{TEST_FILE_NAME}.result.ttl'
-OUTPUT_GRAPH_URI = f'https://amr.tetras-libre.fr/rdf/{TEST_FILE_NAME}/result'
+TEST_FILE_NAME_1 = 'atom-extraction-devGraph-1'
+TEST_FILE_NAME_2 = 'atom-extraction-devGraph-2'
+TEST_FILE_NAME_3 = 'atom-extraction-devGraph-3'
 
 from context import tenet
 from tenet.transduction.rdfterm_computer import __update_uri_with_prefix
 from tenet.transduction import rdfterm_computer, prefix_handle
 from tenet.transduction import net
-from tenet.scheme.amr_rule.transduction import atom_class_extractor as rule_1
-from tenet.scheme.amr_rule.transduction import atom_individual_extractor as rule_2
-from tenet.scheme.amr_rule.transduction import atom_property_extractor as rule_3
-from tenet.scheme.amr_rule.transduction import atom_value_extractor as rule_4
-from tenet.scheme.amr_rule.transduction import atom_phenomena_extractor as rule_5
-from tenet.scheme.amr_rule.transduction import atom_relation_propagator as rule_6
-from tenet.scheme import amr_rule
+from tenet.scheme.amr_master_rule.transduction import atom_class_extractor as rule_1
+from tenet.scheme.amr_master_rule.transduction import atom_individual_extractor as rule_2
+from tenet.scheme.amr_master_rule.transduction import atom_property_extractor as rule_3
+from tenet.scheme.amr_master_rule.transduction import atom_value_extractor as rule_4
+from tenet.scheme.amr_master_rule.transduction import atom_phenomena_extractor as rule_5
+from tenet.scheme.amr_master_rule.transduction import atom_relation_propagator as rule_6
+from tenet.scheme import amr_master_rule
 
 
 
@@ -39,16 +38,17 @@ from tenet.scheme import amr_rule
 # Useful Methods
 #==============================================================================
 
-def load_test_graph():
+def load_test_graph(test_file_name):
     print(f'\n -- Test Graph Loading')
     graph = Graph()
     prefix_handle.update_graph_namespacemanager(graph)
-    graph.parse(INPUT_GRAPH_PATH)
+    graph_path = f'{INPUT_DIR_PATH}{test_file_name}.ttl'
+    graph.parse(graph_path)
     print(f" ----- Graph Loaded ({len(graph)})")
     return graph
 
 
-def print_triple(triple, num=-1):
+def print_triple(graph, triple, num=-1):
     num_str = f'[{num}]' if num > -1 else '[-]'
     (s, p, o) = triple
     s = __update_uri_with_prefix(graph, s)
@@ -57,7 +57,7 @@ def print_triple(triple, num=-1):
     print(f' {num_str} {s} {p} {o}')
     
 
-def add_triples_in_graph(graph, triple_list):
+def add_triples_in_graph(test_file_name, graph, triple_list):
     print(f'\n -- Adding triple(s) in graph')       
     print(f" ----- Graph length before update: {len(graph)}")
     print(f" ----- Number of triples to add: {len(triple_list)}")
@@ -70,14 +70,16 @@ def add_triples_in_graph(graph, triple_list):
         if graph_length < len(graph):
             n += 1
             graph_length = len(graph)
-            print_triple(triple, num=n)      
+            print_triple(graph, triple, num=n)      
         
     print(f" ----- Graph length after update: {len(graph)}")
     
-    print(f'\n -- Serialize test graph to {OUTPUT_GRAPH_PATH}')
-    graph.serialize(destination=OUTPUT_GRAPH_PATH, 
+    output_graph_path = f'{OUTPUT_DIR_PATH}{test_file_name}.result.ttl'
+    output_graph_uri = f'https://amr.tetras-libre.fr/rdf/{test_file_name}/result'
+    print(f'\n -- Serialize test graph to {output_graph_path}')
+    graph.serialize(destination=output_graph_path, 
                     format='turtle',
-                    base=OUTPUT_GRAPH_URI)
+                    base=output_graph_uri)
 
 
 
@@ -142,6 +144,56 @@ def test_search_pattern_5(graph):
     return pattern_set
 
         
+def test_search_pattern_6(graph):
+    _, pattern_set = rule_6.__search_pattern(graph)
+    print(f'\n ----- search 1 result: {len(pattern_set)}')
+    for row in pattern_set: 
+        result_str = f'>>> '
+        result_str += f'{row.net.n3(graph.namespace_manager)}'
+        print(result_str) 
+        
+    
+    for pattern in pattern_set:
+        target_net = net.Net(graph, pattern.net)
+        
+        if len(target_net.base_node) > 0:
+            base_leaf = target_net.base_node[0]
+            
+            _, result_set = rule_6.__search_leaf_in_leaf_relation(graph, base_leaf) 
+            print(f'\n ----- search 2 result: {len(result_set)}')
+            for row in result_set: 
+                result_str = f'>>> '
+                result_str += f'( {row.inNet.n3(graph.namespace_manager)}'
+                result_str += f', {row.inRelationRole.n3(graph.namespace_manager)} )'
+                print(result_str) 
+                
+            _, result_set = rule_6.__search_leaf_in_value_relation(graph, base_leaf) 
+            print(f'\n ----- search 3 result: {len(result_set)}')
+            for row in result_set: 
+                result_str = f'>>> '
+                result_str += f'( {row.inNet.n3(graph.namespace_manager)}'
+                result_str += f', {row.inRelationRole.n3(graph.namespace_manager)} )'
+                print(result_str)
+                
+            _, result_set = rule_6.__search_leaf_out_leaf_relation(graph, base_leaf) 
+            print(f'\n ----- search 4 result: {len(result_set)}')
+            for row in result_set: 
+                result_str = f'>>> '
+                result_str += f'( {row.outRelationRole.n3(graph.namespace_manager)}'
+                result_str += f', {row.outNet.n3(graph.namespace_manager)} )'
+                print(result_str)
+                
+            _, result_set = rule_6.__search_leaf_out_value_relation(graph, base_leaf) 
+            print(f'\n ----- search 5 result: {len(result_set)}')
+            for row in result_set: 
+                result_str = f'>>> '
+                result_str += f'( {row.outRelationRole.n3(graph.namespace_manager)}'
+                result_str += f', {row.outNet.n3(graph.namespace_manager)} )'
+                print(result_str)
+            
+    return pattern_set
+
+        
 def test_search_structure(graph):
     result_set = rule_3.__search_structure(graph)
     print(f'\n ----- number of selection found: {len(result_set)}')
@@ -156,16 +208,13 @@ def test_search_structure(graph):
 # Unit Test
 #==============================================================================
 
-def test_rule_application(graph, rule):    
+def test_rule_application(test_file_name, graph, rule):    
     print('\n -- Rule Test')
     
     rule_label, new_triple_list = rule(graph)
     print(f' ----- label: {rule_label}')
-    print(f' ----- new_triple_list length: ({len(new_triple_list)})')
-    # for triple in new_triple_list:
-    #     print_triple(triple)
     
-    add_triples_in_graph(graph, new_triple_list)
+    add_triples_in_graph(test_file_name, graph, new_triple_list)
     
 
 
@@ -176,70 +225,85 @@ def test_rule_application(graph, rule):
 if __name__ == '__main__':
       
     print('\n *** Test Preparation ***')
-    graph = load_test_graph()
+    graph_1 = load_test_graph(TEST_FILE_NAME_1)
+    graph_2 = load_test_graph(TEST_FILE_NAME_2)
+    graph_3 = load_test_graph(TEST_FILE_NAME_3)
     print('\n \n')
     
     print('\n ///////////////////// Extraction Rule 1')
     
     print('\n *** Step Test ***')
     print('\n -- Step 1: Search Pattern')
-    pattern_set = test_search_pattern_1(graph)
-    test_search_structure(graph)
+    pattern_set = test_search_pattern_1(graph_1)
+    test_search_structure(graph_1)
     print('\n \n')
     
     print('\n *** Unit Test ***')
-    test_rule_application(graph, rule_1.extract_atom_class)
+    test_rule_application(TEST_FILE_NAME_1, graph_1, rule_1.extract_atom_class)
     print('\n \n')
     
     print('\n ///////////////////// Extraction Rule 2')
     
     print('\n *** Step Test ***')
     print('\n -- Step 1: Search Pattern')
-    pattern_set = test_search_pattern_2(graph)
+    pattern_set = test_search_pattern_2(graph_1)
     print('\n \n')
     
     print('\n *** Unit Test ***')
-    test_rule_application(graph, rule_2.extract_atom_individual)
+    test_rule_application(TEST_FILE_NAME_1, graph_1, rule_2.extract_atom_individual)
     print('\n \n')
     
     print('\n ///////////////////// Extraction Rule 3')
     
     print('\n *** Step Test ***')
     print('\n -- Step 1: Search Pattern')
-    pattern_set = test_search_pattern_3(graph)
+    pattern_set = test_search_pattern_3(graph_1)
     print('\n \n')
     
     print('\n *** Unit Test ***')
-    test_rule_application(graph, rule_3.extract_atom_property)
+    test_rule_application(TEST_FILE_NAME_1, graph_1, rule_3.extract_atom_property)
     print('\n \n')
     
     print('\n ///////////////////// Extraction Rule 4')
     
     print('\n *** Step Test ***')
     print('\n -- Step 1: Search Pattern')
-    pattern_set = test_search_pattern_4(graph)
+    pattern_set = test_search_pattern_4(graph_1)
     print('\n \n')
     
     print('\n *** Unit Test ***')
-    test_rule_application(graph, rule_4.extract_atom_value)
+    test_rule_application(TEST_FILE_NAME_1, graph_1, rule_4.extract_atom_value)
     print('\n \n')
     
     print('\n ///////////////////// Extraction Rule 5')
     
     print('\n *** Step Test ***')
     print('\n -- Step 1: Search Pattern')
-    pattern_set = test_search_pattern_5(graph)
+    pattern_set = test_search_pattern_5(graph_1)
     print('\n \n')
     
     print('\n *** Unit Test ***')
-    test_rule_application(graph, rule_5.extract_atom_phenomena)
+    test_rule_application(TEST_FILE_NAME_1, graph_1, rule_5.extract_atom_phenomena)
+    print('\n \n')
+    
+    print('\n ///////////////////// Extraction Rule 6')
+    
+    print('\n *** Step Test ***')
+    print('\n -- Step 1: Search Pattern')
+    pattern_set = test_search_pattern_6(graph_3)
+    print('\n \n')
+    
+    print('\n *** Unit Test ***')
+    test_rule_application(TEST_FILE_NAME_3, graph_3, rule_6.propagate_atom_relation)
+    print('\n \n')
     print('\n \n')
     
     print('\n ///////////////////// Additional Tests')
     print('\n *** Unit Test ***')
-    # test_rule_application(graph, rule_1.extract_atom_class)
-    # test_rule_application(graph, rule_3.extract_atom_property)
-    test_rule_application(graph, rule_6.propagate_atom_relation)
+    # test_rule_application(graph_1, rule_1.extract_atom_class)
+    # test_rule_application(graph_1, rule_3.extract_atom_property)
+    test_rule_application(TEST_FILE_NAME_1, graph_1, rule_6.propagate_atom_relation)
+    test_rule_application(TEST_FILE_NAME_2, graph_2, rule_6.propagate_atom_relation)
     print('\n \n')
 
     print('\n *** - ***')
\ No newline at end of file
diff --git a/tests/dev_tests/test_rule_composite_extractor.py b/tests/dev_tests/test_rule_composite_extractor.py
index 868b64e9ecafc78f99bfaf271ef8704810e75c70..1f7a7894a9c6b3f70f07c1ab315341b5b4e6ffcc 100644
--- a/tests/dev_tests/test_rule_composite_extractor.py
+++ b/tests/dev_tests/test_rule_composite_extractor.py
@@ -135,7 +135,6 @@ def test_rule_application(test_file_name, graph, rule):
     
     rule_label, new_triple_list = rule(graph)
     print(f' ----- label: {rule_label}')
-    print(f' ----- new_triple_list ({len(new_triple_list)}):')
     
     add_triples_in_graph(test_file_name, graph, new_triple_list)
     
diff --git a/tests/test_tenet_clara_main.py b/tests/test_tenet_clara_main.py
index d626c9a0aa5c7a5777fbc7e11fd83360af0cb990..a4c074fbba6231b0c33a07b1908c75aa9778ec26 100644
--- a/tests/test_tenet_clara_main.py
+++ b/tests/test_tenet_clara_main.py
@@ -29,7 +29,7 @@ from context import tenet
 # -- Input Data
 test_data_dir = f'{INPUT_DIR_PATH}amrDocuments/'
 
-uuid_num = '01'
+uuid_num = '03'
 amrld_dir_path = f'{test_data_dir}dev/asail_odrl_sentences/'
 amrld_file_path = f'{amrld_dir_path}s{uuid_num}.stog.amr.ttl'
 base_output_name = f'aos{uuid_num}'