diff --git a/tenet/scheme/amr_master_rule/__init__.py b/tenet/scheme/amr_master_rule/__init__.py
index 69af729403f0e7607f4db6d7d0d1042baaf02cba..86687158abe7cd8d72240cd0fdd35f5d22c9e09e 100644
--- a/tenet/scheme/amr_master_rule/__init__.py
+++ b/tenet/scheme/amr_master_rule/__init__.py
@@ -14,6 +14,9 @@ from scheme.amr_master_rule.transduction.composite_class_extractor_2 import *
 from scheme.amr_master_rule.transduction.phenomena_modality_classifier import * 
 from scheme.amr_master_rule.transduction.property_class_classifier import *
 from scheme.amr_master_rule.transduction.entity_classifier_1 import *  
+from scheme.amr_master_rule.transduction.entity_classifier_2 import *  
+from scheme.amr_master_rule.transduction.entity_classifier_3 import *  
+from scheme.amr_master_rule.transduction.mother_classifier_1 import *  
 
 from scheme.amr_master_rule.transduction.phenomena_polarity_analyzer_1 import * 
 from scheme.amr_master_rule.transduction.phenomena_polarity_analyzer_2 import * 
diff --git a/tenet/scheme/amr_master_rule/transduction/entity_classifier_1.py b/tenet/scheme/amr_master_rule/transduction/entity_classifier_1.py
index f087eb7f82dbe946694a1d82c6aeafb308a8b71c..f509432a3a6e5bf6dc3b8cb0ab9c6c48f50c05fe 100644
--- a/tenet/scheme/amr_master_rule/transduction/entity_classifier_1.py
+++ b/tenet/scheme/amr_master_rule/transduction/entity_classifier_1.py
@@ -2,10 +2,9 @@
 # -*-coding:Utf-8 -*
 
 #==============================================================================
-# TENET: Rule to entity classification
+# TENET: Rule to entity classification (1)
 #------------------------------------------------------------------------------
-# AMR rule to classify a class as entity
-# Rule: modality_phenomena classification
+# AMR rule to classify classes as entities from core arguments
 #==============================================================================
 
 from rdflib import Graph
@@ -37,26 +36,27 @@ def __search_pattern(graph):
 # Useful Computation Method(s)
 #==============================================================================  
 
-def __propagate_relation(target_net, base_net):
-    target_net.input_relation_list = base_net.input_relation_list
-    target_net.output_relation_list = base_net.output_relation_list 
+# None
     
     
 #==============================================================================
 # Construct Method(s)
 #==============================================================================
 
-# None
+def __classify_net_as_entity(graph, net_uri):
+    class_net = net.ClassNet(graph, uri=net_uri)
+    class_net.class_type = ENTITY_CLASS_TYPE    
+    return class_net.generate_triple_definition()
   
     
 #==============================================================================
 # Main Method
 #==============================================================================
 
-def classify_class_as_entity_1(graph):
+def classify_entity_from_core_arguments(graph):
     
     # -- Rule Initialization 
-    rule_label = 'classify class net as entity (1)' 
+    rule_label = 'classify class net as entity from core arguments' 
     rule_triple_list = []
     
     # -- Search for patterns 
@@ -64,8 +64,7 @@ def classify_class_as_entity_1(graph):
     
     # -- Pattern Analysis
     for pattern in pattern_set:
-        class_net = net.ClassNet(graph, uri=pattern.class_net)
-        class_net.class_type = ENTITY_CLASS_TYPE
-        rule_triple_list += class_net.generate_triple_definition()
+        new_triple = __classify_net_as_entity(graph, pattern.class_net)
+        rule_triple_list += new_triple
     
     return rule_label, rule_triple_list
\ No newline at end of file
diff --git a/tenet/scheme/amr_master_rule/transduction/entity_classifier_2.py b/tenet/scheme/amr_master_rule/transduction/entity_classifier_2.py
new file mode 100644
index 0000000000000000000000000000000000000000..8e6e577b17718e975118d0229f7d7f35f8c54b83
--- /dev/null
+++ b/tenet/scheme/amr_master_rule/transduction/entity_classifier_2.py
@@ -0,0 +1,73 @@
+#!/usr/bin/python3.10
+# -*-coding:Utf-8 -*
+
+#==============================================================================
+# TENET: Rule to entity classification (2)
+#------------------------------------------------------------------------------
+# AMR rule to classify classes as entities from part relation
+#==============================================================================
+
+from rdflib import Graph
+
+import transduction
+from transduction import net
+from transduction.query_builder import generate_select_query
+from transduction.rdfterm_computer import produce_uriref, produce_literal
+
+ENTITY_CLASS_TYPE = 'base-out:Entity'
+
+
+#==============================================================================
+# Pattern Search: modality_phenomena
+#==============================================================================
+
+def __search_pattern(graph):
+    query_code = ''
+    result_set = []
+    for arg_relation in ['amr:role_part']:
+        select_data_list = ['?class_net_1', '?class_net_2']
+        clause_list = [f'?class_net_1 a [rdfs:subClassOf* net:Class_Net].',
+                       f'?class_net_2 a [rdfs:subClassOf* net:Class_Net].',
+                       f'?class_net_1 {arg_relation} ?class_net_2.']
+        query_code = generate_select_query(graph, select_data_list, clause_list)
+        result_set += graph.query(query_code)
+    return query_code, result_set
+
+
+#==============================================================================
+# Useful Computation Method(s)
+#==============================================================================  
+
+# None
+    
+    
+#==============================================================================
+# Construct Method(s)
+#==============================================================================
+
+def __classify_net_as_entity(graph, net_uri):
+    class_net = net.ClassNet(graph, uri=net_uri)
+    class_net.class_type = ENTITY_CLASS_TYPE    
+    return class_net.generate_triple_definition()
+  
+    
+#==============================================================================
+# Main Method
+#==============================================================================
+
+def classify_entity_from_part_relation(graph):
+    
+    # -- Rule Initialization 
+    rule_label = 'classify class net as entity from part relation' 
+    rule_triple_list = []
+    
+    # -- Search for patterns 
+    _, pattern_set = __search_pattern(graph)
+    
+    # -- Pattern Analysis
+    for pattern in pattern_set:
+        new_triple_1 = __classify_net_as_entity(graph, pattern.class_net_1)
+        new_triple_2 = __classify_net_as_entity(graph, pattern.class_net_2)
+        rule_triple_list += (new_triple_1 + new_triple_2)
+    
+    return rule_label, rule_triple_list
\ No newline at end of file
diff --git a/tenet/scheme/amr_master_rule/transduction/entity_classifier_3.py b/tenet/scheme/amr_master_rule/transduction/entity_classifier_3.py
new file mode 100644
index 0000000000000000000000000000000000000000..27f4e70959076bf041d035ffeb782d4f5aada088
--- /dev/null
+++ b/tenet/scheme/amr_master_rule/transduction/entity_classifier_3.py
@@ -0,0 +1,71 @@
+#!/usr/bin/python3.10
+# -*-coding:Utf-8 -*
+
+#==============================================================================
+# TENET: Rule to entity classification (4)
+#------------------------------------------------------------------------------
+# AMR rule to classify classes as entities from degree arguments
+#==============================================================================
+
+from rdflib import Graph
+
+import transduction
+from transduction import net
+from transduction.query_builder import generate_select_query
+from transduction.rdfterm_computer import produce_uriref, produce_literal
+
+ENTITY_CLASS_TYPE = 'base-out:Entity'
+
+
+#==============================================================================
+# Pattern Search: modality_phenomena
+#==============================================================================
+
+def __search_pattern(graph):
+    query_code = ''
+    result_set = []
+    for arg_relation in ['amr:role_ARG0', 'amr:role_ARG1', 'amr:role_ARG2']:
+        select_data_list = ['?class_net']
+        clause_list = [f'?class_net a [rdfs:subClassOf* net:Class_Net].',
+                       f'?left_net {arg_relation} ?class_net.']
+        query_code = generate_select_query(graph, select_data_list, clause_list)
+        result_set += graph.query(query_code)
+    return query_code, result_set
+
+
+#==============================================================================
+# Useful Computation Method(s)
+#==============================================================================  
+
+# None
+    
+    
+#==============================================================================
+# Construct Method(s)
+#==============================================================================
+
+def __classify_net_as_entity(graph, net_uri):
+    class_net = net.ClassNet(graph, uri=net_uri)
+    class_net.class_type = ENTITY_CLASS_TYPE    
+    return class_net.generate_triple_definition()
+  
+    
+#==============================================================================
+# Main Method
+#==============================================================================
+
+def classify_entity_from_degree_arguments(graph):
+    
+    # -- Rule Initialization 
+    rule_label = 'classify class net as entity from degree arguments' 
+    rule_triple_list = []
+    
+    # -- Search for patterns 
+    _, pattern_set = __search_pattern(graph)
+    
+    # -- Pattern Analysis
+    for pattern in pattern_set:
+        new_triple = __classify_net_as_entity(graph, pattern.class_net)
+        rule_triple_list += new_triple
+    
+    return rule_label, rule_triple_list
\ No newline at end of file
diff --git a/tenet/scheme/amr_master_rule/transduction/mother_classifier_1.py b/tenet/scheme/amr_master_rule/transduction/mother_classifier_1.py
new file mode 100644
index 0000000000000000000000000000000000000000..5f89e3b5ab62e37a3c54c612fc7e66b25db4a71a
--- /dev/null
+++ b/tenet/scheme/amr_master_rule/transduction/mother_classifier_1.py
@@ -0,0 +1,74 @@
+#!/usr/bin/python3.10
+# -*-coding:Utf-8 -*
+
+#==============================================================================
+# TENET: Rule to entity classification (3)
+#------------------------------------------------------------------------------
+# AMR rule to classify classes as entities from domain relation
+#==============================================================================
+
+from rdflib import Graph
+
+import transduction
+from transduction import net
+from transduction.query_builder import generate_select_query
+from transduction.rdfterm_computer import produce_uriref, produce_literal
+
+ENTITY_CLASS_TYPE = 'base-out:Entity'
+
+
+#==============================================================================
+# Pattern Search: modality_phenomena
+#==============================================================================
+
+def __search_pattern(graph):
+    query_code = ''
+    result_set = []
+    for arg_relation in ['amr:role_domain']:
+        select_data_list = ['?class_net_1', '?class_net_2']
+        clause_list = [f'?class_net_1 a [rdfs:subClassOf* net:Class_Net].',
+                       f'?class_net_2 a [rdfs:subClassOf* net:Class_Net].',
+                       f'?class_net_1 {arg_relation} ?class_net_2.']
+        query_code = generate_select_query(graph, select_data_list, clause_list)
+        result_set += graph.query(query_code)
+    return query_code, result_set
+
+
+#==============================================================================
+# Useful Computation Method(s)
+#==============================================================================  
+
+# None
+    
+    
+#==============================================================================
+# Construct Method(s)
+#==============================================================================
+
+def __classify_net_as_mother(graph, base_net_uri, mother_net_uri):
+    base_class_net = net.ClassNet(graph, uri=base_net_uri)
+    base_class_net.mother_class_net = mother_net_uri    
+    return base_class_net.generate_triple_definition()
+  
+    
+#==============================================================================
+# Main Method
+#==============================================================================
+
+def classify_mother_relation_from_domain_relation(graph):
+    
+    # -- Rule Initialization 
+    rule_label = 'classify class net as mother from domain argument' 
+    rule_triple_list = []
+    
+    # -- Search for patterns 
+    _, pattern_set = __search_pattern(graph)
+    
+    # -- Pattern Analysis
+    for pattern in pattern_set:
+        new_triple = __classify_net_as_mother(graph, 
+                                              pattern.class_net_1, 
+                                              pattern.class_net_2)
+        rule_triple_list += new_triple
+    
+    return rule_label, rule_triple_list
\ No newline at end of file
diff --git a/tenet/scheme/owl_amr_scheme_1.py b/tenet/scheme/owl_amr_scheme_1.py
index 4ab95b89be5720b851121e82a4a4a2a7cd108778..aa433423411907b0201c3280bdc609527452c21c 100644
--- a/tenet/scheme/owl_amr_scheme_1.py
+++ b/tenet/scheme/owl_amr_scheme_1.py
@@ -206,7 +206,10 @@ composite_class_extraction_sequence = ['composite class extraction sequence',
                                        rule.extract_composite_class_2]
 
 classification_sequence_2 = ['classification sequence (2)',
-                             rule.classify_class_as_entity_1,
+                             rule.classify_entity_from_core_arguments,
+                             rule.classify_entity_from_part_relation,
+                             rule.classify_entity_from_degree_arguments,
+                             rule.classify_mother_relation_from_domain_relation,
                              ]
 
 
diff --git a/tenet/tenet.log b/tenet/tenet.log
index dbe0ae61bdbe50743539c227f3754e2d0f251517..7f727025595c85e484dbaa74a2ebe4060486bb06 100644
--- a/tenet/tenet.log
+++ b/tenet/tenet.log
@@ -71,25 +71,25 @@
 - DEBUG - ----- Total rule number: 87
 - INFO - -- Applying extraction step: preprocessing
 - INFO - --- *** November Transduction *** Sequence: amrld-correcting-sequence
-- INFO - ----- fix-amr-bug-about-system-solar-planet: 5/5 new triples (603, 0:00:00.031752)
+- INFO - ----- fix-amr-bug-about-system-solar-planet: 5/5 new triples (603, 0:00:00.031473)
 - INFO - --- *** November Transduction *** Sequence: amr-reification-sequence
-- INFO - ----- reclassify-concept-1: 10/10 new triples (613, 0:00:00.167954)
-- DEBUG - ----- reclassify-concept-2: 0/0 new triple (613, 0:00:00.059882)
-- INFO - ----- reclassify-concept-3: 12/12 new triples (625, 0:00:00.051650)
-- INFO - ----- reclassify-concept-4: 16/16 new triples (641, 0:00:00.081932)
-- INFO - ----- reclassify-concept-5: 2/4 new triples (643, 0:00:00.049265)
-- INFO - ----- reify-roles-as-concept: 10/10 new triples (653, 0:00:00.059204)
-- INFO - ----- reclassify-existing-variable: 45/45 new triples (698, 0:00:00.045842)
-- INFO - ----- add-new-variable-for-reified-concept: 8/8 new triples (706, 0:00:00.090942)
-- INFO - ----- add-amr-leaf-for-reclassified-concept: 33/33 new triples (739, 0:00:00.098016)
-- INFO - ----- add-amr-leaf-for-reified-concept: 8/8 new triples (747, 0:00:00.058809)
-- INFO - ----- add-amr-edge-for-core-relation: 27/27 new triples (774, 0:00:00.203281)
-- INFO - ----- add-amr-edge-for-reified-concept: 12/12 new triples (786, 0:00:00.195518)
-- INFO - ----- add-amr-edge-for-name-relation: 5/5 new triples (791, 0:00:00.113609)
-- DEBUG - ----- add-value-for-quant-relation: 0/0 new triple (791, 0:00:00.089987)
-- INFO - ----- add-amr-edge-for-polarity-relation: 5/5 new triples (796, 0:00:00.083162)
-- INFO - ----- update-amr-edge-role-1: 15/15 new triples (811, 0:00:00.102568)
-- INFO - ----- add-amr-root: 5/5 new triples (816, 0:00:00.031240)
+- INFO - ----- reclassify-concept-1: 10/10 new triples (613, 0:00:00.160563)
+- DEBUG - ----- reclassify-concept-2: 0/0 new triple (613, 0:00:00.060243)
+- INFO - ----- reclassify-concept-3: 12/12 new triples (625, 0:00:00.044155)
+- INFO - ----- reclassify-concept-4: 16/16 new triples (641, 0:00:00.056944)
+- INFO - ----- reclassify-concept-5: 2/4 new triples (643, 0:00:00.045606)
+- INFO - ----- reify-roles-as-concept: 10/10 new triples (653, 0:00:00.051651)
+- INFO - ----- reclassify-existing-variable: 45/45 new triples (698, 0:00:00.036240)
+- INFO - ----- add-new-variable-for-reified-concept: 8/8 new triples (706, 0:00:00.067767)
+- INFO - ----- add-amr-leaf-for-reclassified-concept: 33/33 new triples (739, 0:00:00.047631)
+- INFO - ----- add-amr-leaf-for-reified-concept: 8/8 new triples (747, 0:00:00.034005)
+- INFO - ----- add-amr-edge-for-core-relation: 27/27 new triples (774, 0:00:00.116606)
+- INFO - ----- add-amr-edge-for-reified-concept: 12/12 new triples (786, 0:00:00.142827)
+- INFO - ----- add-amr-edge-for-name-relation: 5/5 new triples (791, 0:00:00.080437)
+- DEBUG - ----- add-value-for-quant-relation: 0/0 new triple (791, 0:00:00.168916)
+- INFO - ----- add-amr-edge-for-polarity-relation: 5/5 new triples (796, 0:00:00.085452)
+- INFO - ----- update-amr-edge-role-1: 15/15 new triples (811, 0:00:00.093294)
+- INFO - ----- add-amr-root: 5/5 new triples (816, 0:00:00.025947)
 - DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_01_preprocessing 
 - DEBUG - ----- step: preprocessing
 - DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/01/
@@ -98,71 +98,74 @@
 - INFO - ----- 218 triples extracted during preprocessing step
 - INFO - -- Applying extraction step: transduction
 - INFO - --- *** February Transduction *** Sequence: atomic extraction sequence
-- INFO - ----- extract atom classes: 30/30 new triples (846, 0:00:00.216496)
-- INFO - ----- extract atom individuals: 8/8 new triples (854, 0:00:00.066344)
-- INFO - ----- extract atomic properties: 75/75 new triples (929, 0:00:00.298111)
-- INFO - ----- extract atom values: 10/10 new triples (939, 0:00:00.071351)
-- INFO - ----- extract atom phenomena: 14/14 new triples (953, 0:00:00.100322)
-- INFO - ----- propagate atom relations: 24/68 new triples (977, 0:00:01.445146)
+- INFO - ----- extract atom classes: 30/30 new triples (846, 0:00:00.169751)
+- INFO - ----- extract atom individuals: 8/8 new triples (854, 0:00:00.045202)
+- INFO - ----- extract atomic properties: 75/75 new triples (929, 0:00:00.220864)
+- INFO - ----- extract atom values: 10/10 new triples (939, 0:00:00.053945)
+- INFO - ----- extract atom phenomena: 14/14 new triples (953, 0:00:00.077999)
+- INFO - ----- propagate atom relations: 24/68 new triples (977, 0:00:01.051146)
 - INFO - --- *** February Transduction *** Sequence: classification sequence (1)
-- DEBUG - ----- classify modality phenomena: 0/0 new triple (977, 0:00:00.024688)
-- INFO - ----- reclassify argument property to class: 11/14 new triples (988, 0:00:00.073941)
+- DEBUG - ----- classify modality phenomena: 0/0 new triple (977, 0:00:00.022915)
+- INFO - ----- reclassify argument property to class: 11/14 new triples (988, 0:00:00.072621)
 - INFO - --- *** February Transduction *** Sequence: phenomena analyze sequence (1)
-- INFO - ----- analyze "polarity" phenomena (1): 32/36 new triples (1020, 0:00:00.103744)
-- DEBUG - ----- analyze "polarity" phenomena (2): 0/0 new triple (1020, 0:00:00.012976)
-- DEBUG - ----- analyze "polarity" phenomena (3): 0/0 new triple (1020, 0:00:00.013348)
-- DEBUG - ----- analyze "polarity" phenomena (4): 0/0 new triple (1020, 0:00:00.029727)
-- DEBUG - ----- analyze "polarity" phenomena (5): 0/0 new triple (1020, 0:00:00.037221)
-- DEBUG - ----- analyze modifier phenomena (mod): 0/0 new triple (1020, 0:00:00.008403)
-- DEBUG - ----- classify modality phenomena: 0/0 new triple (1020, 0:00:00.019072)
+- INFO - ----- analyze "polarity" phenomena (1): 32/36 new triples (1020, 0:00:00.105395)
+- DEBUG - ----- analyze "polarity" phenomena (2): 0/0 new triple (1020, 0:00:00.014670)
+- DEBUG - ----- analyze "polarity" phenomena (3): 0/0 new triple (1020, 0:00:00.019251)
+- DEBUG - ----- analyze "polarity" phenomena (4): 0/0 new triple (1020, 0:00:00.031005)
+- DEBUG - ----- analyze "polarity" phenomena (5): 0/0 new triple (1020, 0:00:00.029724)
+- DEBUG - ----- analyze modifier phenomena (mod): 0/0 new triple (1020, 0:00:00.009488)
+- DEBUG - ----- classify modality phenomena: 0/0 new triple (1020, 0:00:00.018402)
 - INFO - --- *** February Transduction *** Sequence: phenomena analyze sequence (2)
-- INFO - ----- analyze "or" phenomena (1): 1/1 new triple (1021, 0:00:00.082001)
-- INFO - ----- analyze "or" phenomena (2): 55/82 new triples (1076, 0:00:00.266848)
-- INFO - ----- analyze "and" phenomena (1): 2/14 new triples (1078, 0:00:00.205857)
-- DEBUG - ----- analyze "and" phenomena (2): 0/0 new triple (1078, 0:00:00.015402)
+- INFO - ----- analyze "or" phenomena (1): 1/1 new triple (1021, 0:00:00.081188)
+- INFO - ----- analyze "or" phenomena (2): 55/82 new triples (1076, 0:00:00.293218)
+- INFO - ----- analyze "and" phenomena (1): 2/14 new triples (1078, 0:00:00.170594)
+- DEBUG - ----- analyze "and" phenomena (2): 0/0 new triple (1078, 0:00:00.010628)
 - INFO - --- *** February Transduction *** Sequence: composite class extraction sequence
-- INFO - ----- extract composite classes (1): 127/133 new triples (1205, 0:00:00.490823)
-- DEBUG - ----- extract composite classes (2): 0/0 new triple (1205, 0:00:00.024752)
+- INFO - ----- extract composite classes (1): 127/138 new triples (1205, 0:00:00.529900)
+- DEBUG - ----- extract composite classes (2): 0/0 new triple (1205, 0:00:00.033513)
 - INFO - --- *** February Transduction *** Sequence: classification sequence (2)
-- INFO - ----- classify class net as entity (1): 10/181 new triples (1215, 0:00:00.340942)
+- INFO - ----- classify class net as entity from core arguments: 10/181 new triples (1215, 0:00:00.315279)
+- DEBUG - ----- classify class net as entity from part relation: 0/0 new triple (1215, 0:00:00.010186)
+- DEBUG - ----- classify class net as entity from degree arguments: 0/362 new triple (1215, 0:00:00.515378)
+- INFO - ----- classify class net as mother from domain argument: 5/34 new triples (1220, 0:00:00.083868)
 - DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_01_transduction 
 - DEBUG - ----- step: transduction
 - DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/01/
 - DEBUG - ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_transduction.ttl
 - DEBUG - ----- base: http://https://tenet.tetras-libre.fr/demo/01//transduction
-- INFO - ----- 399 triples extracted during transduction step
+- INFO - ----- 404 triples extracted during transduction step
 - INFO - -- Applying extraction step: generation
 - INFO - --- *** February Transduction *** Sequence: class_generation_sequence
-- INFO - ----- generate OWL class: 31/31 new triples (1246, 0:00:00.455186)
+- INFO - ----- generate OWL class: 32/35 new triples (1252, 0:00:00.374151)
 - INFO - --- *** February Transduction *** Sequence: property_generation_sequence
-- INFO - ----- generate OWL property: 29/29 new triples (1275, 0:00:00.387736)
+- INFO - ----- generate OWL property: 29/29 new triples (1281, 0:00:00.344631)
 - INFO - --- *** November Transduction *** Sequence: main-generation-sequence
-- DEBUG - ----- generate-individual: 0/0 new triple (1275, 0:00:00.012749)
-- DEBUG - ----- classify-individual-1: 0/0 new triple (1275, 0:00:00.009065)
-- DEBUG - ----- classify-individual-2: 0/0 new triple (1275, 0:00:00.012780)
-- DEBUG - ----- generate-atom-property-1: 0/0 new triple (1275, 0:00:00.011774)
-- DEBUG - ----- generate-atom-property-12: 0/0 new triple (1275, 0:00:00.012191)
-- DEBUG - ----- generate-inverse-relation: 0/0 new triple (1275, 0:00:00.009183)
-- DEBUG - ----- generate-composite-class: 0/0 new triple (1275, 0:00:00.016291)
-- DEBUG - ----- add-restriction-to-class-1: 0/0 new triple (1275, 0:00:00.031258)
-- DEBUG - ----- add-restriction-to-class-2: 0/0 new triple (1275, 0:00:00.017814)
-- DEBUG - ----- add-restriction-to-class-3: 0/0 new triple (1275, 0:00:00.022112)
-- DEBUG - ----- add-restriction-to-class-4: 0/0 new triple (1275, 0:00:00.019879)
-- DEBUG - ----- add-restriction-to-class-5: 0/0 new triple (1275, 0:00:00.021348)
-- DEBUG - ----- add-restriction-to-class-6: 0/0 new triple (1275, 0:00:00.017861)
+- DEBUG - ----- generate-individual: 0/0 new triple (1281, 0:00:00.010164)
+- DEBUG - ----- classify-individual-1: 0/0 new triple (1281, 0:00:00.009970)
+- DEBUG - ----- classify-individual-2: 0/0 new triple (1281, 0:00:00.009374)
+- DEBUG - ----- generate-atom-property-1: 0/0 new triple (1281, 0:00:00.013099)
+- DEBUG - ----- generate-atom-property-12: 0/0 new triple (1281, 0:00:00.007817)
+- DEBUG - ----- generate-inverse-relation: 0/0 new triple (1281, 0:00:00.006800)
+- DEBUG - ----- generate-composite-class: 0/0 new triple (1281, 0:00:00.010417)
+- DEBUG - ----- add-restriction-to-class-1: 0/0 new triple (1281, 0:00:00.018832)
+- DEBUG - ----- add-restriction-to-class-2: 0/0 new triple (1281, 0:00:00.014955)
+- DEBUG - ----- add-restriction-to-class-3: 0/0 new triple (1281, 0:00:00.015434)
+- DEBUG - ----- add-restriction-to-class-4: 0/0 new triple (1281, 0:00:00.012755)
+- DEBUG - ----- add-restriction-to-class-5: 0/0 new triple (1281, 0:00:00.015014)
+- DEBUG - ----- add-restriction-to-class-6: 0/0 new triple (1281, 0:00:00.015334)
 - DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_01_generation 
 - DEBUG - ----- step: generation
 - DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/01/
 - DEBUG - ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_generation.ttl
 - DEBUG - ----- base: http://https://tenet.tetras-libre.fr/demo/01//generation
-- INFO - ----- 60 triples extracted during generation step
+- INFO - ----- 61 triples extracted during generation step
 - DEBUG - --- Serializing graph to factoid file (/home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_factoid.ttl)
-- DEBUG - ----- Number of factoids: 60
+- DEBUG - ----- Number of factoids: 64
 - DEBUG - ----- Graph base: http://https://tenet.tetras-libre.fr/demo/01//factoid
 - INFO - 
  === Final Ontology Generation  === 
 - INFO - -- Making complete factoid graph by merging the result factoids
-- INFO - ----- Total factoid number: 60
+- INFO - ----- Total factoid number: 64
 - INFO - -- Serializing graph to factoid string
 - INFO - ----- Graph base: http://https://tenet.tetras-libre.fr/demo/01//factoid
 - INFO - -- Serializing graph to factoid file
@@ -172,6 +175,6 @@
 - INFO - 
   *** Execution Time *** 
 ----- Function: create_ontology_from_amrld_file (tenet.main)
------ Total Time: 0:00:07.144447
------ Process Time: 0:00:06.999331
+----- Total Time: 0:00:06.700922
+----- Process Time: 0:00:06.607285
   *** - *** 
diff --git a/tenet/transduction/net/class_net.py b/tenet/transduction/net/class_net.py
index fb5d733cebd94c1cb1b3acd353b7d3e2bfb61419..b0d12fe219de5c6eb16e246c06c57901c832903b 100644
--- a/tenet/transduction/net/class_net.py
+++ b/tenet/transduction/net/class_net.py
@@ -34,10 +34,11 @@ class ClassNet(Net):
         self.type_uri = produce_uriref(self.support_graph, f'net:{self.type_id}')
         
         # -- Net Attributes
-        self.attr_list += ['class_name', 'class_uri', 'class_type']
+        self.attr_list += ['class_name', 'class_uri', 'class_type', 'mother_class_net']
         self._class_name = None
         self._class_uri = None
         self._class_type = None
+        self._mother_class_net = None
   
         
     #--------------------------------------------------------------------------
@@ -75,3 +76,13 @@ class ClassNet(Net):
     @class_type.setter
     def class_type(self, new_value):
         self._class_type = self.set_attribute_value_list(new_value, produce_uriref)
+
+    @property
+    def mother_class_net(self):
+        if self._mother_class_net is None: 
+            self._mother_class_net = self.get_value_list_from_graph('mother_class_net')
+        return self._mother_class_net
+    
+    @mother_class_net.setter
+    def mother_class_net(self, new_value):
+        self._mother_class_net = self.set_attribute_value_list(new_value, produce_uriref)
\ No newline at end of file
diff --git a/tests/dev_owl_rule_tests/test_data/entity-classifier-devGraph-1.result.ttl b/tests/dev_owl_rule_tests/test_data/entity-classifier-devGraph-1.result.ttl
index 40abbc892ea6133ec8c2c09514b1ebcd1da009b9..aec4bab133a09bade79545eaa5ed0ee9aefa1073 100644
--- a/tests/dev_owl_rule_tests/test_data/entity-classifier-devGraph-1.result.ttl
+++ b/tests/dev_owl_rule_tests/test_data/entity-classifier-devGraph-1.result.ttl
@@ -516,7 +516,8 @@ net:compositeClass_object-orbit-hasManner-not-direct-sun_o a net:Composite_Class
     net:hasRestriction net:restriction_orbit-hasManner-not-direct-sun_o2 ;
     net:hasStructure "SSC-01-01" .
 
-net:compositeClass_system-hasPart-object_s a net:Composite_Class_Net ;
+net:compositeClass_system-hasPart-object_s a net:Class_Net,
+        net:Composite_Class_Net ;
     :role_domain net:atomClass_system_p,
         net:individual_SolarSystem_p ;
     net:composeFrom net:atomClass_object_o,
@@ -526,12 +527,14 @@ net:compositeClass_system-hasPart-object_s a net:Composite_Class_Net ;
     net:coverNode :leaf_hasPart_p9,
         :leaf_object_o,
         :leaf_system_s ;
-    net:hasMotherClassNet net:atomClass_system_s ;
+    net:hasMotherClassNet net:atomClass_system_p,
+        net:atomClass_system_s ;
     net:hasNaming "system-hasPart-object" ;
     net:hasRestriction net:restriction_hasPart-object_p9 ;
     net:hasStructure "SSC-01-01" .
 
-net:compositeClass_system-hasPart-sun_s a net:Composite_Class_Net ;
+net:compositeClass_system-hasPart-sun_s a net:Class_Net,
+        net:Composite_Class_Net ;
     :role_domain net:atomClass_system_p,
         net:individual_SolarSystem_p ;
     net:composeFrom net:atomClass_sun_s2,
@@ -541,7 +544,8 @@ net:compositeClass_system-hasPart-sun_s a net:Composite_Class_Net ;
     net:coverNode :leaf_hasPart_p9,
         :leaf_sun_s2,
         :leaf_system_s ;
-    net:hasMotherClassNet net:atomClass_system_s ;
+    net:hasMotherClassNet net:atomClass_system_p,
+        net:atomClass_system_s ;
     net:hasNaming "system-hasPart-sun" ;
     net:hasRestriction net:restriction_hasPart-sun_p9 ;
     net:hasStructure "SSC-01-01" .
@@ -824,6 +828,9 @@ ns2:AMR a owl:Class ;
 sys:Degree a owl:Class ;
     rdfs:subClassOf sys:Out_Structure .
 
+sys:Entity a owl:Class ;
+    rdfs:subClassOf sys:Out_Structure .
+
 sys:Feature a owl:Class ;
     rdfs:subClassOf sys:Out_Structure .
 
@@ -836,7 +843,6 @@ 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 ;
     :role_ARG0 net:atomClass_object_o ;
     :role_ARG1 net:atomClass_sun_s2 ;
@@ -844,7 +850,6 @@ net:atomClass_orbit_o2 a net:Atom_Class_Net,
     net:coverBaseNode :leaf_orbit-01_o2 ;
     net:coverNode :leaf_orbit-01_o2 ;
     net:hasClassName "orbit" ;
-    net:hasClassType sys:Entity ;
     net:hasNaming "orbit" ;
     net:hasStructure "SSC-01-01" .
 
@@ -1160,12 +1165,10 @@ net:Net_Structure a owl:Class ;
     rdfs:comment "A semantic net captures a set of nodes, and associates this set with type(s) and value(s)." .
 
 net:atomClass_gravitation_g a net:Atom_Class_Net,
-        net:Class_Net,
         net:Deprecated_Net ;
     net:coverBaseNode :leaf_gravitation_g ;
     net:coverNode :leaf_gravitation_g ;
     net:hasClassName "gravitation" ;
-    net:hasClassType sys:Entity ;
     net:hasNaming "gravitation" ;
     net:hasStructure "SSC-01-01" .
 
@@ -1266,15 +1269,6 @@ ns3:FrameRole a ns2:Role,
     rdfs:subClassOf :AMR_Core_Role ;
     :label "ARG1" .
 
-net:atomClass_system_p a net:Atom_Class_Net,
-        net:Deprecated_Net ;
-    :role_name net:value_SolarSystem_blankNode ;
-    net:coverBaseNode :leaf_system_p ;
-    net:coverNode :leaf_system_p ;
-    net:hasClassName "system" ;
-    net:hasNaming "system" ;
-    net:hasStructure "SSC-01-01" .
-
 net:atomProperty_direct_d a net:Atom_Property_Net ;
     net:coverBaseNode :leaf_direct-02_d ;
     net:coverNode :leaf_direct-02_d ;
@@ -1313,6 +1307,9 @@ net:typeProperty a owl:AnnotationProperty ;
 sys:Out_Structure a owl:Class ;
     rdfs:label "Output Ontology Structure" .
 
+net:Class_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
 net:Composite_Class_Net a owl:Class ;
     rdfs:subClassOf net:Class_Net .
 
@@ -1328,9 +1325,6 @@ net:netProperty a owl:AnnotationProperty ;
     :hasConcept :concept_gravitation ;
     :hasVariable :variable_g .
 
-sys:Entity a owl:Class ;
-    rdfs:subClassOf sys:Out_Structure .
-
 cprm:configParamProperty a rdf:Property ;
     rdfs:label "Config Parameter Property" .
 
@@ -1401,9 +1395,6 @@ rdf:Property a owl:Class .
     :hasConcept :concept_direct-02 ;
     :hasVariable :variable_d .
 
-net:Class_Net a owl:Class ;
-    rdfs:subClassOf net:Net .
-
 net:Deprecated_Net a owl:Class ;
     rdfs:subClassOf net:Net .
 
@@ -1413,6 +1404,15 @@ net:Relation a owl:Class ;
 net:Restriction_Net a owl:Class ;
     rdfs:subClassOf net:Net .
 
+net:atomClass_system_p a net:Atom_Class_Net,
+        net:Deprecated_Net ;
+    :role_name net:value_SolarSystem_blankNode ;
+    net:coverBaseNode :leaf_system_p ;
+    net:coverNode :leaf_system_p ;
+    net:hasClassName "system" ;
+    net:hasNaming "system" ;
+    net:hasStructure "SSC-01-01" .
+
 :leaf_hasPart_p9 a :AMR_Leaf ;
     :edge_p9_ARG0_s :leaf_system_s ;
     :edge_p9_ARG1_a :leaf_and_a ;
@@ -1447,7 +1447,7 @@ net:atomClass_system_s a net:Atom_Class_Net,
     net:coverBaseNode :leaf_system_s ;
     net:coverNode :leaf_system_s ;
     net:hasClassName "system" ;
-    net:hasClassType sys:Entity ;
+    net:hasMotherClassNet net:atomClass_system_p ;
     net:hasNaming "system" ;
     net:hasStructure "SSC-01-01" .
 
@@ -1495,24 +1495,20 @@ net:atomProperty_direct_d2 a net:Atom_Property_Net,
     :hasVariable :variable_s .
 
 net:atomClass_object_o a net:Atom_Class_Net,
-        net:Class_Net,
         net:Deprecated_Net ;
     net:coverBaseNode :leaf_object_o ;
     net:coverNode :leaf_object_o ;
     net:hasClassName "object" ;
-    net:hasClassType sys:Entity ;
     net:hasNaming "object" ;
     net:hasStructure "SSC-01-01" .
 
 :AMR_Leaf a owl:Class ;
     rdfs:subClassOf :AMR_Structure .
 
-net:atomClass_sun_s2 a net:Atom_Class_Net,
-        net:Class_Net ;
+net:atomClass_sun_s2 a net:Atom_Class_Net ;
     net:coverBaseNode :leaf_sun_s2 ;
     net:coverNode :leaf_sun_s2 ;
     net:hasClassName "sun" ;
-    net:hasClassType sys:Entity ;
     net:hasNaming "sun" ;
     net:hasStructure "SSC-01-01" .
 
diff --git a/tests/dev_owl_rule_tests/test_rule_entity_classifier.py b/tests/dev_owl_rule_tests/test_rule_entity_classifier.py
index 8a29a963e7dba8b10821f9b1454519d29a876582..ee2cbdaa6d67a06cdfdc841e469ad35ea2b4f7f4 100644
--- a/tests/dev_owl_rule_tests/test_rule_entity_classifier.py
+++ b/tests/dev_owl_rule_tests/test_rule_entity_classifier.py
@@ -20,6 +20,8 @@ TEST_FILE_NAME_1 = 'entity-classifier-devGraph-1'
 
 from context import tenet
 from tenet.scheme.amr_master_rule.transduction import entity_classifier_1 as rule_1
+from tenet.scheme.amr_master_rule.transduction import entity_classifier_2 as rule_2
+from tenet.scheme.amr_master_rule.transduction import entity_classifier_3 as rule_3
 from tenet.scheme import amr_master_rule as rule
 
 from tenet.transduction import net
@@ -98,7 +100,19 @@ def test_search_pattern_1(graph):
         result_str += f'{selection.class_net.n3(graph.namespace_manager)}'
         print(result_str)        
     return pattern_set
+
     
+def test_search_pattern_2(graph):    
+    query_code, pattern_set = rule_2.__search_pattern(graph)
+    print(f'\n ----- query code: {query_code}')
+    print(f'\n ----- number of selection found: {len(pattern_set)}')
+    for selection in pattern_set: 
+        result_str = f'>>> '
+        result_str += f'{selection.class_net.n3(graph.namespace_manager)}'
+        result_str += f'  |  {selection.class_net.n3(graph.namespace_manager)}'
+        print(result_str)        
+    return pattern_set
+
 
 #==============================================================================
 # Unit Test
@@ -135,7 +149,32 @@ if __name__ == '__main__':
     print('\n \n')
     
     print('\n *** Unit Test ***')
-    test_rule_application(TEST_FILE_NAME_1, graph_1, rule_1.classify_class_as_entity_1)
+    test_rule_application(TEST_FILE_NAME_1, graph_1, rule.classify_entity_from_core_arguments)
+    print('\n \n')
+    
+    
+    print('\n ///////////////////// Classifier Rule 2')
+    
+    print('\n *** Step Test ***')
+    
+    print('\n -- Step 1: Search Pattern')
+    pattern_set = test_search_pattern_2(graph_1)    
+    print('\n \n')
+    
+    print('\n *** Unit Test ***')
+    test_rule_application(TEST_FILE_NAME_1, graph_1, rule.classify_entity_from_part_relation)
+    print('\n \n')
+    
+    print('\n ///////////////////// Classifier Rule 3')
+    
+    print('\n *** Step Test ***')
+    
+    print('\n -- Step 1: Search Pattern')
+    pattern_set = test_search_pattern_1(graph_1)    
+    print('\n \n')
+    
+    print('\n *** Unit Test ***')
+    test_rule_application(TEST_FILE_NAME_1, graph_1, rule.classify_entity_from_degree_arguments)
     print('\n \n')
     
 
diff --git a/tests/dev_owl_rule_tests/test_rule_mother_classifier.py b/tests/dev_owl_rule_tests/test_rule_mother_classifier.py
new file mode 100644
index 0000000000000000000000000000000000000000..c20e21afb4a5411cc7283b11800e3e4ba53d1801
--- /dev/null
+++ b/tests/dev_owl_rule_tests/test_rule_mother_classifier.py
@@ -0,0 +1,144 @@
+#!/usr/bin/python3.10
+# -*-coding:Utf-8 -*
+
+#==============================================================================
+# TENET: Extraction Rule Test
+#------------------------------------------------------------------------------
+# Script to test rules under development
+#==============================================================================
+
+import subprocess, os
+from rdflib import Graph, Namespace
+from rdflib.namespace import NamespaceManager, FOAF, RDF
+from rdflib import URIRef, Literal, BNode
+
+FILE_PATH = f'{os.path.dirname(os.path.abspath(__file__))}'
+INPUT_DIR_PATH = f'{FILE_PATH}/test_data/'
+OUTPUT_DIR_PATH = f'{FILE_PATH}/test_data/'
+
+TEST_FILE_NAME_1 = 'entity-classifier-devGraph-1'
+
+from context import tenet
+from tenet.scheme.amr_master_rule.transduction import mother_classifier_1 as rule_1
+from tenet.scheme import amr_master_rule as rule
+
+from tenet.transduction import net
+from tenet.transduction.rdfterm_computer import __update_uri_with_prefix
+from tenet.transduction import query_builder
+from tenet.transduction import prefix_handle
+from transduction.naming_computer import define_composite_naming_2
+
+
+
+#==============================================================================
+# Useful Methods
+#==============================================================================
+
+def load_test_graph(test_file_name):
+    print(f'\n -- Test Graph Loading')
+    graph = Graph()
+    prefix_handle.update_graph_namespacemanager(graph)
+    graph_path = f'{INPUT_DIR_PATH}{test_file_name}.ttl'
+    graph.parse(graph_path)
+    print(f" ----- Graph Loaded ({len(graph)})")
+    return graph
+
+
+def print_net_attributes(net):
+    print(f'\n *** Net attributes ({net.type_id}: {net.uri}) ***')
+    for attr in net.attr_list:
+        net_attr_ref = f'net.{attr}'
+        print(f' ----- {attr}: {eval(net_attr_ref)}') 
+
+
+def print_triple(graph, triple, num=-1):
+    num_str = f'[{num}]' if num > -1 else '[-]'
+    (s, p, o) = triple
+    s = __update_uri_with_prefix(graph, s)
+    p = __update_uri_with_prefix(graph, p)
+    o = __update_uri_with_prefix(graph, o)
+    print(f' {num_str} {s} {p} {o}')
+    
+
+def add_triples_in_graph(test_file_name, graph, triple_list):
+    print(f'\n -- Adding triple(s) in graph')       
+    print(f" ----- Graph length before update: {len(graph)}")
+    print(f" ----- Number of triples to add: {len(triple_list)}")
+    
+    print(f" ----- Added triples:")
+    n = 0
+    graph_length = len(graph)
+    for triple in triple_list:
+        graph.add(triple)
+        if graph_length < len(graph):
+            n += 1
+            graph_length = len(graph)
+            print_triple(graph, triple, num=n)      
+        
+    print(f" ----- Graph length after update: {len(graph)}")
+    
+    output_graph_path = f'{OUTPUT_DIR_PATH}{test_file_name}.result.ttl'
+    output_graph_uri = f'https://amr.tetras-libre.fr/rdf/{test_file_name}/result'
+    print(f'\n -- Serialize test graph to {output_graph_path}')
+    graph.serialize(destination=output_graph_path, 
+                    format='turtle',
+                    base=output_graph_uri)
+
+
+#==============================================================================
+# Development Test
+#==============================================================================
+           
+def test_search_pattern_1(graph):    
+    query_code, pattern_set = rule_1.__search_pattern(graph)
+    print(f'\n ----- query code: {query_code}')
+    print(f'\n ----- number of selection found: {len(pattern_set)}')
+    for selection in pattern_set: 
+        result_str = f'>>> '
+        result_str += f'{selection.class_net_1.n3(graph.namespace_manager)}'
+        result_str += f'  |  {selection.class_net_2.n3(graph.namespace_manager)}'
+        print(result_str)        
+    return pattern_set
+
+
+#==============================================================================
+# Unit Test
+#==============================================================================
+
+def test_rule_application(test_file_name, graph, rule):    
+    print('\n -- Rule Test')
+    
+    rule_label, new_triple_list = rule(graph)
+    print(f' ----- label: {rule_label}')
+    
+    add_triples_in_graph(test_file_name, graph, new_triple_list)
+    
+
+
+#==============================================================================
+# Test Script
+#==============================================================================
+
+if __name__ == '__main__':
+      
+    print('\n *** Test Preparation ***')
+    graph_1 = load_test_graph(TEST_FILE_NAME_1)
+    # graph_2 = load_test_graph(TEST_FILE_NAME_2)
+    print('\n \n')
+    
+    
+    print('\n ///////////////////// Classifier Rule 1')
+    
+    print('\n *** Step Test ***')
+    
+    print('\n -- Step 1: Search Pattern')
+    pattern_set = test_search_pattern_1(graph_1)    
+    print('\n \n')
+    
+    print('\n *** Unit Test ***')
+    test_rule_application(TEST_FILE_NAME_1, graph_1, rule.classify_mother_relation_from_domain_relation)
+    print('\n \n')
+    
+    
+
+    print('\n *** - ***')
\ No newline at end of file
diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/SolarSystemDev01_factoid.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/SolarSystemDev01_factoid.ttl
index 60a4be301b24c9a9abe9e05cce651fb8cd030142..6bfa1b38e4c85da57e52b138db3496420d47577a 100644
--- a/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/SolarSystemDev01_factoid.ttl
+++ b/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/SolarSystemDev01_factoid.ttl
@@ -77,6 +77,7 @@
 
 <https://tenet.tetras-libre.fr/extract-result#system> a owl:Class ;
     rdfs:label "system" ;
-    rdfs:subClassOf ns1:Entity ;
+    rdfs:subClassOf ns1:Entity,
+        ns1:Undetermined_Thing ;
     ns1:fromStructure "SSC-01-01" .
 
diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/technical-data/tenet.log b/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/technical-data/tenet.log
index 8b520edea0eea1c8925b5983912290b9df9bc6c7..dbaea76b8bce839d522c4b6e40c1d0e366f8159d 100644
--- a/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/technical-data/tenet.log
+++ b/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/technical-data/tenet.log
@@ -71,25 +71,25 @@
 - DEBUG - ----- Total rule number: 87
 - INFO - -- Applying extraction step: preprocessing
 - INFO - --- *** November Transduction *** Sequence: amrld-correcting-sequence
-- INFO - ----- fix-amr-bug-about-system-solar-planet: 5/5 new triples (603, 0:00:00.031752)
+- INFO - ----- fix-amr-bug-about-system-solar-planet: 5/5 new triples (603, 0:00:00.031473)
 - INFO - --- *** November Transduction *** Sequence: amr-reification-sequence
-- INFO - ----- reclassify-concept-1: 10/10 new triples (613, 0:00:00.167954)
-- DEBUG - ----- reclassify-concept-2: 0/0 new triple (613, 0:00:00.059882)
-- INFO - ----- reclassify-concept-3: 12/12 new triples (625, 0:00:00.051650)
-- INFO - ----- reclassify-concept-4: 16/16 new triples (641, 0:00:00.081932)
-- INFO - ----- reclassify-concept-5: 2/4 new triples (643, 0:00:00.049265)
-- INFO - ----- reify-roles-as-concept: 10/10 new triples (653, 0:00:00.059204)
-- INFO - ----- reclassify-existing-variable: 45/45 new triples (698, 0:00:00.045842)
-- INFO - ----- add-new-variable-for-reified-concept: 8/8 new triples (706, 0:00:00.090942)
-- INFO - ----- add-amr-leaf-for-reclassified-concept: 33/33 new triples (739, 0:00:00.098016)
-- INFO - ----- add-amr-leaf-for-reified-concept: 8/8 new triples (747, 0:00:00.058809)
-- INFO - ----- add-amr-edge-for-core-relation: 27/27 new triples (774, 0:00:00.203281)
-- INFO - ----- add-amr-edge-for-reified-concept: 12/12 new triples (786, 0:00:00.195518)
-- INFO - ----- add-amr-edge-for-name-relation: 5/5 new triples (791, 0:00:00.113609)
-- DEBUG - ----- add-value-for-quant-relation: 0/0 new triple (791, 0:00:00.089987)
-- INFO - ----- add-amr-edge-for-polarity-relation: 5/5 new triples (796, 0:00:00.083162)
-- INFO - ----- update-amr-edge-role-1: 15/15 new triples (811, 0:00:00.102568)
-- INFO - ----- add-amr-root: 5/5 new triples (816, 0:00:00.031240)
+- INFO - ----- reclassify-concept-1: 10/10 new triples (613, 0:00:00.160563)
+- DEBUG - ----- reclassify-concept-2: 0/0 new triple (613, 0:00:00.060243)
+- INFO - ----- reclassify-concept-3: 12/12 new triples (625, 0:00:00.044155)
+- INFO - ----- reclassify-concept-4: 16/16 new triples (641, 0:00:00.056944)
+- INFO - ----- reclassify-concept-5: 2/4 new triples (643, 0:00:00.045606)
+- INFO - ----- reify-roles-as-concept: 10/10 new triples (653, 0:00:00.051651)
+- INFO - ----- reclassify-existing-variable: 45/45 new triples (698, 0:00:00.036240)
+- INFO - ----- add-new-variable-for-reified-concept: 8/8 new triples (706, 0:00:00.067767)
+- INFO - ----- add-amr-leaf-for-reclassified-concept: 33/33 new triples (739, 0:00:00.047631)
+- INFO - ----- add-amr-leaf-for-reified-concept: 8/8 new triples (747, 0:00:00.034005)
+- INFO - ----- add-amr-edge-for-core-relation: 27/27 new triples (774, 0:00:00.116606)
+- INFO - ----- add-amr-edge-for-reified-concept: 12/12 new triples (786, 0:00:00.142827)
+- INFO - ----- add-amr-edge-for-name-relation: 5/5 new triples (791, 0:00:00.080437)
+- DEBUG - ----- add-value-for-quant-relation: 0/0 new triple (791, 0:00:00.168916)
+- INFO - ----- add-amr-edge-for-polarity-relation: 5/5 new triples (796, 0:00:00.085452)
+- INFO - ----- update-amr-edge-role-1: 15/15 new triples (811, 0:00:00.093294)
+- INFO - ----- add-amr-root: 5/5 new triples (816, 0:00:00.025947)
 - DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_01_preprocessing 
 - DEBUG - ----- step: preprocessing
 - DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/01/
@@ -98,71 +98,74 @@
 - INFO - ----- 218 triples extracted during preprocessing step
 - INFO - -- Applying extraction step: transduction
 - INFO - --- *** February Transduction *** Sequence: atomic extraction sequence
-- INFO - ----- extract atom classes: 30/30 new triples (846, 0:00:00.216496)
-- INFO - ----- extract atom individuals: 8/8 new triples (854, 0:00:00.066344)
-- INFO - ----- extract atomic properties: 75/75 new triples (929, 0:00:00.298111)
-- INFO - ----- extract atom values: 10/10 new triples (939, 0:00:00.071351)
-- INFO - ----- extract atom phenomena: 14/14 new triples (953, 0:00:00.100322)
-- INFO - ----- propagate atom relations: 24/68 new triples (977, 0:00:01.445146)
+- INFO - ----- extract atom classes: 30/30 new triples (846, 0:00:00.169751)
+- INFO - ----- extract atom individuals: 8/8 new triples (854, 0:00:00.045202)
+- INFO - ----- extract atomic properties: 75/75 new triples (929, 0:00:00.220864)
+- INFO - ----- extract atom values: 10/10 new triples (939, 0:00:00.053945)
+- INFO - ----- extract atom phenomena: 14/14 new triples (953, 0:00:00.077999)
+- INFO - ----- propagate atom relations: 24/68 new triples (977, 0:00:01.051146)
 - INFO - --- *** February Transduction *** Sequence: classification sequence (1)
-- DEBUG - ----- classify modality phenomena: 0/0 new triple (977, 0:00:00.024688)
-- INFO - ----- reclassify argument property to class: 11/14 new triples (988, 0:00:00.073941)
+- DEBUG - ----- classify modality phenomena: 0/0 new triple (977, 0:00:00.022915)
+- INFO - ----- reclassify argument property to class: 11/14 new triples (988, 0:00:00.072621)
 - INFO - --- *** February Transduction *** Sequence: phenomena analyze sequence (1)
-- INFO - ----- analyze "polarity" phenomena (1): 32/36 new triples (1020, 0:00:00.103744)
-- DEBUG - ----- analyze "polarity" phenomena (2): 0/0 new triple (1020, 0:00:00.012976)
-- DEBUG - ----- analyze "polarity" phenomena (3): 0/0 new triple (1020, 0:00:00.013348)
-- DEBUG - ----- analyze "polarity" phenomena (4): 0/0 new triple (1020, 0:00:00.029727)
-- DEBUG - ----- analyze "polarity" phenomena (5): 0/0 new triple (1020, 0:00:00.037221)
-- DEBUG - ----- analyze modifier phenomena (mod): 0/0 new triple (1020, 0:00:00.008403)
-- DEBUG - ----- classify modality phenomena: 0/0 new triple (1020, 0:00:00.019072)
+- INFO - ----- analyze "polarity" phenomena (1): 32/36 new triples (1020, 0:00:00.105395)
+- DEBUG - ----- analyze "polarity" phenomena (2): 0/0 new triple (1020, 0:00:00.014670)
+- DEBUG - ----- analyze "polarity" phenomena (3): 0/0 new triple (1020, 0:00:00.019251)
+- DEBUG - ----- analyze "polarity" phenomena (4): 0/0 new triple (1020, 0:00:00.031005)
+- DEBUG - ----- analyze "polarity" phenomena (5): 0/0 new triple (1020, 0:00:00.029724)
+- DEBUG - ----- analyze modifier phenomena (mod): 0/0 new triple (1020, 0:00:00.009488)
+- DEBUG - ----- classify modality phenomena: 0/0 new triple (1020, 0:00:00.018402)
 - INFO - --- *** February Transduction *** Sequence: phenomena analyze sequence (2)
-- INFO - ----- analyze "or" phenomena (1): 1/1 new triple (1021, 0:00:00.082001)
-- INFO - ----- analyze "or" phenomena (2): 55/82 new triples (1076, 0:00:00.266848)
-- INFO - ----- analyze "and" phenomena (1): 2/14 new triples (1078, 0:00:00.205857)
-- DEBUG - ----- analyze "and" phenomena (2): 0/0 new triple (1078, 0:00:00.015402)
+- INFO - ----- analyze "or" phenomena (1): 1/1 new triple (1021, 0:00:00.081188)
+- INFO - ----- analyze "or" phenomena (2): 55/82 new triples (1076, 0:00:00.293218)
+- INFO - ----- analyze "and" phenomena (1): 2/14 new triples (1078, 0:00:00.170594)
+- DEBUG - ----- analyze "and" phenomena (2): 0/0 new triple (1078, 0:00:00.010628)
 - INFO - --- *** February Transduction *** Sequence: composite class extraction sequence
-- INFO - ----- extract composite classes (1): 127/133 new triples (1205, 0:00:00.490823)
-- DEBUG - ----- extract composite classes (2): 0/0 new triple (1205, 0:00:00.024752)
+- INFO - ----- extract composite classes (1): 127/138 new triples (1205, 0:00:00.529900)
+- DEBUG - ----- extract composite classes (2): 0/0 new triple (1205, 0:00:00.033513)
 - INFO - --- *** February Transduction *** Sequence: classification sequence (2)
-- INFO - ----- classify class net as entity (1): 10/181 new triples (1215, 0:00:00.340942)
+- INFO - ----- classify class net as entity from core arguments: 10/181 new triples (1215, 0:00:00.315279)
+- DEBUG - ----- classify class net as entity from part relation: 0/0 new triple (1215, 0:00:00.010186)
+- DEBUG - ----- classify class net as entity from degree arguments: 0/362 new triple (1215, 0:00:00.515378)
+- INFO - ----- classify class net as mother from domain argument: 5/34 new triples (1220, 0:00:00.083868)
 - DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_01_transduction 
 - DEBUG - ----- step: transduction
 - DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/01/
 - DEBUG - ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_transduction.ttl
 - DEBUG - ----- base: http://https://tenet.tetras-libre.fr/demo/01//transduction
-- INFO - ----- 399 triples extracted during transduction step
+- INFO - ----- 404 triples extracted during transduction step
 - INFO - -- Applying extraction step: generation
 - INFO - --- *** February Transduction *** Sequence: class_generation_sequence
-- INFO - ----- generate OWL class: 31/31 new triples (1246, 0:00:00.455186)
+- INFO - ----- generate OWL class: 32/35 new triples (1252, 0:00:00.374151)
 - INFO - --- *** February Transduction *** Sequence: property_generation_sequence
-- INFO - ----- generate OWL property: 29/29 new triples (1275, 0:00:00.387736)
+- INFO - ----- generate OWL property: 29/29 new triples (1281, 0:00:00.344631)
 - INFO - --- *** November Transduction *** Sequence: main-generation-sequence
-- DEBUG - ----- generate-individual: 0/0 new triple (1275, 0:00:00.012749)
-- DEBUG - ----- classify-individual-1: 0/0 new triple (1275, 0:00:00.009065)
-- DEBUG - ----- classify-individual-2: 0/0 new triple (1275, 0:00:00.012780)
-- DEBUG - ----- generate-atom-property-1: 0/0 new triple (1275, 0:00:00.011774)
-- DEBUG - ----- generate-atom-property-12: 0/0 new triple (1275, 0:00:00.012191)
-- DEBUG - ----- generate-inverse-relation: 0/0 new triple (1275, 0:00:00.009183)
-- DEBUG - ----- generate-composite-class: 0/0 new triple (1275, 0:00:00.016291)
-- DEBUG - ----- add-restriction-to-class-1: 0/0 new triple (1275, 0:00:00.031258)
-- DEBUG - ----- add-restriction-to-class-2: 0/0 new triple (1275, 0:00:00.017814)
-- DEBUG - ----- add-restriction-to-class-3: 0/0 new triple (1275, 0:00:00.022112)
-- DEBUG - ----- add-restriction-to-class-4: 0/0 new triple (1275, 0:00:00.019879)
-- DEBUG - ----- add-restriction-to-class-5: 0/0 new triple (1275, 0:00:00.021348)
-- DEBUG - ----- add-restriction-to-class-6: 0/0 new triple (1275, 0:00:00.017861)
+- DEBUG - ----- generate-individual: 0/0 new triple (1281, 0:00:00.010164)
+- DEBUG - ----- classify-individual-1: 0/0 new triple (1281, 0:00:00.009970)
+- DEBUG - ----- classify-individual-2: 0/0 new triple (1281, 0:00:00.009374)
+- DEBUG - ----- generate-atom-property-1: 0/0 new triple (1281, 0:00:00.013099)
+- DEBUG - ----- generate-atom-property-12: 0/0 new triple (1281, 0:00:00.007817)
+- DEBUG - ----- generate-inverse-relation: 0/0 new triple (1281, 0:00:00.006800)
+- DEBUG - ----- generate-composite-class: 0/0 new triple (1281, 0:00:00.010417)
+- DEBUG - ----- add-restriction-to-class-1: 0/0 new triple (1281, 0:00:00.018832)
+- DEBUG - ----- add-restriction-to-class-2: 0/0 new triple (1281, 0:00:00.014955)
+- DEBUG - ----- add-restriction-to-class-3: 0/0 new triple (1281, 0:00:00.015434)
+- DEBUG - ----- add-restriction-to-class-4: 0/0 new triple (1281, 0:00:00.012755)
+- DEBUG - ----- add-restriction-to-class-5: 0/0 new triple (1281, 0:00:00.015014)
+- DEBUG - ----- add-restriction-to-class-6: 0/0 new triple (1281, 0:00:00.015334)
 - DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_01_generation 
 - DEBUG - ----- step: generation
 - DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/01/
 - DEBUG - ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_generation.ttl
 - DEBUG - ----- base: http://https://tenet.tetras-libre.fr/demo/01//generation
-- INFO - ----- 60 triples extracted during generation step
+- INFO - ----- 61 triples extracted during generation step
 - DEBUG - --- Serializing graph to factoid file (/home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_factoid.ttl)
-- DEBUG - ----- Number of factoids: 60
+- DEBUG - ----- Number of factoids: 64
 - DEBUG - ----- Graph base: http://https://tenet.tetras-libre.fr/demo/01//factoid
 - INFO - 
  === Final Ontology Generation  === 
 - INFO - -- Making complete factoid graph by merging the result factoids
-- INFO - ----- Total factoid number: 60
+- INFO - ----- Total factoid number: 64
 - 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-20230526/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_factoid.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_factoid.ttl
index 60a4be301b24c9a9abe9e05cce651fb8cd030142..6bfa1b38e4c85da57e52b138db3496420d47577a 100644
--- a/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_factoid.ttl
+++ b/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_factoid.ttl
@@ -77,6 +77,7 @@
 
 <https://tenet.tetras-libre.fr/extract-result#system> a owl:Class ;
     rdfs:label "system" ;
-    rdfs:subClassOf ns1:Entity ;
+    rdfs:subClassOf ns1:Entity,
+        ns1:Undetermined_Thing ;
     ns1:fromStructure "SSC-01-01" .
 
diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_generation.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_generation.ttl
index fc50bdf50cdc7c1f2765475b8fc357f9cd13919d..e1806eed2b2ad4027c585f4682dd5ac69c9861a0 100644
--- a/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_generation.ttl
+++ b/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_generation.ttl
@@ -372,9 +372,6 @@ ns2:root a owl:AnnotationProperty .
 sys:Event a owl:Class ;
     rdfs:subClassOf sys:Out_Structure .
 
-sys:Undetermined_Thing a owl:Class ;
-    rdfs:subClassOf sys:Out_Structure .
-
 sys:fromStructure a owl:AnnotationProperty ;
     rdfs:subPropertyOf sys:Out_AnnotationProperty .
 
@@ -572,7 +569,8 @@ net:compositeClass_object-orbit-hasManner-not-direct-sun_o a net:Composite_Class
     net:hasRestriction net:restriction_orbit-hasManner-not-direct-sun_o2 ;
     net:hasStructure "SSC-01-01" .
 
-net:compositeClass_system-hasPart-object_s a net:Composite_Class_Net ;
+net:compositeClass_system-hasPart-object_s a net:Class_Net,
+        net:Composite_Class_Net ;
     :role_domain net:atomClass_system_p,
         net:individual_SolarSystem_p ;
     net:composeFrom net:atomClass_object_o,
@@ -582,12 +580,14 @@ net:compositeClass_system-hasPart-object_s a net:Composite_Class_Net ;
     net:coverNode :leaf_hasPart_p9,
         :leaf_object_o,
         :leaf_system_s ;
-    net:hasMotherClassNet net:atomClass_system_s ;
+    net:hasMotherClassNet net:atomClass_system_p,
+        net:atomClass_system_s ;
     net:hasNaming "system-hasPart-object" ;
     net:hasRestriction net:restriction_hasPart-object_p9 ;
     net:hasStructure "SSC-01-01" .
 
-net:compositeClass_system-hasPart-sun_s a net:Composite_Class_Net ;
+net:compositeClass_system-hasPart-sun_s a net:Class_Net,
+        net:Composite_Class_Net ;
     :role_domain net:atomClass_system_p,
         net:individual_SolarSystem_p ;
     net:composeFrom net:atomClass_sun_s2,
@@ -597,7 +597,8 @@ net:compositeClass_system-hasPart-sun_s a net:Composite_Class_Net ;
     net:coverNode :leaf_hasPart_p9,
         :leaf_sun_s2,
         :leaf_system_s ;
-    net:hasMotherClassNet net:atomClass_system_s ;
+    net:hasMotherClassNet net:atomClass_system_p,
+        net:atomClass_system_s ;
     net:hasNaming "system-hasPart-sun" ;
     net:hasRestriction net:restriction_hasPart-sun_p9 ;
     net:hasStructure "SSC-01-01" .
@@ -885,6 +886,9 @@ sys:Feature a owl:Class ;
 
 sys:Out_AnnotationProperty a owl:AnnotationProperty .
 
+sys:Undetermined_Thing a owl:Class ;
+    rdfs:subClassOf sys:Out_Structure .
+
 <https://tenet.tetras-libre.fr/extract-result#gravitation> a owl:Class ;
     rdfs:label "gravitation" ;
     rdfs:subClassOf sys:Entity ;
@@ -1148,7 +1152,8 @@ ns2:or a ns2:Concept ;
 
 <https://tenet.tetras-libre.fr/extract-result#system> a owl:Class ;
     rdfs:label "system" ;
-    rdfs:subClassOf sys:Entity ;
+    rdfs:subClassOf sys:Entity,
+        sys:Undetermined_Thing ;
     sys:fromStructure "SSC-01-01" .
 
 net:Phenomena_Net a owl:Class ;
@@ -1340,15 +1345,6 @@ ns3:FrameRole a ns2:Role,
     rdfs:subClassOf :AMR_Core_Role ;
     :label "ARG1" .
 
-net:atomClass_system_p a net:Atom_Class_Net,
-        net:Deprecated_Net ;
-    :role_name net:value_SolarSystem_blankNode ;
-    net:coverBaseNode :leaf_system_p ;
-    net:coverNode :leaf_system_p ;
-    net:hasClassName "system" ;
-    net:hasNaming "system" ;
-    net:hasStructure "SSC-01-01" .
-
 net:atomProperty_direct_d a net:Atom_Property_Net ;
     net:coverBaseNode :leaf_direct-02_d ;
     net:coverNode :leaf_direct-02_d ;
@@ -1472,9 +1468,6 @@ rdf:Property a owl:Class .
     :hasConcept :concept_direct-02 ;
     :hasVariable :variable_d .
 
-net:Class_Net a owl:Class ;
-    rdfs:subClassOf net:Net .
-
 net:Deprecated_Net a owl:Class ;
     rdfs:subClassOf net:Net .
 
@@ -1484,6 +1477,15 @@ net:Relation a owl:Class ;
 net:Restriction_Net a owl:Class ;
     rdfs:subClassOf net:Net .
 
+net:atomClass_system_p a net:Atom_Class_Net,
+        net:Deprecated_Net ;
+    :role_name net:value_SolarSystem_blankNode ;
+    net:coverBaseNode :leaf_system_p ;
+    net:coverNode :leaf_system_p ;
+    net:hasClassName "system" ;
+    net:hasNaming "system" ;
+    net:hasStructure "SSC-01-01" .
+
 :leaf_hasPart_p9 a :AMR_Leaf ;
     :edge_p9_ARG0_s :leaf_system_s ;
     :edge_p9_ARG1_a :leaf_and_a ;
@@ -1509,6 +1511,9 @@ net:has_object a owl:AnnotationProperty ;
 :AMR_Op_Role a owl:Class ;
     rdfs:subClassOf :AMR_Role .
 
+net:Class_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
 net:Net a owl:Class ;
     rdfs:subClassOf net:Net_Structure .
 
@@ -1521,6 +1526,7 @@ net:atomClass_system_s a net:Atom_Class_Net,
     net:coverNode :leaf_system_s ;
     net:hasClassName "system" ;
     net:hasClassType sys:Entity ;
+    net:hasMotherClassNet net:atomClass_system_p ;
     net:hasNaming "system" ;
     net:hasStructure "SSC-01-01" .
 
diff --git a/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_transduction.ttl b/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_transduction.ttl
index dfc172850f743fdb0f1db087d88409cf2cf1463a..c93a42d6a9e54a5f101eb653695e4430fdd3ab07 100644
--- a/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_transduction.ttl
+++ b/tests/main_tests/test_owl_output/SolarSystemDev01-20230526/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_transduction.ttl
@@ -515,7 +515,8 @@ net:compositeClass_object-orbit-hasManner-not-direct-sun_o a net:Composite_Class
     net:hasRestriction net:restriction_orbit-hasManner-not-direct-sun_o2 ;
     net:hasStructure "SSC-01-01" .
 
-net:compositeClass_system-hasPart-object_s a net:Composite_Class_Net ;
+net:compositeClass_system-hasPart-object_s a net:Class_Net,
+        net:Composite_Class_Net ;
     :role_domain net:atomClass_system_p,
         net:individual_SolarSystem_p ;
     net:composeFrom net:atomClass_object_o,
@@ -525,12 +526,14 @@ net:compositeClass_system-hasPart-object_s a net:Composite_Class_Net ;
     net:coverNode :leaf_hasPart_p9,
         :leaf_object_o,
         :leaf_system_s ;
-    net:hasMotherClassNet net:atomClass_system_s ;
+    net:hasMotherClassNet net:atomClass_system_p,
+        net:atomClass_system_s ;
     net:hasNaming "system-hasPart-object" ;
     net:hasRestriction net:restriction_hasPart-object_p9 ;
     net:hasStructure "SSC-01-01" .
 
-net:compositeClass_system-hasPart-sun_s a net:Composite_Class_Net ;
+net:compositeClass_system-hasPart-sun_s a net:Class_Net,
+        net:Composite_Class_Net ;
     :role_domain net:atomClass_system_p,
         net:individual_SolarSystem_p ;
     net:composeFrom net:atomClass_sun_s2,
@@ -540,7 +543,8 @@ net:compositeClass_system-hasPart-sun_s a net:Composite_Class_Net ;
     net:coverNode :leaf_hasPart_p9,
         :leaf_sun_s2,
         :leaf_system_s ;
-    net:hasMotherClassNet net:atomClass_system_s ;
+    net:hasMotherClassNet net:atomClass_system_p,
+        net:atomClass_system_s ;
     net:hasNaming "system-hasPart-sun" ;
     net:hasRestriction net:restriction_hasPart-sun_p9 ;
     net:hasStructure "SSC-01-01" .
@@ -1265,15 +1269,6 @@ ns3:FrameRole a ns2:Role,
     rdfs:subClassOf :AMR_Core_Role ;
     :label "ARG1" .
 
-net:atomClass_system_p a net:Atom_Class_Net,
-        net:Deprecated_Net ;
-    :role_name net:value_SolarSystem_blankNode ;
-    net:coverBaseNode :leaf_system_p ;
-    net:coverNode :leaf_system_p ;
-    net:hasClassName "system" ;
-    net:hasNaming "system" ;
-    net:hasStructure "SSC-01-01" .
-
 net:atomProperty_direct_d a net:Atom_Property_Net ;
     net:coverBaseNode :leaf_direct-02_d ;
     net:coverNode :leaf_direct-02_d ;
@@ -1400,9 +1395,6 @@ rdf:Property a owl:Class .
     :hasConcept :concept_direct-02 ;
     :hasVariable :variable_d .
 
-net:Class_Net a owl:Class ;
-    rdfs:subClassOf net:Net .
-
 net:Deprecated_Net a owl:Class ;
     rdfs:subClassOf net:Net .
 
@@ -1412,6 +1404,15 @@ net:Relation a owl:Class ;
 net:Restriction_Net a owl:Class ;
     rdfs:subClassOf net:Net .
 
+net:atomClass_system_p a net:Atom_Class_Net,
+        net:Deprecated_Net ;
+    :role_name net:value_SolarSystem_blankNode ;
+    net:coverBaseNode :leaf_system_p ;
+    net:coverNode :leaf_system_p ;
+    net:hasClassName "system" ;
+    net:hasNaming "system" ;
+    net:hasStructure "SSC-01-01" .
+
 :leaf_hasPart_p9 a :AMR_Leaf ;
     :edge_p9_ARG0_s :leaf_system_s ;
     :edge_p9_ARG1_a :leaf_and_a ;
@@ -1435,6 +1436,9 @@ net:has_object a owl:AnnotationProperty ;
 :AMR_Op_Role a owl:Class ;
     rdfs:subClassOf :AMR_Role .
 
+net:Class_Net a owl:Class ;
+    rdfs:subClassOf net:Net .
+
 net:Net a owl:Class ;
     rdfs:subClassOf net:Net_Structure .
 
@@ -1447,6 +1451,7 @@ net:atomClass_system_s a net:Atom_Class_Net,
     net:coverNode :leaf_system_s ;
     net:hasClassName "system" ;
     net:hasClassType sys:Entity ;
+    net:hasMotherClassNet net:atomClass_system_p ;
     net:hasNaming "system" ;
     net:hasStructure "SSC-01-01" .