From d74c6391db5dcac8dfee63d233240b25b90d75fa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aur=C3=A9lien=20Lamercerie?=
 <aurelien.lamercerie@tetras-libre.fr>
Date: Wed, 6 Sep 2023 17:37:06 +0200
Subject: [PATCH] New Transduction Net: Relation Net

---
 tenet/scheme/owl_amr_scheme_1.py              |   7 +-
 tenet/structure/owl-snet-schema.ttl           |   5 +
 tenet/transduction/net/__init__.py            |   2 +
 tenet/transduction/net/relation_net.py        |  77 ++++++++++++
 .../semantic_net_rdf_reference.py             |   5 +
 .../test_data/devGraph1.ttl                   |  52 +++++---
 .../test_transduction_semantic_net_1.py       |   4 +
 .../test_transduction_semantic_net_2.py       |  17 ++-
 tests/main_tests/test_main_owl_extraction.py  |   2 +-
 .../SolarSystemDev01_factoid.ttl              |  10 ++
 .../technical-data/tenet.log                  | 116 +++++++++---------
 .../tenet.tetras-libre.fr_demo_01.ttl         |   9 +-
 ...net.tetras-libre.fr_demo_01_Generation.ttl |  89 +++++++++-----
 ....tetras-libre.fr_demo_01_Preprocessing.ttl |   9 +-
 ...t.tetras-libre.fr_demo_01_Transduction.ttl |  59 ++++++---
 .../tenet.tetras-libre.fr_demo_01_factoid.ttl |  10 ++
 .../technical-data/tenet.log                  | 106 ++++++++--------
 .../tenet.tetras-libre.fr_demo_04.ttl         |   9 +-
 ...net.tetras-libre.fr_demo_04_Generation.ttl |   9 +-
 ....tetras-libre.fr_demo_04_Preprocessing.ttl |   9 +-
 ...t.tetras-libre.fr_demo_04_Transduction.ttl |   9 +-
 21 files changed, 414 insertions(+), 201 deletions(-)
 create mode 100644 tenet/transduction/net/relation_net.py

diff --git a/tenet/scheme/owl_amr_scheme_1.py b/tenet/scheme/owl_amr_scheme_1.py
index b0069466..49f4155a 100644
--- a/tenet/scheme/owl_amr_scheme_1.py
+++ b/tenet/scheme/owl_amr_scheme_1.py
@@ -117,6 +117,10 @@ classification_sequence_2 = ['classification sequence (2)',
                              rule.propagate_individual_2
                              ]
 
+heuristic_deduction_sequence = ['heuristic dedeuction sequence',
+                             rule.deduce_individual_and_relation_from_restriction
+                             ]
+
 
 # # ---------------------------------------------
 # # OWL Generation
@@ -144,7 +148,8 @@ scheme = {
                      phenomena_analyze_sequence_1,
                      phenomena_analyze_sequence_2,
                      composite_class_extraction_sequence,
-                     classification_sequence_2],
+                     classification_sequence_2,
+                     heuristic_deduction_sequence],
     
     'Generation': [owl_generation_sequence]
     
diff --git a/tenet/structure/owl-snet-schema.ttl b/tenet/structure/owl-snet-schema.ttl
index b1ce2769..9a80d45f 100644
--- a/tenet/structure/owl-snet-schema.ttl
+++ b/tenet/structure/owl-snet-schema.ttl
@@ -356,6 +356,11 @@ net:Relation rdf:type owl:Class ;
              rdfs:subClassOf net:Net_Structure .
 
 
+###  https://tenet.tetras-libre.fr/semantic-net#Relation_Net
+net:Relation_Net rdf:type owl:Class ;
+                 rdfs:subClassOf net:Net .
+
+
 ###  https://tenet.tetras-libre.fr/semantic-net#Restriction_Net
 net:Restriction_Net rdf:type owl:Class ;
                     rdfs:subClassOf net:Net .
diff --git a/tenet/transduction/net/__init__.py b/tenet/transduction/net/__init__.py
index 2671c2e2..58de63d1 100644
--- a/tenet/transduction/net/__init__.py
+++ b/tenet/transduction/net/__init__.py
@@ -23,5 +23,7 @@ from transduction.net.restriction_net import RestrictionNet
 
 from transduction.net.axiom_net import AxiomNet
 
+from transduction.net.relation_net import RelationNet
+
 from transduction.net.rule_net import RuleNet
 from transduction.net.action_net import ActionNet
diff --git a/tenet/transduction/net/relation_net.py b/tenet/transduction/net/relation_net.py
new file mode 100644
index 00000000..b538bc95
--- /dev/null
+++ b/tenet/transduction/net/relation_net.py
@@ -0,0 +1,77 @@
+#!/usr/bin/python3.10
+# -*-coding:Utf-8 -*
+
+#==============================================================================
+# TENET: Relation Net
+#------------------------------------------------------------------------------
+# Class to handle semantic nets 
+#==============================================================================
+
+from transduction.net import Net
+from transduction.rdfterm_computer import produce_uriref, produce_literal
+
+
+#==============================================================================
+# Net Class
+#==============================================================================
+
+class RelationNet(Net):
+    """ Class to handle semantic net.
+    """
+    
+    #--------------------------------------------------------------------------
+    # Constructor(s)
+    #--------------------------------------------------------------------------
+           
+    def __init__(self, support_graph, uri=None):
+
+        # -- Parent init
+        super().__init__(support_graph, uri)
+        
+        # -- Net Type
+        self.type_name = 'relation'
+        self.type_id = 'Relation_Net'
+        self.type_uri = produce_uriref(self.support_graph, f'net:{self.type_id}')
+        
+        # -- Net Attributes
+        self.attr_list += ['subject_net', 'predicate_net', 'object_net']
+        self._subject_net = None
+        self._predicate_net = None
+        self._object_net = None
+        
+        
+    #--------------------------------------------------------------------------
+    # Accessors for Net Attributes
+    #--------------------------------------------------------------------------
+        
+    @property
+    def subject_net(self):
+        if self._subject_net is None: 
+            self._subject_net = self.get_value_list_from_graph('subject_net')
+        return self._subject_net
+    
+    @subject_net.setter
+    def subject_net(self, new_value):
+        self._subject_net = self.set_attribute_value_list(new_value, produce_uriref)
+        
+    
+    @property
+    def predicate_net(self):
+        if self._predicate_net is None: 
+            self._predicate_net = self.get_value_list_from_graph('predicate_net')
+        return self._predicate_net
+    
+    @predicate_net.setter
+    def predicate_net(self, new_value):
+        self._predicate_net = self.set_attribute_value_list(new_value, produce_uriref)
+        
+    
+    @property
+    def object_net(self):
+        if self._object_net is None: 
+            self._object_net = self.get_value_list_from_graph('object_net')
+        return self._object_net
+    
+    @object_net.setter
+    def object_net(self, new_value):
+        self._object_net = self.set_attribute_value_list(new_value, produce_uriref)
diff --git a/tenet/transduction/semantic_net_rdf_reference.py b/tenet/transduction/semantic_net_rdf_reference.py
index 079d1a9d..abd5e63c 100644
--- a/tenet/transduction/semantic_net_rdf_reference.py
+++ b/tenet/transduction/semantic_net_rdf_reference.py
@@ -77,6 +77,11 @@ class SemanticNetReferenceHandle:
             'axiom_uri':                'hasAxiomURI',
             'axiom_net_argument':       'hasNetArgument',
             
+            # Relation Net
+            'subject_net':              'hasSubjectNet',
+            'predicate_net':            'hasPredicateNet',
+            'object_net':               'hasObjectNet',
+            
             # Action Net
             'action_name':              'hasActionName',
             'target_class_net':         'hasTargetClassNet',
diff --git a/tests/dev_technical_tests/test_data/devGraph1.ttl b/tests/dev_technical_tests/test_data/devGraph1.ttl
index ef485905..75787f0a 100644
--- a/tests/dev_technical_tests/test_data/devGraph1.ttl
+++ b/tests/dev_technical_tests/test_data/devGraph1.ttl
@@ -330,6 +330,7 @@ sys:fromStructure rdf:type owl:AnnotationProperty ;
 ###  https://tenet.tetras-libre.fr/config/parameters#baseURI
 cprm:baseURI rdf:type owl:AnnotationProperty ;
              rdfs:subPropertyOf cprm:configParamProperty ;
+             rdfs:range xsd:string ;
              rdfs:domain cprm:Frame .
 
 
@@ -341,30 +342,32 @@ cprm:configParamProperty rdf:type owl:AnnotationProperty ;
 ###  https://tenet.tetras-libre.fr/config/parameters#netURI
 cprm:netURI rdf:type owl:AnnotationProperty ;
             rdfs:subPropertyOf cprm:configParamProperty ;
+            rdfs:range xsd:string ;
             rdfs:domain cprm:Frame .
 
 
 ###  https://tenet.tetras-libre.fr/config/parameters#newClassRef
-cprm:newClassRef rdfs:label "Reference for a new class" ;
-                 rdf:type owl:AnnotationProperty ;
+cprm:newClassRef rdf:type owl:AnnotationProperty ;
+                 rdfs:label "Reference for a new class" ;
                  rdfs:subPropertyOf cprm:configParamProperty .
 
 
 ###  https://tenet.tetras-libre.fr/config/parameters#newPropertyRef
-cprm:newPropertyRef rdfs:label "Reference for a new property" ;
-                    rdf:type owl:AnnotationProperty ;
+cprm:newPropertyRef rdf:type owl:AnnotationProperty ;
+                    rdfs:label "Reference for a new property" ;
                     rdfs:subPropertyOf cprm:configParamProperty .
 
 
 ###  https://tenet.tetras-libre.fr/config/parameters#objectRef
-cprm:objectRef rdfs:label "Object Reference" ;
-               rdf:type owl:AnnotationProperty ;
+cprm:objectRef rdf:type owl:AnnotationProperty ;
+               rdfs:label "Object Reference" ;
                rdfs:subPropertyOf cprm:configParamProperty .
 
 
 ###  https://tenet.tetras-libre.fr/config/parameters#targetOntologyURI
 cprm:targetOntologyURI rdf:type owl:AnnotationProperty ;
                        rdfs:subPropertyOf cprm:configParamProperty ;
+                       rdfs:range xsd:string ;
                        rdfs:domain cprm:Frame .
 
 
@@ -820,18 +823,15 @@ amr:AMR_DataProperty rdf:type owl:DatatypeProperty .
 
 
 ###  https://tenet.tetras-libre.fr/config/parameters#baseURI
-cprm:baseURI rdf:type owl:DatatypeProperty ;
-             rdfs:range xsd:string .
+cprm:baseURI rdf:type owl:DatatypeProperty .
 
 
 ###  https://tenet.tetras-libre.fr/config/parameters#netURI
-cprm:netURI rdf:type owl:DatatypeProperty ;
-            rdfs:range xsd:string .
+cprm:netURI rdf:type owl:DatatypeProperty .
 
 
 ###  https://tenet.tetras-libre.fr/config/parameters#targetOntologyURI
-cprm:targetOntologyURI rdf:type owl:DatatypeProperty ;
-                       rdfs:range xsd:string .
+cprm:targetOntologyURI rdf:type owl:DatatypeProperty .
 
 
 #################################################################
@@ -1092,6 +1092,11 @@ amr:AMR_Variable rdf:type owl:Class ;
                  rdfs:subClassOf amr:AMR_Element .
 
 
+###  https://amr.tetras-libre.fr/rdf/schema#Relation_Net
+amr:Relation_Net rdf:type owl:Class ;
+                 rdfs:subClassOf net:Net .
+
+
 ###  https://amr.tetras-libre.fr/rdf/schema#concept_and
 amr:concept_and rdf:type owl:Class ;
                 rdfs:subClassOf amr:AMR_Relation_Concept .
@@ -2174,10 +2179,7 @@ amr:variable_s2 rdf:type owl:NamedIndividual ,
 
 
 ###  https://tenet.tetras-libre.fr/config/parameters#Config_Parameters
-cprm:Config_Parameters rdf:type owl:NamedIndividual ;
-                       cprm:baseURI "https://tenet.tetras-libre.fr/" ;
-                       cprm:netURI "https://tenet.tetras-libre.fr/semantic-net#" ;
-                       cprm:targetOntologyURI "https://tenet.tetras-libre.fr/base-ontology/" .
+cprm:Config_Parameters rdf:type owl:NamedIndividual .
 
 
 ###  https://tenet.tetras-libre.fr/semantic-net#atomClass_gravitation_g
@@ -2236,6 +2238,13 @@ net:atomClass_system_p rdf:type owl:NamedIndividual ,
                                          net:relation_propagated .
 
 
+###  https://tenet.tetras-libre.fr/semantic-net#relationNet_relation_test_1
+net:relationNet_relation_test_1 rdf:type net:Relation_Net ;
+                       net:hasSubjectNet net:subject-test-net ;
+                       net:hasPredicateNet net:predicate-test-net ;
+                       net:hasObjectNet net:object-test-net .
+
+
 ###  https://tenet.tetras-libre.fr/semantic-net#atomClass_system_s
 net:atomClass_system_s rdf:type owl:NamedIndividual ,
                                 net:Atom_Class_Net ,
@@ -2663,8 +2672,8 @@ net:value_negative_blankNode rdf:type owl:NamedIndividual ,
 <http://amr.isi.edu/amr_data/SSC-01-01#p> rdfs:label "Solar System" .
 
 
-<http://amr.isi.edu/amr_data/SSC-01-01#s> ns11:domain <http://amr.isi.edu/amr_data/SSC-01-01#p> ;
-                                          ns11:part <http://amr.isi.edu/amr_data/SSC-01-01#a> .
+<http://amr.isi.edu/amr_data/SSC-01-01#s> ns11:part <http://amr.isi.edu/amr_data/SSC-01-01#a> ;
+                                          ns11:domain <http://amr.isi.edu/amr_data/SSC-01-01#p> .
 
 
 <http://amr.isi.edu/amr_data/test-1#root01> ns21:hasSentence "The sun is a star." ;
@@ -2725,8 +2734,8 @@ amr:concept_object amr:fromAmrLk ns11:object ;
                    amr:label "object" .
 
 
-amr:concept_or amr:hasPhenomenaLink amr:phenomena_conjunction_or ;
-               amr:label "or" ;
+amr:concept_or amr:label "or" ;
+               amr:hasPhenomenaLink amr:phenomena_conjunction_or ;
                amr:fromAmrLk ns21:or .
 
 
@@ -2834,7 +2843,10 @@ amr:role_polarity amr:label "polarity" .
 
 
 cprm:Config_Parameters cprm:newPropertyRef "new-relation#" ;
+                       cprm:targetOntologyURI "https://tenet.tetras-libre.fr/base-ontology/" ;
                        cprm:objectRef "object_" ;
+                       cprm:netURI "https://tenet.tetras-libre.fr/semantic-net#" ;
+                       cprm:baseURI "https://tenet.tetras-libre.fr/" ;
                        cprm:newClassRef "new-class#" .
 
 
diff --git a/tests/dev_technical_tests/test_transduction_semantic_net_1.py b/tests/dev_technical_tests/test_transduction_semantic_net_1.py
index 719304f6..7436fcf4 100644
--- a/tests/dev_technical_tests/test_transduction_semantic_net_1.py
+++ b/tests/dev_technical_tests/test_transduction_semantic_net_1.py
@@ -44,6 +44,8 @@ from tenet.transduction.net import RestrictionNet
 
 from tenet.transduction.net import AxiomNet
 
+from tenet.transduction.net import RelationNet
+
 
 
 
@@ -126,5 +128,7 @@ if __name__ == '__main__':
     test_get_net_attribute(graph, 'RestrictionNet', 'net:restriction_hasPart_sun')  
     
     test_get_net_attribute(graph, 'AxiomNet', 'net:atomClass_sun_s2')
+    
+    test_get_net_attribute(graph, 'RelationNet', 'net:relationNet_relation_test_1')
                       
     print('\n \n')
\ No newline at end of file
diff --git a/tests/dev_technical_tests/test_transduction_semantic_net_2.py b/tests/dev_technical_tests/test_transduction_semantic_net_2.py
index e5184dcd..8c506037 100644
--- a/tests/dev_technical_tests/test_transduction_semantic_net_2.py
+++ b/tests/dev_technical_tests/test_transduction_semantic_net_2.py
@@ -43,6 +43,8 @@ from tenet.transduction.net import RestrictionNet
 
 from tenet.transduction.net import AxiomNet
 
+from tenet.transduction.net import RelationNet
+
 
 
 #==============================================================================
@@ -185,12 +187,21 @@ def test_set_attribute_restriction_net(graph, net_uri):
     
 
 def test_set_attribute_axiom_net(graph, net_uri): 
-    print('\n -- Restriction Net')
+    print('\n -- Axiom Net')
     net = AxiomNet(graph, uri=net_uri)
     net.axiom_name = 'disjointProperty'
     net.axiom_uri = 'owl:propertyDisjointWith'
     net.axiom_net_argument = ['net:atomProperty_direct_d2', 'net:atomProperty_not-direct_d2']
     print_net_attributes(net)
+    
+
+def test_set_attribute_relation_net(graph, net_uri): 
+    print('\n -- Relation Net')
+    net = RelationNet(graph, uri=net_uri)
+    net.subject_net = 'new-subject'
+    net.predicate_net = 'new-predicate'
+    net.object_net = 'new-object'
+    print_net_attributes(net)
 
 
 
@@ -226,6 +237,8 @@ if __name__ == '__main__':
 
     test_set_attribute_restriction_net(graph, 'net:restriction_hasPart_sun')  
 
-    test_set_attribute_axiom_net(graph, 'net:axiom_disjointProperties_direct_not-direct')                      
+    test_set_attribute_axiom_net(graph, 'net:axiom_disjointProperties_direct_not-direct')      
+
+    test_set_attribute_relation_net(graph, 'net:relationNet_relation_test_1')                      
     
     print('\n \n')
\ No newline at end of file
diff --git a/tests/main_tests/test_main_owl_extraction.py b/tests/main_tests/test_main_owl_extraction.py
index ef595bb1..7ee428d0 100644
--- a/tests/main_tests/test_main_owl_extraction.py
+++ b/tests/main_tests/test_main_owl_extraction.py
@@ -56,7 +56,7 @@ test_data_dir = f'{INPUT_DIR_PATH}amrDocuments/'
 # onto_prefix = f'SimpleTest'
 # base_output_name = f'SimpleTest'
 
-uuid_num = '04'
+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}'
diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/SolarSystemDev01_factoid.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/SolarSystemDev01_factoid.ttl
index 4cfeb618..defdd53f 100644
--- a/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/SolarSystemDev01_factoid.ttl
+++ b/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/SolarSystemDev01_factoid.ttl
@@ -30,6 +30,11 @@
     rdfs:subPropertyOf ns1:Out_ObjectProperty ;
     ns1:fromStructure "SSC-01-01" .
 
+<https://tenet.tetras-libre.fr/extract-result#object-SSC-01-01> a owl:Individual,
+        <https://tenet.tetras-libre.fr/extract-result#object> ;
+    rdfs:label "any object" ;
+    ns1:fromStructure "SSC-01-01" .
+
 <https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-direct-sun> a owl:Class ;
     rdfs:subClassOf [ a owl:Restriction ;
             owl:onProperty <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> ;
@@ -44,6 +49,11 @@
         <https://tenet.tetras-libre.fr/extract-result#object> ;
     ns1:fromStructure "SSC-01-01" .
 
+<https://tenet.tetras-libre.fr/extract-result#sun-SSC-01-01> a owl:Individual,
+        <https://tenet.tetras-libre.fr/extract-result#sun> ;
+    rdfs:label "any sun" ;
+    ns1:fromStructure "SSC-01-01" .
+
 <https://tenet.tetras-libre.fr/extract-result#bind> a owl:ObjectProperty ;
     rdfs:label "bind" ;
     rdfs:subPropertyOf ns1:Out_ObjectProperty ;
diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.log b/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.log
index adc3ed3f..eca01e8d 100644
--- a/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.log
+++ b/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.log
@@ -59,13 +59,13 @@
 - DEBUG -  [P-1] --- Graph Initialization
 - DEBUG -  [P-1] ----- Configuration Loading
 - DEBUG -  [P-1] -------- RDF Schema (320)
-- DEBUG -  [P-1] -------- Semantic Net Definition (486)
-- DEBUG -  [P-1] -------- Config Parameter Definition (520)
+- DEBUG -  [P-1] -------- Semantic Net Definition (488)
+- DEBUG -  [P-1] -------- Config Parameter Definition (522)
 - DEBUG -  [P-1] ----- Frame Ontology Loading
-- DEBUG -  [P-1] -------- Base Ontology produced as output (550)
+- DEBUG -  [P-1] -------- Base Ontology produced as output (552)
 - DEBUG -  [P-1] --- Source Data Import
 - DEBUG -  [P-1] ----- Sentence Loading
-- DEBUG -  [P-1] -------- /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_data/amrDocuments/dev/solar-system-01/SSC-01-01.stog.amr.ttl (598)
+- DEBUG -  [P-1] -------- /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_data/amrDocuments/dev/solar-system-01/SSC-01-01.stog.amr.ttl (600)
 - DEBUG -  [P-1] --- Export work graph as turtle
 - DEBUG -  [P-1] ----- Work graph file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01.ttl 
 - INFO -  [P-1] ----- Sentence (id): SSC-01-01
@@ -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 (603, 0:00:00.018748)
+- INFO -  [P-1] ----- fix AMR bug (1): 5/5 new triples (605, 0:00:00.018851)
 - 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 (613, 0:00:00.086360)
-- DEBUG -  [P-1] ----- reclassify AMR-LD concept (2): 0/0 new triple (613, 0:00:00.044926)
-- INFO -  [P-1] ----- reclassify AMR-LD concept (3): 12/12 new triples (625, 0:00:00.032103)
-- INFO -  [P-1] ----- reclassify AMR-LD concept (4): 16/16 new triples (641, 0:00:00.050074)
-- INFO -  [P-1] ----- reclassify AMR-LD concept (5): 2/4 new triples (643, 0:00:00.028044)
-- INFO -  [P-1] ----- reify roles as concept: 10/10 new triples (653, 0:00:00.042727)
-- INFO -  [P-1] ----- reclassify existing variable: 45/45 new triples (698, 0:00:00.019205)
-- INFO -  [P-1] ----- add new variable for reified concept: 8/8 new triples (706, 0:00:00.046341)
-- INFO -  [P-1] ----- add AMR leaf for reclassified concept: 33/33 new triples (739, 0:00:00.026704)
-- INFO -  [P-1] ----- add AMR leaf for reified concept: 8/8 new triples (747, 0:00:00.012710)
-- INFO -  [P-1] ----- add AMR edge for core relation: 27/27 new triples (774, 0:00:00.086055)
-- INFO -  [P-1] ----- add AMR edge for reified concept: 12/12 new triples (786, 0:00:00.065025)
-- INFO -  [P-1] ----- add AMR edge for name relation: 5/5 new triples (791, 0:00:00.020676)
-- DEBUG -  [P-1] ----- add AMR edge for quant relation: 0/0 new triple (791, 0:00:00.028852)
-- INFO -  [P-1] ----- add AMR edge for polarity relation: 5/5 new triples (796, 0:00:00.033900)
-- INFO -  [P-1] ----- update AMR edge role 1: 15/15 new triples (811, 0:00:00.081349)
-- INFO -  [P-1] ----- add AMR root: 5/5 new triples (816, 0:00:00.013573)
+- INFO -  [P-1] ----- reclassify AMR-LD concept (1): 10/10 new triples (615, 0:00:00.101238)
+- DEBUG -  [P-1] ----- reclassify AMR-LD concept (2): 0/0 new triple (615, 0:00:00.049581)
+- INFO -  [P-1] ----- reclassify AMR-LD concept (3): 12/12 new triples (627, 0:00:00.028784)
+- INFO -  [P-1] ----- reclassify AMR-LD concept (4): 16/16 new triples (643, 0:00:00.051777)
+- INFO -  [P-1] ----- reclassify AMR-LD concept (5): 2/4 new triples (645, 0:00:00.028166)
+- INFO -  [P-1] ----- reify roles as concept: 10/10 new triples (655, 0:00:00.040290)
+- INFO -  [P-1] ----- reclassify existing variable: 45/45 new triples (700, 0:00:00.018143)
+- INFO -  [P-1] ----- add new variable for reified concept: 8/8 new triples (708, 0:00:00.045604)
+- INFO -  [P-1] ----- add AMR leaf for reclassified concept: 33/33 new triples (741, 0:00:00.018656)
+- INFO -  [P-1] ----- add AMR leaf for reified concept: 8/8 new triples (749, 0:00:00.016570)
+- INFO -  [P-1] ----- add AMR edge for core relation: 27/27 new triples (776, 0:00:00.088164)
+- INFO -  [P-1] ----- add AMR edge for reified concept: 12/12 new triples (788, 0:00:00.063856)
+- INFO -  [P-1] ----- add AMR edge for name relation: 5/5 new triples (793, 0:00:00.018579)
+- DEBUG -  [P-1] ----- add AMR edge for quant relation: 0/0 new triple (793, 0:00:00.028566)
+- INFO -  [P-1] ----- add AMR edge for polarity relation: 5/5 new triples (798, 0:00:00.028746)
+- INFO -  [P-1] ----- update AMR edge role 1: 15/15 new triples (813, 0:00:00.072307)
+- INFO -  [P-1] ----- add AMR root: 5/5 new triples (818, 0:00:00.010552)
 - 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,63 +103,65 @@
 - 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 (846, 0:00:00.164642)
-- INFO -  [P-1] ----- extract atom individuals: 8/8 new triples (854, 0:00:00.048967)
-- INFO -  [P-1] ----- extract atomic properties: 75/75 new triples (929, 0:00:00.214425)
-- INFO -  [P-1] ----- extract atom values: 10/10 new triples (939, 0:00:00.051014)
-- INFO -  [P-1] ----- extract atom phenomena: 14/14 new triples (953, 0:00:00.068504)
-- INFO -  [P-1] ----- propagate atom relations: 24/68 new triples (977, 0:00:00.938632)
+- INFO -  [P-1] ----- extract atom classes: 30/30 new triples (848, 0:00:00.162280)
+- INFO -  [P-1] ----- extract atom individuals: 8/8 new triples (856, 0:00:00.045686)
+- INFO -  [P-1] ----- extract atomic properties: 75/75 new triples (931, 0:00:00.226992)
+- INFO -  [P-1] ----- extract atom values: 10/10 new triples (941, 0:00:00.051786)
+- INFO -  [P-1] ----- extract atom phenomena: 14/14 new triples (955, 0:00:00.087392)
+- INFO -  [P-1] ----- propagate atom relations: 24/68 new triples (979, 0:00:01.436104)
 - INFO -  [P-1] --- Sequence: classification sequence (1)
-- DEBUG -  [P-1] ----- classify modality phenomena: 0/0 new triple (977, 0:00:00.025079)
-- INFO -  [P-1] ----- reclassify argument property to class: 11/14 new triples (988, 0:00:00.066613)
+- DEBUG -  [P-1] ----- classify modality phenomena: 0/0 new triple (979, 0:00:00.027633)
+- INFO -  [P-1] ----- reclassify argument property to class: 11/14 new triples (990, 0:00:00.086838)
 - INFO -  [P-1] --- Sequence: phenomena analyze sequence (1)
-- INFO -  [P-1] ----- analyze "polarity" phenomena (1): 32/36 new triples (1020, 0:00:00.159718)
-- DEBUG -  [P-1] ----- analyze "polarity" phenomena (2): 0/0 new triple (1020, 0:00:00.020188)
-- DEBUG -  [P-1] ----- analyze "polarity" phenomena (3): 0/0 new triple (1020, 0:00:00.019259)
-- DEBUG -  [P-1] ----- analyze "polarity" phenomena (4): 0/0 new triple (1020, 0:00:00.045223)
-- DEBUG -  [P-1] ----- analyze "polarity" phenomena (5): 0/0 new triple (1020, 0:00:00.039433)
-- DEBUG -  [P-1] ----- analyze modifier phenomena (mod): 0/0 new triple (1020, 0:00:00.011731)
-- DEBUG -  [P-1] ----- classify modality phenomena: 0/0 new triple (1020, 0:00:00.018867)
+- INFO -  [P-1] ----- analyze "polarity" phenomena (1): 32/36 new triples (1022, 0:00:00.139221)
+- DEBUG -  [P-1] ----- analyze "polarity" phenomena (2): 0/0 new triple (1022, 0:00:00.019085)
+- DEBUG -  [P-1] ----- analyze "polarity" phenomena (3): 0/0 new triple (1022, 0:00:00.020556)
+- DEBUG -  [P-1] ----- analyze "polarity" phenomena (4): 0/0 new triple (1022, 0:00:00.050223)
+- DEBUG -  [P-1] ----- analyze "polarity" phenomena (5): 0/0 new triple (1022, 0:00:00.052868)
+- DEBUG -  [P-1] ----- analyze modifier phenomena (mod): 0/0 new triple (1022, 0:00:00.012118)
+- DEBUG -  [P-1] ----- classify modality phenomena: 0/0 new triple (1022, 0:00:00.033710)
 - INFO -  [P-1] --- Sequence: phenomena analyze sequence (2)
-- INFO -  [P-1] ----- analyze "or" phenomena (1): 1/1 new triple (1021, 0:00:00.076726)
-- INFO -  [P-1] ----- analyze "or" phenomena (2): 55/82 new triples (1076, 0:00:00.269368)
-- INFO -  [P-1] ----- analyze "and" phenomena (1): 2/14 new triples (1078, 0:00:00.142851)
-- DEBUG -  [P-1] ----- analyze "and" phenomena (2): 0/0 new triple (1078, 0:00:00.011866)
+- INFO -  [P-1] ----- analyze "or" phenomena (1): 1/1 new triple (1023, 0:00:00.101747)
+- INFO -  [P-1] ----- analyze "or" phenomena (2): 55/82 new triples (1078, 0:00:00.304055)
+- INFO -  [P-1] ----- analyze "and" phenomena (1): 2/14 new triples (1080, 0:00:00.164967)
+- DEBUG -  [P-1] ----- analyze "and" phenomena (2): 0/0 new triple (1080, 0:00:00.012665)
 - INFO -  [P-1] --- Sequence: composite class extraction sequence
-- INFO -  [P-1] ----- extract composite classes (1): 127/138 new triples (1205, 0:00:00.510861)
-- DEBUG -  [P-1] ----- extract composite classes (2): 0/0 new triple (1205, 0:00:00.030914)
+- INFO -  [P-1] ----- extract composite classes (1): 127/138 new triples (1207, 0:00:00.706358)
+- DEBUG -  [P-1] ----- extract composite classes (2): 0/0 new triple (1207, 0:00:00.049868)
 - INFO -  [P-1] --- Sequence: classification sequence (2)
-- INFO -  [P-1] ----- classify class net as entity from core arguments: 10/181 new triples (1215, 0:00:00.254453)
-- DEBUG -  [P-1] ----- classify class net as entity from :part relation: 0/0 new triple (1215, 0:00:00.008793)
-- DEBUG -  [P-1] ----- classify class net as entity from degree arguments: 0/0 new triple (1215, 0:00:00.017831)
-- INFO -  [P-1] ----- Associate mother to class net from :domain relation: 5/34 new triples (1220, 0:00:00.075674)
-- DEBUG -  [P-1] ----- Propagate individuals to net with same base node: 0/10 new triple (1220, 0:00:00.029622)
-- INFO -  [P-1] ----- Propagate individuals to net with domain link: 3/60 new triples (1223, 0:00:00.112227)
+- INFO -  [P-1] ----- classify class net as entity from core arguments: 10/181 new triples (1217, 0:00:00.370219)
+- DEBUG -  [P-1] ----- classify class net as entity from :part relation: 0/0 new triple (1217, 0:00:00.017399)
+- DEBUG -  [P-1] ----- classify class net as entity from degree arguments: 0/0 new triple (1217, 0:00:00.031276)
+- INFO -  [P-1] ----- Associate mother to class net from :domain relation: 5/34 new triples (1222, 0:00:00.106562)
+- DEBUG -  [P-1] ----- Propagate individuals to net with same base node: 0/10 new triple (1222, 0:00:00.031863)
+- INFO -  [P-1] ----- Propagate individuals to net with domain link: 3/60 new triples (1225, 0:00:00.141028)
+- INFO -  [P-1] --- Sequence: heuristic dedeuction sequence
+- INFO -  [P-1] ----- deduce individual and relation from restriction: 14/14 new triples (1239, 0:00:00.145266)
 - 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/
 - DEBUG -  [P-1] ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Transduction.ttl
 - DEBUG -  [P-1] ----- base: http://https://tenet.tetras-libre.fr/demo/01//Transduction
-- INFO -  [P-1] ----- 407 triples extracted during Transduction step
+- INFO -  [P-1] ----- 421 triples extracted during Transduction step
 - INFO -  [P-1] -- Step 3: Generation
 - INFO -  [P-1] --- Sequence: OWL Generation Sequence
-- INFO -  [P-1] ----- generate OWL class: 52/55 new triples (1275, 0:00:00.560505)
-- INFO -  [P-1] ----- generate OWL property: 29/29 new triples (1304, 0:00:00.289536)
-- INFO -  [P-1] ----- generate OWL individual: 6/7 new triples (1310, 0:00:00.072208)
+- INFO -  [P-1] ----- generate OWL class: 52/55 new triples (1291, 0:00:00.894404)
+- INFO -  [P-1] ----- generate OWL property: 29/29 new triples (1320, 0:00:00.395239)
+- INFO -  [P-1] ----- generate OWL individual: 14/15 new triples (1334, 0:00:00.338782)
 - 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/
 - DEBUG -  [P-1] ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Generation.ttl
 - DEBUG -  [P-1] ----- base: http://https://tenet.tetras-libre.fr/demo/01//Generation
-- INFO -  [P-1] ----- 87 triples extracted during Generation step
+- INFO -  [P-1] ----- 95 triples extracted during Generation step
 - DEBUG -  [P-1] --- Serializing graph to factoid file (/home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_factoid.ttl)
-- DEBUG -  [P-1] ----- Number of factoids: 91
+- DEBUG -  [P-1] ----- Number of factoids: 99
 - DEBUG -  [P-1] ----- Graph base: http://https://tenet.tetras-libre.fr/demo/01//factoid
-- INFO -  [P-1] Success (91 extracted triple(s))
+- INFO -  [P-1] Success (99 extracted triple(s))
 - INFO - 
  === Final Ontology Generation  === 
 - INFO - -- Making complete factoid graph by merging the result factoids
-- INFO - ----- Total factoid number: 91
+- INFO - ----- Total factoid number: 99
 - INFO - -- Serializing graph to factoid string
 - INFO - ----- Graph base: http://https://tenet.tetras-libre.fr/demo/01//factoid
 - INFO - -- Serializing graph to factoid file
diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01.ttl
index c8e0f2c3..38bc1a5c 100644
--- a/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01.ttl
+++ b/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01.ttl
@@ -470,6 +470,9 @@ net:Property_Direction a owl:Class ;
 net:Relation a owl:Class ;
     rdfs:subClassOf net:Net_Structure .
 
+net:Relation_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
 net:Restriction_Net a owl:Class ;
     rdfs:subClassOf net:Net .
 
@@ -815,14 +818,14 @@ net:has_object a owl:AnnotationProperty ;
 :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 .
 
+net:Net a owl:Class ;
+    rdfs:subClassOf net:Net_Structure .
+
 net:objectValue a owl:AnnotationProperty ;
     rdfs:label "valuations"@fr ;
     rdfs:subPropertyOf net:objectProperty .
diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Generation.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Generation.ttl
index 61baff7d..85c21289 100644
--- a/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Generation.ttl
+++ b/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Generation.ttl
@@ -448,6 +448,11 @@ cprm:targetOntologyURI a rdf:Property ;
     rdfs:subPropertyOf sys:Out_ObjectProperty ;
     sys:fromStructure "SSC-01-01" .
 
+<https://tenet.tetras-libre.fr/extract-result#object-SSC-01-01> a owl:Individual,
+        <https://tenet.tetras-libre.fr/extract-result#object> ;
+    rdfs:label "any object" ;
+    sys:fromStructure "SSC-01-01" .
+
 <https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-direct-sun> a owl:Class ;
     rdfs:subClassOf [ a owl:Restriction ;
             owl:onProperty <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> ;
@@ -462,6 +467,11 @@ cprm:targetOntologyURI a rdf:Property ;
         <https://tenet.tetras-libre.fr/extract-result#object> ;
     sys:fromStructure "SSC-01-01" .
 
+<https://tenet.tetras-libre.fr/extract-result#sun-SSC-01-01> a owl:Individual,
+        <https://tenet.tetras-libre.fr/extract-result#sun> ;
+    rdfs:label "any sun" ;
+    sys:fromStructure "SSC-01-01" .
+
 <https://tenet.tetras-libre.fr/semantic-net> a owl:Ontology .
 
 net:Logical_Set_Net a owl:Class ;
@@ -473,6 +483,9 @@ net:Property_Axiom_Net a owl:Class ;
 net:Property_Direction a owl:Class ;
     rdfs:subClassOf net:Feature .
 
+net:Relation_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
 net:abstractionClass a owl:AnnotationProperty ;
     rdfs:label "abstraction class" ;
     rdfs:subPropertyOf net:objectValue .
@@ -648,6 +661,22 @@ net:has_target a owl:AnnotationProperty ;
     rdfs:label "has target" ;
     rdfs:subPropertyOf net:has_relation_value .
 
+net:individual_object-SSC-01-01_o a net:Individual_Net ;
+    net:coverBaseNode :leaf_object_o ;
+    net:coverNode :leaf_object_o ;
+    net:hasIndividualLabel "any object" ;
+    net:hasMotherClassNet net:atomClass_object_o ;
+    net:hasNaming "object-SSC-01-01" ;
+    net:hasStructure "SSC-01-01" .
+
+net:individual_sun-SSC-01-01_s2 a net:Individual_Net ;
+    net:coverBaseNode :leaf_sun_s2 ;
+    net:coverNode :leaf_sun_s2 ;
+    net:hasIndividualLabel "any sun" ;
+    net:hasMotherClassNet net:atomClass_sun_s2 ;
+    net:hasNaming "sun-SSC-01-01" ;
+    net:hasStructure "SSC-01-01" .
+
 net:inverse_direction a owl:NamedIndividual .
 
 net:listBy a owl:AnnotationProperty ;
@@ -874,9 +903,6 @@ sys:Undetermined_Thing a owl:Class ;
 net:Feature a owl:Class ;
     rdfs:subClassOf net:Net_Structure .
 
-net:Individual_Net a owl:Class ;
-    rdfs:subClassOf net:Net .
-
 net:atomClass_orbit_o2 a net:Atom_Class_Net,
         net:Class_Net,
         net:Deprecated_Net ;
@@ -1233,22 +1259,15 @@ ns2:Frame a ns2:Concept,
 :value_negative a :AMR_Value ;
     rdfs:label "negative" .
 
-<https://tenet.tetras-libre.fr/extract-result#object> a owl:Class ;
-    rdfs:label "object" ;
-    rdfs:subClassOf sys:Entity ;
-    sys:fromStructure "SSC-01-01" .
-
-<https://tenet.tetras-libre.fr/extract-result#sun> a owl:Class ;
-    rdfs:label "sun" ;
-    rdfs:subClassOf sys:Entity ;
-    sys:fromStructure "SSC-01-01" .
-
 net:Axiom_Net a owl:Class ;
     rdfs:subClassOf net:Net .
 
 net:Composite_Property_Net a owl:Class ;
     rdfs:subClassOf net:Property_Net .
 
+net:Individual_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
 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)." .
@@ -1363,6 +1382,16 @@ ns3:FrameRole a ns2:Role,
     rdfs:subClassOf :AMR_Core_Role ;
     :label "ARG1" .
 
+<https://tenet.tetras-libre.fr/extract-result#object> a owl:Class ;
+    rdfs:label "object" ;
+    rdfs:subClassOf sys:Entity ;
+    sys:fromStructure "SSC-01-01" .
+
+<https://tenet.tetras-libre.fr/extract-result#sun> a owl:Class ;
+    rdfs:label "sun" ;
+    rdfs:subClassOf sys:Entity ;
+    sys:fromStructure "SSC-01-01" .
+
 <https://tenet.tetras-libre.fr/extract-result#system> a owl:Class ;
     rdfs:label "system" ;
     rdfs:subClassOf sys:Entity,
@@ -1538,9 +1567,6 @@ net:has_object a owl:AnnotationProperty ;
 net:Class_Net a owl:Class ;
     rdfs:subClassOf net:Net .
 
-net:Net a owl:Class ;
-    rdfs:subClassOf net:Net_Structure .
-
 net:atomProperty_direct_d2 a net:Atom_Property_Net,
         net:Deprecated_Net ;
     :role_polarity net:value_negative_blankNode ;
@@ -1564,6 +1590,9 @@ net:atomProperty_direct_d2 a net:Atom_Property_Net,
 sys:Entity a owl:Class ;
     rdfs:subClassOf sys:Out_Structure .
 
+net:Net a owl:Class ;
+    rdfs:subClassOf net:Net_Structure .
+
 net:atomClass_system_s a net:Atom_Class_Net,
         net:Class_Net,
         net:Deprecated_Net ;
@@ -1577,14 +1606,6 @@ net:atomClass_system_s a net:Atom_Class_Net,
     net:hasNaming "system" ;
     net:hasStructure "SSC-01-01" .
 
-:leaf_object_o a :AMR_Leaf ;
-    :hasConcept :concept_object ;
-    :hasVariable :variable_o .
-
-:leaf_sun_s2 a :AMR_Leaf ;
-    :hasConcept :concept_sun ;
-    :hasVariable :variable_s2 .
-
 :leaf_hasManner_m9 a :AMR_Leaf ;
     :edge_m9_ARG0_o2 :leaf_orbit-01_o2 ;
     :edge_m9_ARG1_o3 :leaf_or_o3 ;
@@ -1595,6 +1616,14 @@ net:atomClass_system_s a net:Atom_Class_Net,
 :AMR_Variable a owl:Class ;
     rdfs:subClassOf :AMR_Element .
 
+:leaf_object_o a :AMR_Leaf ;
+    :hasConcept :concept_object ;
+    :hasVariable :variable_o .
+
+:leaf_sun_s2 a :AMR_Leaf ;
+    :hasConcept :concept_sun ;
+    :hasVariable :variable_s2 .
+
 :leaf_system_s a :AMR_Leaf ;
     :edge_s_p :leaf_system_p ;
     :hasConcept :concept_system ;
@@ -1613,6 +1642,12 @@ net:atomClass_object_o a net:Atom_Class_Net,
 :AMR_Leaf a owl:Class ;
     rdfs:subClassOf :AMR_Structure .
 
+:leaf_orbit-01_o2 a :AMR_Leaf ;
+    :edge_o2_o :leaf_object_o ;
+    :edge_o2_s2 :leaf_sun_s2 ;
+    :hasConcept :concept_orbit-01 ;
+    :hasVariable :variable_o2 .
+
 net:atomClass_sun_s2 a net:Atom_Class_Net,
         net:Class_Net ;
     net:coverBaseNode :leaf_sun_s2 ;
@@ -1622,12 +1657,6 @@ net:atomClass_sun_s2 a net:Atom_Class_Net,
     net:hasNaming "sun" ;
     net:hasStructure "SSC-01-01" .
 
-:leaf_orbit-01_o2 a :AMR_Leaf ;
-    :edge_o2_o :leaf_object_o ;
-    :edge_o2_s2 :leaf_sun_s2 ;
-    :hasConcept :concept_orbit-01 ;
-    :hasVariable :variable_o2 .
-
 net:objectValue a owl:AnnotationProperty ;
     rdfs:label "valuations"@fr ;
     rdfs:subPropertyOf net:objectProperty .
diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Preprocessing.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Preprocessing.ttl
index cc8d8217..27f178c1 100644
--- a/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Preprocessing.ttl
+++ b/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Preprocessing.ttl
@@ -478,6 +478,9 @@ net:Property_Direction a owl:Class ;
 net:Relation a owl:Class ;
     rdfs:subClassOf net:Net_Structure .
 
+net:Relation_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
 net:Restriction_Net a owl:Class ;
     rdfs:subClassOf net:Net .
 
@@ -1078,14 +1081,14 @@ net:has_object a owl:AnnotationProperty ;
 :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 .
 
+net:Net a owl:Class ;
+    rdfs:subClassOf net:Net_Structure .
+
 :AMR_Variable a owl:Class ;
     rdfs:subClassOf :AMR_Element .
 
diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Transduction.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Transduction.ttl
index bfcaf46c..3c5a5e38 100644
--- a/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Transduction.ttl
+++ b/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Transduction.ttl
@@ -434,6 +434,9 @@ net:Property_Axiom_Net a owl:Class ;
 net:Property_Direction a owl:Class ;
     rdfs:subClassOf net:Feature .
 
+net:Relation_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
 net:abstractionClass a owl:AnnotationProperty ;
     rdfs:label "abstraction class" ;
     rdfs:subPropertyOf net:objectValue .
@@ -609,6 +612,22 @@ net:has_target a owl:AnnotationProperty ;
     rdfs:label "has target" ;
     rdfs:subPropertyOf net:has_relation_value .
 
+net:individual_object-SSC-01-01_o a net:Individual_Net ;
+    net:coverBaseNode :leaf_object_o ;
+    net:coverNode :leaf_object_o ;
+    net:hasIndividualLabel "any object" ;
+    net:hasMotherClassNet net:atomClass_object_o ;
+    net:hasNaming "object-SSC-01-01" ;
+    net:hasStructure "SSC-01-01" .
+
+net:individual_sun-SSC-01-01_s2 a net:Individual_Net ;
+    net:coverBaseNode :leaf_sun_s2 ;
+    net:coverNode :leaf_sun_s2 ;
+    net:hasIndividualLabel "any sun" ;
+    net:hasMotherClassNet net:atomClass_sun_s2 ;
+    net:hasNaming "sun-SSC-01-01" ;
+    net:hasStructure "SSC-01-01" .
+
 net:inverse_direction a owl:NamedIndividual .
 
 net:listBy a owl:AnnotationProperty ;
@@ -800,9 +819,6 @@ sys:Out_AnnotationProperty a owl:AnnotationProperty .
 net:Feature a owl:Class ;
     rdfs:subClassOf net:Net_Structure .
 
-net:Individual_Net a owl:Class ;
-    rdfs:subClassOf net:Net .
-
 net:atomClass_orbit_o2 a net:Atom_Class_Net,
         net:Class_Net,
         net:Deprecated_Net ;
@@ -1157,6 +1173,9 @@ net:Axiom_Net a owl:Class ;
 net:Composite_Property_Net a owl:Class ;
     rdfs:subClassOf net:Property_Net .
 
+net:Individual_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
 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)." .
@@ -1441,9 +1460,6 @@ net:has_object a owl:AnnotationProperty ;
 net:Class_Net a owl:Class ;
     rdfs:subClassOf net:Net .
 
-net:Net a owl:Class ;
-    rdfs:subClassOf net:Net_Structure .
-
 net:atomProperty_direct_d2 a net:Atom_Property_Net,
         net:Deprecated_Net ;
     :role_polarity net:value_negative_blankNode ;
@@ -1464,6 +1480,9 @@ net:atomProperty_direct_d2 a net:Atom_Property_Net,
 :AMR_Core_Role a owl:Class ;
     rdfs:subClassOf :AMR_Role .
 
+net:Net a owl:Class ;
+    rdfs:subClassOf net:Net_Structure .
+
 net:atomClass_system_s a net:Atom_Class_Net,
         net:Class_Net,
         net:Deprecated_Net ;
@@ -1477,14 +1496,6 @@ net:atomClass_system_s a net:Atom_Class_Net,
     net:hasNaming "system" ;
     net:hasStructure "SSC-01-01" .
 
-:leaf_object_o a :AMR_Leaf ;
-    :hasConcept :concept_object ;
-    :hasVariable :variable_o .
-
-:leaf_sun_s2 a :AMR_Leaf ;
-    :hasConcept :concept_sun ;
-    :hasVariable :variable_s2 .
-
 :leaf_hasManner_m9 a :AMR_Leaf ;
     :edge_m9_ARG0_o2 :leaf_orbit-01_o2 ;
     :edge_m9_ARG1_o3 :leaf_or_o3 ;
@@ -1495,6 +1506,14 @@ net:atomClass_system_s a net:Atom_Class_Net,
 :AMR_Variable a owl:Class ;
     rdfs:subClassOf :AMR_Element .
 
+:leaf_object_o a :AMR_Leaf ;
+    :hasConcept :concept_object ;
+    :hasVariable :variable_o .
+
+:leaf_sun_s2 a :AMR_Leaf ;
+    :hasConcept :concept_sun ;
+    :hasVariable :variable_s2 .
+
 :leaf_system_s a :AMR_Leaf ;
     :edge_s_p :leaf_system_p ;
     :hasConcept :concept_system ;
@@ -1513,6 +1532,12 @@ net:atomClass_object_o a net:Atom_Class_Net,
 :AMR_Leaf a owl:Class ;
     rdfs:subClassOf :AMR_Structure .
 
+:leaf_orbit-01_o2 a :AMR_Leaf ;
+    :edge_o2_o :leaf_object_o ;
+    :edge_o2_s2 :leaf_sun_s2 ;
+    :hasConcept :concept_orbit-01 ;
+    :hasVariable :variable_o2 .
+
 net:atomClass_sun_s2 a net:Atom_Class_Net,
         net:Class_Net ;
     net:coverBaseNode :leaf_sun_s2 ;
@@ -1522,12 +1547,6 @@ net:atomClass_sun_s2 a net:Atom_Class_Net,
     net:hasNaming "sun" ;
     net:hasStructure "SSC-01-01" .
 
-:leaf_orbit-01_o2 a :AMR_Leaf ;
-    :edge_o2_o :leaf_object_o ;
-    :edge_o2_s2 :leaf_sun_s2 ;
-    :hasConcept :concept_orbit-01 ;
-    :hasVariable :variable_o2 .
-
 net:objectValue a owl:AnnotationProperty ;
     rdfs:label "valuations"@fr ;
     rdfs:subPropertyOf net:objectProperty .
diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_factoid.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_factoid.ttl
index 4cfeb618..defdd53f 100644
--- a/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_factoid.ttl
+++ b/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_factoid.ttl
@@ -30,6 +30,11 @@
     rdfs:subPropertyOf ns1:Out_ObjectProperty ;
     ns1:fromStructure "SSC-01-01" .
 
+<https://tenet.tetras-libre.fr/extract-result#object-SSC-01-01> a owl:Individual,
+        <https://tenet.tetras-libre.fr/extract-result#object> ;
+    rdfs:label "any object" ;
+    ns1:fromStructure "SSC-01-01" .
+
 <https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-direct-sun> a owl:Class ;
     rdfs:subClassOf [ a owl:Restriction ;
             owl:onProperty <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> ;
@@ -44,6 +49,11 @@
         <https://tenet.tetras-libre.fr/extract-result#object> ;
     ns1:fromStructure "SSC-01-01" .
 
+<https://tenet.tetras-libre.fr/extract-result#sun-SSC-01-01> a owl:Individual,
+        <https://tenet.tetras-libre.fr/extract-result#sun> ;
+    rdfs:label "any sun" ;
+    ns1:fromStructure "SSC-01-01" .
+
 <https://tenet.tetras-libre.fr/extract-result#bind> a owl:ObjectProperty ;
     rdfs:label "bind" ;
     rdfs:subPropertyOf ns1:Out_ObjectProperty ;
diff --git a/tests/main_tests/test_owl_output/SolarSystemDev04-20230906/technical-data/tenet.log b/tests/main_tests/test_owl_output/SolarSystemDev04-20230906/technical-data/tenet.log
index 36341e0b..7b3ca4c9 100644
--- a/tests/main_tests/test_owl_output/SolarSystemDev04-20230906/technical-data/tenet.log
+++ b/tests/main_tests/test_owl_output/SolarSystemDev04-20230906/technical-data/tenet.log
@@ -59,13 +59,13 @@
 - DEBUG -  [P-1] --- Graph Initialization
 - DEBUG -  [P-1] ----- Configuration Loading
 - DEBUG -  [P-1] -------- RDF Schema (320)
-- DEBUG -  [P-1] -------- Semantic Net Definition (486)
-- DEBUG -  [P-1] -------- Config Parameter Definition (520)
+- DEBUG -  [P-1] -------- Semantic Net Definition (488)
+- DEBUG -  [P-1] -------- Config Parameter Definition (522)
 - DEBUG -  [P-1] ----- Frame Ontology Loading
-- DEBUG -  [P-1] -------- Base Ontology produced as output (550)
+- DEBUG -  [P-1] -------- Base Ontology produced as output (552)
 - DEBUG -  [P-1] --- Source Data Import
 - DEBUG -  [P-1] ----- Sentence Loading
-- DEBUG -  [P-1] -------- /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_data/amrDocuments/dev/solar-system-04/SSC-04-01.stog.amr.ttl (607)
+- DEBUG -  [P-1] -------- /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_data/amrDocuments/dev/solar-system-04/SSC-04-01.stog.amr.ttl (609)
 - DEBUG -  [P-1] --- Export work graph as turtle
 - DEBUG -  [P-1] ----- Work graph file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev04-20230906/technical-data/tenet.tetras-libre.fr_demo_04-1/tenet.tetras-libre.fr_demo_04.ttl 
 - INFO -  [P-1] ----- Sentence (id): SSC-04-01
@@ -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
-- DEBUG -  [P-1] ----- fix AMR bug (1): 0/0 new triple (607, 0:00:00.015804)
+- DEBUG -  [P-1] ----- fix AMR bug (1): 0/0 new triple (609, 0:00:00.017522)
 - INFO -  [P-1] --- Sequence: AMR reification from AMR-Linked-Data to AMR (tenet) structure
-- DEBUG -  [P-1] ----- reclassify AMR-LD concept (1): 0/0 new triple (607, 0:00:00.089450)
-- INFO -  [P-1] ----- reclassify AMR-LD concept (2): 4/4 new triples (611, 0:00:00.064690)
-- INFO -  [P-1] ----- reclassify AMR-LD concept (3): 12/12 new triples (623, 0:00:00.032714)
-- INFO -  [P-1] ----- reclassify AMR-LD concept (4): 36/36 new triples (659, 0:00:00.064661)
-- DEBUG -  [P-1] ----- reclassify AMR-LD concept (5): 0/0 new triple (659, 0:00:00.054232)
-- DEBUG -  [P-1] ----- reify roles as concept: 0/0 new triple (659, 0:00:00.069310)
-- INFO -  [P-1] ----- reclassify existing variable: 53/53 new triples (712, 0:00:00.029507)
-- DEBUG -  [P-1] ----- add new variable for reified concept: 0/0 new triple (712, 0:00:00.059940)
-- INFO -  [P-1] ----- add AMR leaf for reclassified concept: 39/39 new triples (751, 0:00:00.025069)
-- DEBUG -  [P-1] ----- add AMR leaf for reified concept: 0/0 new triple (751, 0:00:00.012412)
-- INFO -  [P-1] ----- add AMR edge for core relation: 36/36 new triples (787, 0:00:00.089510)
-- DEBUG -  [P-1] ----- add AMR edge for reified concept: 0/0 new triple (787, 0:00:00.021358)
-- INFO -  [P-1] ----- add AMR edge for name relation: 5/5 new triples (792, 0:00:00.017951)
-- INFO -  [P-1] ----- add AMR edge for quant relation: 5/5 new triples (797, 0:00:00.019011)
-- DEBUG -  [P-1] ----- add AMR edge for polarity relation: 0/0 new triple (797, 0:00:00.027284)
-- INFO -  [P-1] ----- update AMR edge role 1: 11/11 new triples (808, 0:00:00.068707)
-- INFO -  [P-1] ----- add AMR root: 5/5 new triples (813, 0:00:00.009969)
+- DEBUG -  [P-1] ----- reclassify AMR-LD concept (1): 0/0 new triple (609, 0:00:00.088436)
+- INFO -  [P-1] ----- reclassify AMR-LD concept (2): 4/4 new triples (613, 0:00:00.049735)
+- INFO -  [P-1] ----- reclassify AMR-LD concept (3): 12/12 new triples (625, 0:00:00.027917)
+- INFO -  [P-1] ----- reclassify AMR-LD concept (4): 36/36 new triples (661, 0:00:00.053370)
+- DEBUG -  [P-1] ----- reclassify AMR-LD concept (5): 0/0 new triple (661, 0:00:00.028070)
+- DEBUG -  [P-1] ----- reify roles as concept: 0/0 new triple (661, 0:00:00.034857)
+- INFO -  [P-1] ----- reclassify existing variable: 53/53 new triples (714, 0:00:00.016979)
+- DEBUG -  [P-1] ----- add new variable for reified concept: 0/0 new triple (714, 0:00:00.051671)
+- INFO -  [P-1] ----- add AMR leaf for reclassified concept: 39/39 new triples (753, 0:00:00.020971)
+- DEBUG -  [P-1] ----- add AMR leaf for reified concept: 0/0 new triple (753, 0:00:00.010530)
+- INFO -  [P-1] ----- add AMR edge for core relation: 36/36 new triples (789, 0:00:00.090785)
+- DEBUG -  [P-1] ----- add AMR edge for reified concept: 0/0 new triple (789, 0:00:00.021636)
+- INFO -  [P-1] ----- add AMR edge for name relation: 5/5 new triples (794, 0:00:00.020089)
+- INFO -  [P-1] ----- add AMR edge for quant relation: 5/5 new triples (799, 0:00:00.024898)
+- DEBUG -  [P-1] ----- add AMR edge for polarity relation: 0/0 new triple (799, 0:00:00.029886)
+- INFO -  [P-1] ----- update AMR edge role 1: 11/11 new triples (810, 0:00:00.147230)
+- INFO -  [P-1] ----- add AMR root: 5/5 new triples (815, 0:00:00.011831)
 - DEBUG -  [P-1] --- Serializing graph to tenet.tetras-libre.fr_demo_04_Preprocessing 
 - DEBUG -  [P-1] ----- step: Preprocessing
 - DEBUG -  [P-1] ----- id: https://tenet.tetras-libre.fr/demo/04/
@@ -103,38 +103,40 @@
 - INFO -  [P-1] ----- 206 triples extracted during Preprocessing step
 - INFO -  [P-1] -- Step 2: Transduction
 - INFO -  [P-1] --- Sequence: atomic extraction sequence
-- INFO -  [P-1] ----- extract atom classes: 54/54 new triples (867, 0:00:00.263630)
-- INFO -  [P-1] ----- extract atom individuals: 8/8 new triples (875, 0:00:00.050174)
-- INFO -  [P-1] ----- extract atomic properties: 49/49 new triples (924, 0:00:00.148015)
-- INFO -  [P-1] ----- extract atom values: 10/10 new triples (934, 0:00:00.057278)
-- DEBUG -  [P-1] ----- extract atom phenomena: 0/0 new triple (934, 0:00:00.009145)
-- INFO -  [P-1] ----- propagate atom relations: 20/52 new triples (954, 0:00:01.114458)
+- INFO -  [P-1] ----- extract atom classes: 54/54 new triples (869, 0:00:00.283140)
+- INFO -  [P-1] ----- extract atom individuals: 8/8 new triples (877, 0:00:00.044229)
+- INFO -  [P-1] ----- extract atomic properties: 49/49 new triples (926, 0:00:00.149140)
+- INFO -  [P-1] ----- extract atom values: 10/10 new triples (936, 0:00:00.054737)
+- DEBUG -  [P-1] ----- extract atom phenomena: 0/0 new triple (936, 0:00:00.012994)
+- INFO -  [P-1] ----- propagate atom relations: 20/52 new triples (956, 0:00:00.987166)
 - INFO -  [P-1] --- Sequence: classification sequence (1)
-- DEBUG -  [P-1] ----- classify modality phenomena: 0/0 new triple (954, 0:00:00.042270)
-- INFO -  [P-1] ----- reclassify argument property to class: 11/28 new triples (965, 0:00:00.188682)
+- DEBUG -  [P-1] ----- classify modality phenomena: 0/0 new triple (956, 0:00:00.021309)
+- INFO -  [P-1] ----- reclassify argument property to class: 11/28 new triples (967, 0:00:00.113043)
 - INFO -  [P-1] --- Sequence: phenomena analyze sequence (1)
-- DEBUG -  [P-1] ----- analyze "polarity" phenomena (1): 0/0 new triple (965, 0:00:00.010983)
-- DEBUG -  [P-1] ----- analyze "polarity" phenomena (2): 0/0 new triple (965, 0:00:00.022276)
-- DEBUG -  [P-1] ----- analyze "polarity" phenomena (3): 0/0 new triple (965, 0:00:00.021689)
-- DEBUG -  [P-1] ----- analyze "polarity" phenomena (4): 0/0 new triple (965, 0:00:00.051065)
-- DEBUG -  [P-1] ----- analyze "polarity" phenomena (5): 0/0 new triple (965, 0:00:00.046383)
-- INFO -  [P-1] ----- analyze modifier phenomena (mod): 45/56 new triples (1010, 0:00:00.231319)
-- DEBUG -  [P-1] ----- classify modality phenomena: 0/0 new triple (1010, 0:00:00.030395)
+- DEBUG -  [P-1] ----- analyze "polarity" phenomena (1): 0/0 new triple (967, 0:00:00.009751)
+- DEBUG -  [P-1] ----- analyze "polarity" phenomena (2): 0/0 new triple (967, 0:00:00.017265)
+- DEBUG -  [P-1] ----- analyze "polarity" phenomena (3): 0/0 new triple (967, 0:00:00.016424)
+- DEBUG -  [P-1] ----- analyze "polarity" phenomena (4): 0/0 new triple (967, 0:00:00.048086)
+- DEBUG -  [P-1] ----- analyze "polarity" phenomena (5): 0/0 new triple (967, 0:00:00.046717)
+- INFO -  [P-1] ----- analyze modifier phenomena (mod): 45/56 new triples (1012, 0:00:00.215003)
+- DEBUG -  [P-1] ----- classify modality phenomena: 0/0 new triple (1012, 0:00:00.030648)
 - INFO -  [P-1] --- Sequence: phenomena analyze sequence (2)
-- DEBUG -  [P-1] ----- analyze "or" phenomena (1): 0/0 new triple (1010, 0:00:00.014849)
-- DEBUG -  [P-1] ----- analyze "or" phenomena (2): 0/0 new triple (1010, 0:00:00.015324)
-- DEBUG -  [P-1] ----- analyze "and" phenomena (1): 0/0 new triple (1010, 0:00:00.014889)
-- DEBUG -  [P-1] ----- analyze "and" phenomena (2): 0/0 new triple (1010, 0:00:00.013484)
+- DEBUG -  [P-1] ----- analyze "or" phenomena (1): 0/0 new triple (1012, 0:00:00.017236)
+- DEBUG -  [P-1] ----- analyze "or" phenomena (2): 0/0 new triple (1012, 0:00:00.016411)
+- DEBUG -  [P-1] ----- analyze "and" phenomena (1): 0/0 new triple (1012, 0:00:00.015931)
+- DEBUG -  [P-1] ----- analyze "and" phenomena (2): 0/0 new triple (1012, 0:00:00.013816)
 - INFO -  [P-1] --- Sequence: composite class extraction sequence
-- INFO -  [P-1] ----- extract composite classes (1): 26/30 new triples (1036, 0:00:00.145336)
-- DEBUG -  [P-1] ----- extract composite classes (2): 0/0 new triple (1036, 0:00:00.031036)
+- INFO -  [P-1] ----- extract composite classes (1): 26/30 new triples (1038, 0:00:00.145616)
+- DEBUG -  [P-1] ----- extract composite classes (2): 0/0 new triple (1038, 0:00:00.031347)
 - INFO -  [P-1] --- Sequence: classification sequence (2)
-- INFO -  [P-1] ----- classify class net as entity from core arguments: 12/148 new triples (1048, 0:00:00.266972)
-- DEBUG -  [P-1] ----- classify class net as entity from :part relation: 0/0 new triple (1048, 0:00:00.014919)
-- DEBUG -  [P-1] ----- classify class net as entity from degree arguments: 0/0 new triple (1048, 0:00:00.032252)
-- DEBUG -  [P-1] ----- Associate mother to class net from :domain relation: 0/0 new triple (1048, 0:00:00.016908)
-- DEBUG -  [P-1] ----- Propagate individuals to net with same base node: 0/16 new triple (1048, 0:00:00.122248)
-- DEBUG -  [P-1] ----- Propagate individuals to net with domain link: 0/0 new triple (1048, 0:00:00.011559)
+- INFO -  [P-1] ----- classify class net as entity from core arguments: 12/148 new triples (1050, 0:00:00.242011)
+- DEBUG -  [P-1] ----- classify class net as entity from :part relation: 0/0 new triple (1050, 0:00:00.008907)
+- DEBUG -  [P-1] ----- classify class net as entity from degree arguments: 0/0 new triple (1050, 0:00:00.019069)
+- DEBUG -  [P-1] ----- Associate mother to class net from :domain relation: 0/0 new triple (1050, 0:00:00.009993)
+- DEBUG -  [P-1] ----- Propagate individuals to net with same base node: 0/16 new triple (1050, 0:00:00.079600)
+- DEBUG -  [P-1] ----- Propagate individuals to net with domain link: 0/0 new triple (1050, 0:00:00.008584)
+- INFO -  [P-1] --- Sequence: heuristic dedeuction sequence
+- DEBUG -  [P-1] ----- deduce individual and relation from restriction: 0/0 new triple (1050, 0:00:00.010614)
 - DEBUG -  [P-1] --- Serializing graph to tenet.tetras-libre.fr_demo_04_Transduction 
 - DEBUG -  [P-1] ----- step: Transduction
 - DEBUG -  [P-1] ----- id: https://tenet.tetras-libre.fr/demo/04/
@@ -143,9 +145,9 @@
 - INFO -  [P-1] ----- 235 triples extracted during Transduction step
 - INFO -  [P-1] -- Step 3: Generation
 - INFO -  [P-1] --- Sequence: OWL Generation Sequence
-- INFO -  [P-1] ----- generate OWL class: 49/49 new triples (1097, 0:00:00.520313)
-- INFO -  [P-1] ----- generate OWL property: 12/12 new triples (1109, 0:00:00.128560)
-- INFO -  [P-1] ----- generate OWL individual: 8/12 new triples (1117, 0:00:00.150137)
+- INFO -  [P-1] ----- generate OWL class: 49/49 new triples (1099, 0:00:00.447430)
+- INFO -  [P-1] ----- generate OWL property: 12/12 new triples (1111, 0:00:00.107393)
+- INFO -  [P-1] ----- generate OWL individual: 8/12 new triples (1119, 0:00:00.198276)
 - DEBUG -  [P-1] --- Serializing graph to tenet.tetras-libre.fr_demo_04_Generation 
 - DEBUG -  [P-1] ----- step: Generation
 - DEBUG -  [P-1] ----- id: https://tenet.tetras-libre.fr/demo/04/
diff --git a/tests/main_tests/test_owl_output/SolarSystemDev04-20230906/technical-data/tenet.tetras-libre.fr_demo_04-1/tenet.tetras-libre.fr_demo_04.ttl b/tests/main_tests/test_owl_output/SolarSystemDev04-20230906/technical-data/tenet.tetras-libre.fr_demo_04-1/tenet.tetras-libre.fr_demo_04.ttl
index fcaf6933..3143e891 100644
--- a/tests/main_tests/test_owl_output/SolarSystemDev04-20230906/technical-data/tenet.tetras-libre.fr_demo_04-1/tenet.tetras-libre.fr_demo_04.ttl
+++ b/tests/main_tests/test_owl_output/SolarSystemDev04-20230906/technical-data/tenet.tetras-libre.fr_demo_04-1/tenet.tetras-libre.fr_demo_04.ttl
@@ -481,6 +481,9 @@ net:Property_Direction a owl:Class ;
 net:Relation a owl:Class ;
     rdfs:subClassOf net:Net_Structure .
 
+net:Relation_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
 net:Restriction_Net a owl:Class ;
     rdfs:subClassOf net:Net .
 
@@ -832,14 +835,14 @@ net:has_object a owl:AnnotationProperty ;
 :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 .
 
+net:Net a owl:Class ;
+    rdfs:subClassOf net:Net_Structure .
+
 net:objectValue a owl:AnnotationProperty ;
     rdfs:label "valuations"@fr ;
     rdfs:subPropertyOf net:objectProperty .
diff --git a/tests/main_tests/test_owl_output/SolarSystemDev04-20230906/technical-data/tenet.tetras-libre.fr_demo_04-1/tenet.tetras-libre.fr_demo_04_Generation.ttl b/tests/main_tests/test_owl_output/SolarSystemDev04-20230906/technical-data/tenet.tetras-libre.fr_demo_04-1/tenet.tetras-libre.fr_demo_04_Generation.ttl
index 5e65b652..23fa07b3 100644
--- a/tests/main_tests/test_owl_output/SolarSystemDev04-20230906/technical-data/tenet.tetras-libre.fr_demo_04-1/tenet.tetras-libre.fr_demo_04_Generation.ttl
+++ b/tests/main_tests/test_owl_output/SolarSystemDev04-20230906/technical-data/tenet.tetras-libre.fr_demo_04-1/tenet.tetras-libre.fr_demo_04_Generation.ttl
@@ -508,6 +508,9 @@ net:Property_Axiom_Net a owl:Class ;
 net:Property_Direction a owl:Class ;
     rdfs:subClassOf net:Feature .
 
+net:Relation_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
 net:abstractionClass a owl:AnnotationProperty ;
     rdfs:label "abstraction class" ;
     rdfs:subPropertyOf net:objectValue .
@@ -1414,9 +1417,6 @@ net:has_object a owl:AnnotationProperty ;
     :hasConcept :concept_cloud ;
     :hasVariable :variable_c2 .
 
-net:Net a owl:Class ;
-    rdfs:subClassOf net:Net_Structure .
-
 :AMR_AnnotationProperty a owl:AnnotationProperty .
 
 :AMR_Core_Role a owl:Class ;
@@ -1433,6 +1433,9 @@ sys:Entity a owl:Class ;
 net:Atom_Class_Net a owl:Class ;
     rdfs:subClassOf net:Class_Net .
 
+net:Net a owl:Class ;
+    rdfs:subClassOf net:Net_Structure .
+
 :AMR_Variable a owl:Class ;
     rdfs:subClassOf :AMR_Element .
 
diff --git a/tests/main_tests/test_owl_output/SolarSystemDev04-20230906/technical-data/tenet.tetras-libre.fr_demo_04-1/tenet.tetras-libre.fr_demo_04_Preprocessing.ttl b/tests/main_tests/test_owl_output/SolarSystemDev04-20230906/technical-data/tenet.tetras-libre.fr_demo_04-1/tenet.tetras-libre.fr_demo_04_Preprocessing.ttl
index d33d9fbf..1933457b 100644
--- a/tests/main_tests/test_owl_output/SolarSystemDev04-20230906/technical-data/tenet.tetras-libre.fr_demo_04-1/tenet.tetras-libre.fr_demo_04_Preprocessing.ttl
+++ b/tests/main_tests/test_owl_output/SolarSystemDev04-20230906/technical-data/tenet.tetras-libre.fr_demo_04-1/tenet.tetras-libre.fr_demo_04_Preprocessing.ttl
@@ -490,6 +490,9 @@ net:Property_Direction a owl:Class ;
 net:Relation a owl:Class ;
     rdfs:subClassOf net:Net_Structure .
 
+net:Relation_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
 net:Restriction_Net a owl:Class ;
     rdfs:subClassOf net:Net .
 
@@ -1083,14 +1086,14 @@ net:has_object a owl:AnnotationProperty ;
 :AMR_Term_Concept a owl:Class ;
     rdfs:subClassOf :AMR_Concept .
 
-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 .
 
+net:Net a owl:Class ;
+    rdfs:subClassOf net:Net_Structure .
+
 :AMR_Variable a owl:Class ;
     rdfs:subClassOf :AMR_Element .
 
diff --git a/tests/main_tests/test_owl_output/SolarSystemDev04-20230906/technical-data/tenet.tetras-libre.fr_demo_04-1/tenet.tetras-libre.fr_demo_04_Transduction.ttl b/tests/main_tests/test_owl_output/SolarSystemDev04-20230906/technical-data/tenet.tetras-libre.fr_demo_04-1/tenet.tetras-libre.fr_demo_04_Transduction.ttl
index 4fa90c9c..4411214b 100644
--- a/tests/main_tests/test_owl_output/SolarSystemDev04-20230906/technical-data/tenet.tetras-libre.fr_demo_04-1/tenet.tetras-libre.fr_demo_04_Transduction.ttl
+++ b/tests/main_tests/test_owl_output/SolarSystemDev04-20230906/technical-data/tenet.tetras-libre.fr_demo_04-1/tenet.tetras-libre.fr_demo_04_Transduction.ttl
@@ -461,6 +461,9 @@ net:Property_Axiom_Net a owl:Class ;
 net:Property_Direction a owl:Class ;
     rdfs:subClassOf net:Feature .
 
+net:Relation_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
 net:abstractionClass a owl:AnnotationProperty ;
     rdfs:label "abstraction class" ;
     rdfs:subPropertyOf net:objectValue .
@@ -1333,9 +1336,6 @@ net:has_object a owl:AnnotationProperty ;
     :hasConcept :concept_cloud ;
     :hasVariable :variable_c2 .
 
-net:Net a owl:Class ;
-    rdfs:subClassOf net:Net_Structure .
-
 :AMR_AnnotationProperty a owl:AnnotationProperty .
 
 :AMR_Core_Role a owl:Class ;
@@ -1349,6 +1349,9 @@ net:Net a owl:Class ;
 net:Atom_Class_Net a owl:Class ;
     rdfs:subClassOf net:Class_Net .
 
+net:Net a owl:Class ;
+    rdfs:subClassOf net:Net_Structure .
+
 :AMR_Variable a owl:Class ;
     rdfs:subClassOf :AMR_Element .
 
-- 
GitLab