diff --git a/.gitignore b/.gitignore
index 67e5ebe175bb71854266e7cc49bdb33775d098e3..7428db16766ac5e2720c8f1e2615ae919bceff64 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,3 +14,5 @@ input/unlDocuments/dev/*
 *catalog-v001.xml
 tests/output/*
 tenet/tenet.log
+tests/main_tests/test_odrl_output/*
+tests/main_tests/test_owl_output/*
diff --git a/tenet/scheme/amr_master_rule/owl_generation/owl_class_generator.py b/tenet/scheme/amr_master_rule/owl_generation/owl_class_generator.py
index d68df63ce26101619f8fd1234dc9891e7c726850..944efcfdea5025e228305326198a85ec19a9d226 100644
--- a/tenet/scheme/amr_master_rule/owl_generation/owl_class_generator.py
+++ b/tenet/scheme/amr_master_rule/owl_generation/owl_class_generator.py
@@ -140,7 +140,7 @@ def __get_mother_class_net_list(atom_class_net_list, composite_class_net_list):
 
 def __is_class_to_generate(class_net):
     check_1 = class_net.is_deprecated()
-    if is_instance(class_net.mother_class_net, list):
+    if isinstance(class_net.mother_class_net, list):
         check_2 = len(class_net.mother_class_net) > 0
     else:
         check_2 = False
diff --git a/tenet/scheme/amr_master_rule/transduction/extractor/composite_class_extractor_1.py b/tenet/scheme/amr_master_rule/transduction/extractor/composite_class_extractor_1.py
index cb3bba46a69e49fcb45b9d04b300ba510e556a25..c16dbee563eeece59af21d05b86d6d49bde956ad 100644
--- a/tenet/scheme/amr_master_rule/transduction/extractor/composite_class_extractor_1.py
+++ b/tenet/scheme/amr_master_rule/transduction/extractor/composite_class_extractor_1.py
@@ -22,15 +22,15 @@ from transduction.naming_computer import define_composite_naming_1, define_restr
 
 def __search_pattern(graph):
     select_data_list = ['?property_net', '?class_net_0', '?class_net_1']
-    clause_list = [f'?property_net a [rdfs:subClassOf* net:Property_Net].',
-                   f'FILTER NOT EXISTS {{ ?property_net a net:Deprecated_Net. }}',
-                   f'FILTER NOT EXISTS {{ ?property_net a net:Action_Property_Net. }}',
-                   f'?class_net_0 a [rdfs:subClassOf* net:Class_Net].',
-                   f'FILTER NOT EXISTS {{ ?class_net_0 a net:Deprecated_Net. }}',
-                   f'?class_net_1 a [rdfs:subClassOf* net:Class_Net].',
-                   f'FILTER NOT EXISTS {{ ?class_net_1 a net:Deprecated_Net. }}',
-                   f'?property_net amr:role_ARG0 ?class_net_0.',
-                   f'?property_net amr:role_ARG1 ?class_net_1.']
+    clause_list = ['?property_net a [rdfs:subClassOf* net:Property_Net].',
+                   'FILTER NOT EXISTS {{ ?property_net a net:Deprecated_Net. }}',
+                   'FILTER NOT EXISTS {{ ?property_net a net:Action_Property_Net. }}',
+                   '?class_net_0 a [rdfs:subClassOf* net:Class_Net].',
+                   'FILTER NOT EXISTS {{ ?class_net_0 a net:Deprecated_Net. }}',
+                   '?class_net_1 a [rdfs:subClassOf* net:Class_Net].',
+                   'FILTER NOT EXISTS {{ ?class_net_1 a net:Deprecated_Net. }}',
+                   '?property_net amr:role_ARG0 ?class_net_0.',
+                   '?property_net amr:role_ARG1 ?class_net_1.']
     query_code = generate_select_query(graph, select_data_list, clause_list)
     result_set = graph.query(query_code) 
     return query_code, result_set
@@ -74,20 +74,20 @@ def __propagate_relation(target_net, base_net):
 # Construct Method(s)
 #==============================================================================
 
-def __construct_restriction_net(graph, property_net_1, property_net_2):
+def __construct_restriction_net(graph, property_net, target_class_net):
     
     # -- Net Composition
     restriction_net = net.RestrictionNet(graph)
-    restriction_net.compose(property_net_1, property_net_2)
+    restriction_net.compose(property_net, target_class_net)
     
     # -- Data Computation
-    restriction_net.restriction_property = property_net_1.uri
-    restriction_net.restriction_net_value = property_net_2.uri
+    restriction_net.restriction_property = property_net.uri
+    restriction_net.restriction_net_value = target_class_net.uri
 
     # -- Relation Propagation: None
 
     # -- Net Naming
-    restriction_net.naming = define_restriction_naming(property_net_1, property_net_2)
+    restriction_net.naming = define_restriction_naming(property_net, target_class_net)
     
     # -- Finalization
     restriction_net.finalize()
diff --git a/tenet/scheme/amr_master_rule/transduction/heuristic_deducer/refine_restriction_1.py b/tenet/scheme/amr_master_rule/transduction/heuristic_deducer/refine_restriction_1.py
new file mode 100644
index 0000000000000000000000000000000000000000..e1aaa7d18ea892edda60b99f6c378059a1a248b9
--- /dev/null
+++ b/tenet/scheme/amr_master_rule/transduction/heuristic_deducer/refine_restriction_1.py
@@ -0,0 +1,174 @@
+#!/usr/bin/python3.10
+# -*-coding:Utf-8 -*
+
+#==============================================================================
+# refine_restriction_1: Rule for heuristic deduction
+#------------------------------------------------------------------------------
+# Heuristic deduction rule to refine restriction net value
+#==============================================================================
+
+from transduction import net
+from transduction.query_builder import generate_select_query
+from transduction.naming_computer import define_composite_naming_1, define_restriction_naming
+
+
+#==============================================================================
+# Pattern Search: 
+#    restriction(compositeClass, restrictionNet)
+#==============================================================================
+
+def __search_pattern(graph):
+    select_data_list = ['?composite_class_net', 
+                        '?restriction_net', 
+                        '?predicate_property_net', 
+                        '?new_net_value']
+    clause_list = [      
+        '?composite_class_net a net:Composite_Class_Net.',
+        '?composite_class_net net:hasRestriction ?restriction_net.',   
+        '?restriction_net a net:Restriction_Net.',
+        '?restriction_net net:hasRestrictionNetValue ?origin_net_value.',
+        '?restriction_net net:hasRestrictionOnProperty ?predicate_property_net.'
+        '?new_net_value net:hasMotherClassNet* ?origin_net_value.'
+    ]
+    query_code = generate_select_query(graph, select_data_list, clause_list)
+    result_set = graph.query(query_code) 
+    return query_code, result_set
+
+
+
+#==============================================================================
+# Net Checking
+#==============================================================================
+
+def __verify_disjoint_cover(class_net_0, class_net_1):
+    check = True
+    for node in class_net_0.node:
+        if node in class_net_1.node: check = False
+    return check
+
+
+
+#==============================================================================
+# Useful Computation Method(s)
+#============================================================================== 
+
+def __filter_relation(relation_list):
+    result_list = []
+    for relation in relation_list:
+        check = True
+        (s, p, o) = relation
+        if s == o: check = False
+        if check: result_list.append(relation)
+    return result_list
+
+
+def __propagate_relation(target_net, base_net):
+    # -- target_net.input_relation_list = base_net.input_relation_list
+    out_relation_list = __filter_relation(base_net.output_relation_list)
+    target_net.output_relation_list = out_relation_list
+    
+    
+    
+#==============================================================================
+# Construct Method(s)
+#==============================================================================
+
+def __construct_restriction_net(graph, property_net, target_class_net):
+    
+    # -- Net Composition
+    restriction_net = net.RestrictionNet(graph)
+    restriction_net.compose(property_net, target_class_net)
+    
+    # -- Data Computation
+    restriction_net.restriction_property = property_net.uri
+    restriction_net.restriction_net_value = target_class_net.uri
+
+    # -- Relation Propagation: None
+
+    # -- Net Naming
+    restriction_net.naming = define_restriction_naming(property_net, target_class_net)
+    
+    # -- Finalization
+    restriction_net.finalize()
+    triple_list = restriction_net.generate_triple_definition()
+    
+    return restriction_net, triple_list
+    
+    
+
+def __construct_composite_class_net(
+        graph, base_class_net, core_property_net, target_class_net):
+
+    # -- Net Composition
+    composite_class_net = net.CompositeClassNet(graph)
+    composite_class_net.compose(base_class_net, core_property_net, target_class_net)
+    
+    # -- Data Computation
+    composite_class_net.mother_class_net = base_class_net.uri
+
+    # -- Restriction Computation
+    restriction_net, triple_list_1 = __construct_restriction_net(graph, core_property_net, target_class_net)
+    composite_class_net.restriction = restriction_net.uri
+    
+    # -- Relation Propagation
+    __propagate_relation(composite_class_net, base_class_net) 
+
+    # -- Net Naming
+    composite_class_net.naming = define_composite_naming_1(
+        base_class_net, core_property_net, target_class_net)
+    
+    # -- Finalization
+    composite_class_net.finalize()
+    triple_list_2 = composite_class_net.generate_triple_definition()
+    result_triple_list = triple_list_1 + triple_list_2
+    
+    return composite_class_net, result_triple_list
+
+
+#==============================================================================
+# Main Method
+#==============================================================================
+
+def refine_composite_class(graph):
+    
+    # -- Rule Initialization 
+    rule_label = 'refine composite classes' 
+
+    # -- Search for patterns 
+    _, pattern_set = __search_pattern(graph)
+
+    # -- Selection Analyzing (1)
+    rule_triple_list = []
+    for pattern in pattern_set:
+        
+        # -- Net Selection
+        origin_composite_net = net.ClassNet(graph, uri=pattern.composite_class_net)
+        core_property_net = net.PropertyNet(graph, uri=pattern.predicate_property_net)
+        target_class_net = net.ClassNet(graph, uri=pattern.new_net_value)
+        
+        # -- Base class net of the composite class
+        assert isinstance(origin_composite_net.mother_class_net, list), 'Houston, we have a problem: incorrect net attribute'
+        assert len(origin_composite_net.mother_class_net) > 0, 'Houston, we have a problem: attribute is an empty list'
+        base_class_net_uri = origin_composite_net.mother_class_net[0]
+        base_class_net = net.ClassNet(graph, uri=base_class_net_uri)
+        
+        # -- Condition: disjoint cover
+        if __verify_disjoint_cover(base_class_net, target_class_net):
+            # print(f' *** DEVTEST *** {selection_2.class_net}')
+            
+            # -- New Net Construction (from 3 nets)
+            new_class, triple_list = __construct_composite_class_net(
+                graph, base_class_net, core_property_net, target_class_net)
+            
+            # -- Resulting List Update
+            # class_net_list.append(new_class)
+            rule_triple_list += triple_list
+        
+        # -- Deprecation: Origin Composte Net and Origin Restriction Net
+        rule_triple_list += origin_composite_net.deprecate()
+        origin_retriction_net = net.RestrictionNet(graph, uri=pattern.restriction_net)
+        rule_triple_list += origin_retriction_net.deprecate()
+
+    return rule_label, rule_triple_list
+
+ 
diff --git a/tenet/scheme/amr_master_rule/transduction/heuristic_deducer/relation_deducer_1.py b/tenet/scheme/amr_master_rule/transduction/heuristic_deducer/relation_deducer_1.py
index 106aebe6561e2d05cbdde965df799ae624293858..aafb2cad705168b7a44934d56313e6ed455f2c94 100644
--- a/tenet/scheme/amr_master_rule/transduction/heuristic_deducer/relation_deducer_1.py
+++ b/tenet/scheme/amr_master_rule/transduction/heuristic_deducer/relation_deducer_1.py
@@ -16,7 +16,6 @@ from transduction.naming_computer import define_individual_naming, define_relati
 
 #==============================================================================
 # Pattern Search: 
-#    motherClass(individualNet, compositeClass), 
 #    restriction(compositeClass, restrictionNet)
 #==============================================================================
 
@@ -84,18 +83,10 @@ def __define_individual_label(net):
     class_label = 'thing'
     naming_list = net.naming
     if len(naming_list) > 0:
-        assert len(naming_list) == 1, f'Houston, we have a problem: too many naming'
+        assert len(naming_list) == 1, 'Houston, we have a problem: too many naming'
         class_label = naming_list[0]
     return f'any {class_label}'
 
-
-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:
-        target_net.output_relation_list += [(_, row.outRelationRole, row.outNet)] 
         
 
 #==============================================================================
@@ -129,9 +120,6 @@ def __construct_individual_net(graph, mother_class_net):
     # -- Net Naming
     individual_net.naming = define_individual_naming(main_mother_class_net, structure_ref)
     
-    # -- Relation Propagation
-    # __propagate_relation(graph, individual_net, base_leaf) 
-    
     # -- Finalization
     individual_net.finalize()
     triple_definition = individual_net.generate_triple_definition()
diff --git a/tests/main_tests/test_main_owl_extraction.py b/tests/main_tests/test_main_owl_extraction.py
index 9a32ea7b050852683466e7ec34d70f676eaa1279..7ee428d0bf8dd44763aaeda6e0830d959f639988 100644
--- a/tests/main_tests/test_main_owl_extraction.py
+++ b/tests/main_tests/test_main_owl_extraction.py
@@ -56,16 +56,16 @@ test_data_dir = f'{INPUT_DIR_PATH}amrDocuments/'
 # onto_prefix = f'SimpleTest'
 # base_output_name = f'SimpleTest'
 
-# uuid_num = '01'
-# amrld_dir_path = f'{test_data_dir}dev/solar-system-{uuid_num}/'
-# amrld_file_path = f'{amrld_dir_path}SSC-{uuid_num}-01.stog.amr.ttl'
-# base_output_name = f'SolarSystemDev{uuid_num}'
-# onto_prefix = f"https://tenet.tetras-libre.fr/demo/{uuid_num}/"
-
-amrld_dir_path = f'{test_data_dir}prod/SolarSystem-20230731/'
-onto_prefix = 'SolarSystemProd'
-base_output_name = 'SolarSystemProd'
-onto_prefix = f"https://tenet.tetras-libre.fr/demo/{base_output_name}/"
+uuid_num = '01'
+amrld_dir_path = f'{test_data_dir}dev/solar-system-{uuid_num}/'
+amrld_file_path = f'{amrld_dir_path}SSC-{uuid_num}-01.stog.amr.ttl'
+base_output_name = f'SolarSystemDev{uuid_num}'
+onto_prefix = f"https://tenet.tetras-libre.fr/demo/{uuid_num}/"
+
+# amrld_dir_path = f'{test_data_dir}prod/SolarSystem-20230731/'
+# onto_prefix = 'SolarSystemProd'
+# base_output_name = 'SolarSystemProd'
+# onto_prefix = f"https://tenet.tetras-libre.fr/demo/{base_output_name}/"
 
 # uuid_num = '03'
 # amrld_dir_path = f'{test_data_dir}dev/cc-sentence-examples/'
diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-20230911/technical-data/tenet.log b/tests/main_tests/test_owl_output/SolarSystemDev01-20230911/technical-data/tenet.log
index ee4d1f002c06e49c9f17c8b8b0903e2fcc6094b3..57f4128b59bde7f8016a05d0207b7d6e70c0272b 100644
--- a/tests/main_tests/test_owl_output/SolarSystemDev01-20230911/technical-data/tenet.log
+++ b/tests/main_tests/test_owl_output/SolarSystemDev01-20230911/technical-data/tenet.log
@@ -76,25 +76,25 @@
 - DEBUG -  [P-1] ----- Total rule number: 0
 - INFO -  [P-1] -- Step 1: Preprocessing
 - INFO -  [P-1] --- Sequence: Bug fixing for some known anomalies of AMR-LD data
-- INFO -  [P-1] ----- fix AMR bug (1): 5/5 new triples (605, 0:00:00.016651)
+- INFO -  [P-1] ----- fix AMR bug (1): 5/5 new triples (605, 0:00:00.015769)
 - INFO -  [P-1] --- Sequence: AMR reification from AMR-Linked-Data to AMR (tenet) structure
-- INFO -  [P-1] ----- reclassify AMR-LD concept (1): 10/10 new triples (615, 0:00:00.088058)
-- DEBUG -  [P-1] ----- reclassify AMR-LD concept (2): 0/0 new triple (615, 0:00:00.050809)
-- INFO -  [P-1] ----- reclassify AMR-LD concept (3): 12/12 new triples (627, 0:00:00.028966)
-- INFO -  [P-1] ----- reclassify AMR-LD concept (4): 16/16 new triples (643, 0:00:00.051800)
-- INFO -  [P-1] ----- reclassify AMR-LD concept (5): 2/4 new triples (645, 0:00:00.031016)
-- INFO -  [P-1] ----- reify roles as concept: 10/10 new triples (655, 0:00:00.038658)
-- INFO -  [P-1] ----- reclassify existing variable: 45/45 new triples (700, 0:00:00.071070)
-- INFO -  [P-1] ----- add new variable for reified concept: 8/8 new triples (708, 0:00:00.060560)
-- INFO -  [P-1] ----- add AMR leaf for reclassified concept: 33/33 new triples (741, 0:00:00.022385)
-- INFO -  [P-1] ----- add AMR leaf for reified concept: 8/8 new triples (749, 0:00:00.012266)
-- INFO -  [P-1] ----- add AMR edge for core relation: 27/27 new triples (776, 0:00:00.096893)
-- INFO -  [P-1] ----- add AMR edge for reified concept: 12/12 new triples (788, 0:00:00.062170)
-- INFO -  [P-1] ----- add AMR edge for name relation: 5/5 new triples (793, 0:00:00.021788)
-- DEBUG -  [P-1] ----- add AMR edge for quant relation: 0/0 new triple (793, 0:00:00.020574)
-- INFO -  [P-1] ----- add AMR edge for polarity relation: 5/5 new triples (798, 0:00:00.028750)
-- INFO -  [P-1] ----- update AMR edge role 1: 15/15 new triples (813, 0:00:00.072798)
-- INFO -  [P-1] ----- add AMR root: 5/5 new triples (818, 0:00:00.009705)
+- INFO -  [P-1] ----- reclassify AMR-LD concept (1): 10/10 new triples (615, 0:00:00.084424)
+- DEBUG -  [P-1] ----- reclassify AMR-LD concept (2): 0/0 new triple (615, 0:00:00.047048)
+- INFO -  [P-1] ----- reclassify AMR-LD concept (3): 12/12 new triples (627, 0:00:00.028867)
+- INFO -  [P-1] ----- reclassify AMR-LD concept (4): 16/16 new triples (643, 0:00:00.047621)
+- INFO -  [P-1] ----- reclassify AMR-LD concept (5): 2/4 new triples (645, 0:00:00.030833)
+- INFO -  [P-1] ----- reify roles as concept: 10/10 new triples (655, 0:00:00.036819)
+- INFO -  [P-1] ----- reclassify existing variable: 45/45 new triples (700, 0:00:00.019286)
+- INFO -  [P-1] ----- add new variable for reified concept: 8/8 new triples (708, 0:00:00.046260)
+- INFO -  [P-1] ----- add AMR leaf for reclassified concept: 33/33 new triples (741, 0:00:00.019183)
+- INFO -  [P-1] ----- add AMR leaf for reified concept: 8/8 new triples (749, 0:00:00.013246)
+- INFO -  [P-1] ----- add AMR edge for core relation: 27/27 new triples (776, 0:00:00.084235)
+- INFO -  [P-1] ----- add AMR edge for reified concept: 12/12 new triples (788, 0:00:00.061447)
+- INFO -  [P-1] ----- add AMR edge for name relation: 5/5 new triples (793, 0:00:00.018551)
+- DEBUG -  [P-1] ----- add AMR edge for quant relation: 0/0 new triple (793, 0:00:00.021481)
+- INFO -  [P-1] ----- add AMR edge for polarity relation: 5/5 new triples (798, 0:00:00.028579)
+- INFO -  [P-1] ----- update AMR edge role 1: 15/15 new triples (813, 0:00:00.070092)
+- INFO -  [P-1] ----- add AMR root: 5/5 new triples (818, 0:00:00.009257)
 - DEBUG -  [P-1] --- Serializing graph to tenet.tetras-libre.fr_demo_01_Preprocessing 
 - DEBUG -  [P-1] ----- step: Preprocessing
 - DEBUG -  [P-1] ----- id: https://tenet.tetras-libre.fr/demo/01/
@@ -103,40 +103,41 @@
 - INFO -  [P-1] ----- 218 triples extracted during Preprocessing step
 - INFO -  [P-1] -- Step 2: Transduction
 - INFO -  [P-1] --- Sequence: atomic extraction sequence
-- INFO -  [P-1] ----- extract atom classes: 30/30 new triples (848, 0:00:00.157451)
-- INFO -  [P-1] ----- extract atom individuals: 8/8 new triples (856, 0:00:00.045260)
-- INFO -  [P-1] ----- extract atomic properties: 75/75 new triples (931, 0:00:00.240807)
-- INFO -  [P-1] ----- extract atom values: 10/10 new triples (941, 0:00:00.055005)
-- INFO -  [P-1] ----- extract atom phenomena: 14/14 new triples (955, 0:00:00.066652)
-- INFO -  [P-1] ----- propagate atom relations: 24/68 new triples (979, 0:00:01.011709)
+- INFO -  [P-1] ----- extract atom classes: 30/30 new triples (848, 0:00:00.147780)
+- INFO -  [P-1] ----- extract atom individuals: 8/8 new triples (856, 0:00:00.044693)
+- INFO -  [P-1] ----- extract atomic properties: 75/75 new triples (931, 0:00:00.205208)
+- INFO -  [P-1] ----- extract atom values: 10/10 new triples (941, 0:00:00.126885)
+- INFO -  [P-1] ----- extract atom phenomena: 14/14 new triples (955, 0:00:00.069580)
+- INFO -  [P-1] ----- propagate atom relations: 24/68 new triples (979, 0:00:00.917698)
 - INFO -  [P-1] --- Sequence: classification sequence (1)
-- DEBUG -  [P-1] ----- classify modality phenomena: 0/0 new triple (979, 0:00:00.040453)
-- INFO -  [P-1] ----- reclassify argument property to class: 11/14 new triples (990, 0:00:00.086995)
+- DEBUG -  [P-1] ----- classify modality phenomena: 0/0 new triple (979, 0:00:00.019872)
+- INFO -  [P-1] ----- reclassify argument property to class: 11/14 new triples (990, 0:00:00.065699)
 - INFO -  [P-1] --- Sequence: phenomena analyze sequence (1)
-- INFO -  [P-1] ----- analyze "polarity" phenomena (1): 32/36 new triples (1022, 0:00:00.101186)
-- DEBUG -  [P-1] ----- analyze "polarity" phenomena (2): 0/0 new triple (1022, 0:00:00.017516)
-- DEBUG -  [P-1] ----- analyze "polarity" phenomena (3): 0/0 new triple (1022, 0:00:00.017212)
-- DEBUG -  [P-1] ----- analyze "polarity" phenomena (4): 0/0 new triple (1022, 0:00:00.042949)
-- DEBUG -  [P-1] ----- analyze "polarity" phenomena (5): 0/0 new triple (1022, 0:00:00.052423)
-- DEBUG -  [P-1] ----- analyze modifier phenomena (mod): 0/0 new triple (1022, 0:00:00.009406)
-- DEBUG -  [P-1] ----- classify modality phenomena: 0/0 new triple (1022, 0:00:00.020954)
+- INFO -  [P-1] ----- analyze "polarity" phenomena (1): 32/36 new triples (1022, 0:00:00.094312)
+- DEBUG -  [P-1] ----- analyze "polarity" phenomena (2): 0/0 new triple (1022, 0:00:00.020470)
+- DEBUG -  [P-1] ----- analyze "polarity" phenomena (3): 0/0 new triple (1022, 0:00:00.016336)
+- DEBUG -  [P-1] ----- analyze "polarity" phenomena (4): 0/0 new triple (1022, 0:00:00.037595)
+- DEBUG -  [P-1] ----- analyze "polarity" phenomena (5): 0/0 new triple (1022, 0:00:00.039551)
+- DEBUG -  [P-1] ----- analyze modifier phenomena (mod): 0/0 new triple (1022, 0:00:00.008422)
+- DEBUG -  [P-1] ----- classify modality phenomena: 0/0 new triple (1022, 0:00:00.019989)
 - INFO -  [P-1] --- Sequence: phenomena analyze sequence (2)
-- INFO -  [P-1] ----- analyze "or" phenomena (1): 1/1 new triple (1023, 0:00:00.079492)
-- INFO -  [P-1] ----- analyze "or" phenomena (2): 55/82 new triples (1078, 0:00:00.267365)
-- INFO -  [P-1] ----- analyze "and" phenomena (1): 2/14 new triples (1080, 0:00:00.214602)
-- DEBUG -  [P-1] ----- analyze "and" phenomena (2): 0/0 new triple (1080, 0:00:00.012602)
+- INFO -  [P-1] ----- analyze "or" phenomena (1): 1/1 new triple (1023, 0:00:00.071583)
+- INFO -  [P-1] ----- analyze "or" phenomena (2): 55/82 new triples (1078, 0:00:00.254645)
+- INFO -  [P-1] ----- analyze "and" phenomena (1): 2/14 new triples (1080, 0:00:00.139627)
+- DEBUG -  [P-1] ----- analyze "and" phenomena (2): 0/0 new triple (1080, 0:00:00.010826)
 - INFO -  [P-1] --- Sequence: composite class extraction sequence
-- INFO -  [P-1] ----- extract composite classes (1): 127/138 new triples (1207, 0:00:00.508525)
-- DEBUG -  [P-1] ----- extract composite classes (2): 0/0 new triple (1207, 0:00:00.030480)
+- INFO -  [P-1] ----- extract composite classes (1): 127/138 new triples (1207, 0:00:00.490377)
+- DEBUG -  [P-1] ----- extract composite classes (1): 0/0 new triple (1207, 0:00:00.038514)
+- DEBUG -  [P-1] ----- extract composite classes (2): 0/0 new triple (1207, 0:00:00.029406)
 - INFO -  [P-1] --- Sequence: classification sequence (2)
-- INFO -  [P-1] ----- classify class net as entity from core arguments: 10/181 new triples (1217, 0:00:00.254828)
-- DEBUG -  [P-1] ----- classify class net as entity from :part relation: 0/0 new triple (1217, 0:00:00.009716)
-- DEBUG -  [P-1] ----- classify class net as entity from degree arguments: 0/0 new triple (1217, 0:00:00.020562)
-- INFO -  [P-1] ----- Associate mother to class net from :domain relation: 7/78 new triples (1224, 0:00:00.146401)
-- DEBUG -  [P-1] ----- Propagate individuals to net with same base node: 0/20 new triple (1224, 0:00:00.042257)
-- INFO -  [P-1] ----- Propagate individuals to net with domain link: 3/60 new triples (1227, 0:00:00.113569)
+- INFO -  [P-1] ----- classify class net as entity from core arguments: 10/181 new triples (1217, 0:00:00.249169)
+- DEBUG -  [P-1] ----- classify class net as entity from :part relation: 0/0 new triple (1217, 0:00:00.009327)
+- DEBUG -  [P-1] ----- classify class net as entity from degree arguments: 0/0 new triple (1217, 0:00:00.016451)
+- INFO -  [P-1] ----- Associate mother to class net from :domain relation: 7/78 new triples (1224, 0:00:00.138371)
+- DEBUG -  [P-1] ----- Propagate individuals to net with same base node: 0/20 new triple (1224, 0:00:00.042207)
+- INFO -  [P-1] ----- Propagate individuals to net with domain link: 3/60 new triples (1227, 0:00:00.108527)
 - INFO -  [P-1] --- Sequence: heuristic deduction sequence
-- INFO -  [P-1] ----- deduce individual and relation from restriction (recursively): 96/72 new triples (1323, 0:00:01.124770)
+- INFO -  [P-1] ----- deduce individual and relation from restriction (recursively): 96/72 new triples (1323, 0:00:01.140917)
 - DEBUG -  [P-1] --- Serializing graph to tenet.tetras-libre.fr_demo_01_Transduction 
 - DEBUG -  [P-1] ----- step: Transduction
 - DEBUG -  [P-1] ----- id: https://tenet.tetras-libre.fr/demo/01/
@@ -145,10 +146,10 @@
 - INFO -  [P-1] ----- 505 triples extracted during Transduction step
 - INFO -  [P-1] -- Step 3: Generation
 - INFO -  [P-1] --- Sequence: OWL Generation Sequence
-- INFO -  [P-1] ----- generate OWL class: 51/55 new triples (1374, 0:00:00.555340)
-- INFO -  [P-1] ----- generate OWL property: 29/29 new triples (1403, 0:00:00.320895)
-- INFO -  [P-1] ----- generate OWL individual: 20/21 new triples (1423, 0:00:00.232342)
-- INFO -  [P-1] ----- generate OWL relation (property): 5/5 new triples (1428, 0:00:00.220619)
+- INFO -  [P-1] ----- generate OWL class: 51/55 new triples (1374, 0:00:00.546193)
+- INFO -  [P-1] ----- generate OWL property: 29/29 new triples (1403, 0:00:00.277973)
+- INFO -  [P-1] ----- generate OWL individual: 20/21 new triples (1423, 0:00:00.208283)
+- INFO -  [P-1] ----- generate OWL relation (property): 5/5 new triples (1428, 0:00:00.191913)
 - DEBUG -  [P-1] --- Serializing graph to tenet.tetras-libre.fr_demo_01_Generation 
 - DEBUG -  [P-1] ----- step: Generation
 - DEBUG -  [P-1] ----- id: https://tenet.tetras-libre.fr/demo/01/