From 5828e234183b30a61ac55aa0cd9ce14d332d73e0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aur=C3=A9lien=20Lamercerie?=
 <aurelien.lamercerie@tetras-libre.fr>
Date: Tue, 10 Jan 2023 23:27:14 +0100
Subject: [PATCH] AND conjunction phenomena application (5 step)

---
 .../SolarSystemDev1_factoid.ttl               | 124 ++++++------
 .../SolarSystemDev1_generation.ttl            | 125 ++++++++----
 .../SolarSystemDev1_transduction.ttl          | 125 ++++++++----
 .../SolarSystemDev1_factoid.ttl               | 124 ++++++------
 .../transduction/phenomena_application.py     | 177 +++++++++++------
 .../query_builder/element/logical_set_net.py  |  60 ++++--
 .../transduction/query_builder/element/net.py | 174 ++++++++++++-----
 tenet.log                                     | 184 +++++++++---------
 8 files changed, 688 insertions(+), 405 deletions(-)

diff --git a/output/SolarSystemDev1-20230110/SolarSystemDev1-1/SolarSystemDev1_factoid.ttl b/output/SolarSystemDev1-20230110/SolarSystemDev1-1/SolarSystemDev1_factoid.ttl
index 33176d20..c4ba0d2a 100644
--- a/output/SolarSystemDev1-20230110/SolarSystemDev1-1/SolarSystemDev1_factoid.ttl
+++ b/output/SolarSystemDev1-20230110/SolarSystemDev1-1/SolarSystemDev1_factoid.ttl
@@ -1,70 +1,70 @@
 @base <http://SolarSystemDev1/factoid> .
-@prefix ns1: <https://tenet.tetras-libre.fr/semantic-net#> .
-@prefix ns2: <https://tenet.tetras-libre.fr/base-ontology#> .
+@prefix ns1: <https://tenet.tetras-libre.fr/base-ontology#> .
+@prefix ns2: <https://tenet.tetras-libre.fr/semantic-net#> .
 @prefix owl: <http://www.w3.org/2002/07/owl#> .
 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
 
-ns1:atomClass_gravitation_g ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation> .
+ns2:atomClass_gravitation_g ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation> .
 
-ns1:atomClass_object_o ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#object> .
+ns2:atomClass_object_o ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#object> .
 
-ns1:atomClass_sun_s2 ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#sun> .
+ns2:atomClass_sun_s2 ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#sun> .
 
-ns1:atomClass_system_p ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> .
+ns2:atomClass_system_p ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> .
 
-ns1:atomClass_system_s ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> .
+ns2:atomClass_system_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> .
 
-ns1:atomProperty_bind_b ns1:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#bind-of> ;
-    ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#bind> .
+ns2:atomProperty_bind_b ns2:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#bind-of> ;
+    ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#bind> .
 
-ns1:atomProperty_direct_d ns1:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#direct-of> ;
-    ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#direct> .
+ns2:atomProperty_direct_d ns2:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#direct-of> ;
+    ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#direct> .
 
-ns1:atomProperty_hasManner_m9 ns1:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#hasManner> ;
-    ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#hasManner> .
+ns2:atomProperty_hasManner_m9 ns2:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#hasManner> ;
+    ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#hasManner> .
 
-ns1:atomProperty_hasPart_p9 ns1:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#hasPart> ;
-    ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#hasPart> .
+ns2:atomProperty_hasPart_p9 ns2:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#hasPart> ;
+    ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#hasPart> .
 
-ns1:atomProperty_orbit_o2 ns1:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#orbit-of> ;
-    ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#orbit> .
+ns2:atomProperty_orbit_o2 ns2:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#orbit-of> ;
+    ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#orbit> .
 
-ns1:compositeClass_gravitation-binding-system-hasPart-object_g ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-object> .
+ns2:compositeClass_gravitation-binding-system-hasPart-object_g ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-object> .
 
-ns1:compositeClass_gravitation-binding-system-hasPart-sun_g ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-sun> .
+ns2:compositeClass_gravitation-binding-system-hasPart-sun_g ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-sun> .
 
-ns1:compositeClass_gravitation-binding-system_g ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system> .
+ns2:compositeClass_gravitation-binding-system_g ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system> .
 
-ns1:compositeClass_object-orbiting-sun_o ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#object-orbiting-sun> .
+ns2:compositeClass_object-orbiting-sun_o ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#object-orbiting-sun> .
 
-ns1:compositeClass_system-hasPart-object-hasPart-sun_s ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-object-hasPart-sun> .
+ns2:compositeClass_system-hasPart-object-hasPart-sun_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-object-hasPart-sun> .
 
-ns1:compositeClass_system-hasPart-object-orbiting-sun_s ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-object-orbiting-sun> .
+ns2:compositeClass_system-hasPart-object-orbiting-sun_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-object-orbiting-sun> .
 
-ns1:compositeClass_system-hasPart-object_s ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-object> .
+ns2:compositeClass_system-hasPart-object_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-object> .
 
-ns1:compositeClass_system-hasPart-sun-hasPart-object_s ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-hasPart-object> .
+ns2:compositeClass_system-hasPart-sun-hasPart-object_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-hasPart-object> .
 
-ns1:compositeClass_system-hasPart-sun_s ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> .
+ns2:compositeClass_system-hasPart-sun_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> .
 
-ns1:compositeProperty_not-direct_d2 ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#not-direct> .
+ns2:compositeProperty_not-direct_d2 ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#not-direct> .
 
-ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-libre.fr/extract-result#solar-system> .
+ns2:individual_system_SolarSystem ns2:hasIndividualURI <https://tenet.tetras-libre.fr/extract-result#solar-system> .
 
 <https://tenet.tetras-libre.fr/extract-result#bind> a owl:ObjectProperty ;
     rdfs:label "bind" ;
-    rdfs:subPropertyOf ns2:Out_ObjectProperty ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subPropertyOf ns1:Out_ObjectProperty ;
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#direct> a owl:ObjectProperty ;
     rdfs:label "direct" ;
-    rdfs:subPropertyOf ns2:Out_ObjectProperty ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subPropertyOf ns1:Out_ObjectProperty ;
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#direct-of> a owl:ObjectProperty ;
     rdfs:label "direct-of" ;
-    rdfs:subPropertyOf ns2:Out_ObjectProperty ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subPropertyOf ns1:Out_ObjectProperty ;
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system> a owl:Class ;
     rdfs:label "gravitation-binding-system" ;
@@ -72,7 +72,7 @@ ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-lib
             owl:onProperty <https://tenet.tetras-libre.fr/extract-result#bind-of> ;
             owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#system> ],
         <https://tenet.tetras-libre.fr/extract-result#gravitation> ;
-    ns2:fromStructure "SSC-01-01" .
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-object> a owl:Class ;
     rdfs:label "gravitation-binding-system-hasPart-object" ;
@@ -80,7 +80,7 @@ ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-lib
             owl:onProperty <https://tenet.tetras-libre.fr/extract-result#bind-of> ;
             owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#system-hasPart-object> ],
         <https://tenet.tetras-libre.fr/extract-result#gravitation> ;
-    ns2:fromStructure "SSC-01-01" .
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-sun> a owl:Class ;
     rdfs:label "gravitation-binding-system-hasPart-sun" ;
@@ -88,12 +88,12 @@ ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-lib
             owl:onProperty <https://tenet.tetras-libre.fr/extract-result#bind-of> ;
             owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> ],
         <https://tenet.tetras-libre.fr/extract-result#gravitation> ;
-    ns2:fromStructure "SSC-01-01" .
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#orbit> a owl:ObjectProperty ;
     rdfs:label "orbit" ;
-    rdfs:subPropertyOf ns2:Out_ObjectProperty ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subPropertyOf ns1:Out_ObjectProperty ;
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#solar-system> a owl:individual,
         <https://tenet.tetras-libre.fr/extract-result#system>,
@@ -103,12 +103,12 @@ ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-lib
         <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun>,
         <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-hasPart-object> ;
     rdfs:label "Solar System" ;
-    ns2:fromStructure "SSC-01-01" .
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#hasManner> a owl:ObjectProperty ;
     rdfs:label "hasManner" ;
-    rdfs:subPropertyOf ns2:Out_ObjectProperty ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subPropertyOf ns1:Out_ObjectProperty ;
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#object-orbiting-sun> a owl:Class ;
     rdfs:label "object-orbiting-sun" ;
@@ -116,12 +116,12 @@ ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-lib
             owl:onProperty <https://tenet.tetras-libre.fr/extract-result#orbit-of> ;
             owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#sun> ],
         <https://tenet.tetras-libre.fr/extract-result#object> ;
-    ns2:fromStructure "SSC-01-01" .
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#orbit-of> a owl:ObjectProperty ;
     rdfs:label "orbit-of" ;
-    rdfs:subPropertyOf ns2:Out_ObjectProperty ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subPropertyOf ns1:Out_ObjectProperty ;
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#system-hasPart-object-hasPart-sun> a owl:Class ;
     rdfs:label "system-hasPart-object-hasPart-sun" ;
@@ -130,7 +130,7 @@ ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-lib
             owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#sun> ],
         <https://tenet.tetras-libre.fr/extract-result#system>,
         <https://tenet.tetras-libre.fr/extract-result#system-hasPart-object> ;
-    ns2:fromStructure "SSC-01-01" .
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#system-hasPart-object-orbiting-sun> a owl:Class ;
     rdfs:label "system-hasPart-object-orbiting-sun" ;
@@ -138,7 +138,7 @@ ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-lib
             owl:onProperty <https://tenet.tetras-libre.fr/extract-result#hasPart> ;
             owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#object-orbiting-sun> ],
         <https://tenet.tetras-libre.fr/extract-result#system> ;
-    ns2:fromStructure "SSC-01-01" .
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-hasPart-object> a owl:Class ;
     rdfs:label "system-hasPart-sun-hasPart-object" ;
@@ -147,27 +147,27 @@ ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-lib
             owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#object> ],
         <https://tenet.tetras-libre.fr/extract-result#system>,
         <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> ;
-    ns2:fromStructure "SSC-01-01" .
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#bind-of> a owl:ObjectProperty ;
     rdfs:label "bind-of" ;
-    rdfs:subPropertyOf ns2:Out_ObjectProperty ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subPropertyOf ns1:Out_ObjectProperty ;
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#gravitation> a owl:Class ;
     rdfs:label "gravitation" ;
-    rdfs:subClassOf ns2:Entity ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subClassOf ns1:Entity ;
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#object> a owl:Class ;
     rdfs:label "object" ;
-    rdfs:subClassOf ns2:Entity ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subClassOf ns1:Entity ;
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#sun> a owl:Class ;
     rdfs:label "sun" ;
-    rdfs:subClassOf ns2:Entity ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subClassOf ns1:Entity ;
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#system-hasPart-object> a owl:Class ;
     rdfs:label "system-hasPart-object" ;
@@ -175,7 +175,7 @@ ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-lib
             owl:onProperty <https://tenet.tetras-libre.fr/extract-result#hasPart> ;
             owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#object> ],
         <https://tenet.tetras-libre.fr/extract-result#system> ;
-    ns2:fromStructure "SSC-01-01" .
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> a owl:Class ;
     rdfs:label "system-hasPart-sun" ;
@@ -183,15 +183,15 @@ ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-lib
             owl:onProperty <https://tenet.tetras-libre.fr/extract-result#hasPart> ;
             owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#sun> ],
         <https://tenet.tetras-libre.fr/extract-result#system> ;
-    ns2:fromStructure "SSC-01-01" .
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#hasPart> a owl:ObjectProperty ;
     rdfs:label "hasPart" ;
-    rdfs:subPropertyOf ns2:Out_ObjectProperty ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subPropertyOf ns1:Out_ObjectProperty ;
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#system> a owl:Class ;
     rdfs:label "system" ;
-    rdfs:subClassOf ns2:Entity ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subClassOf ns1:Entity ;
+    ns1:fromStructure "SSC-01-01" .
 
diff --git a/output/SolarSystemDev1-20230110/SolarSystemDev1-1/SolarSystemDev1_generation.ttl b/output/SolarSystemDev1-20230110/SolarSystemDev1-1/SolarSystemDev1_generation.ttl
index b28189ce..bef1a985 100644
--- a/output/SolarSystemDev1-20230110/SolarSystemDev1-1/SolarSystemDev1_generation.ttl
+++ b/output/SolarSystemDev1-20230110/SolarSystemDev1-1/SolarSystemDev1_generation.ttl
@@ -451,7 +451,9 @@ net:atomProperty_hasManner_m9 a net:Atom_Property_Net ;
     net:hasStructure "SSC-01-01" ;
     net:isCoreRoleLinked true ;
     net:targetArgumentNode :leaf_or_o3,
-        :leaf_orbit-01_o2 .
+        :leaf_orbit-01_o2 ;
+    net:trackProgress 1,
+        2 .
 
 net:atomType a owl:AnnotationProperty ;
     rdfs:label "atom type" ;
@@ -862,7 +864,9 @@ net:compositeClass_gravitation-binding-system-hasPart-object_g a net:Composite_C
     net:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-object> ;
     net:hasMotherClassNet net:atomClass_gravitation_g ;
     net:hasRestriction01 net:restriction_binding_system-hasPart-object ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:compositeClass_gravitation-binding-system-hasPart-sun_g a net:Composite_Class_Net ;
     net:coverBaseNode :leaf_gravitation_g ;
@@ -877,7 +881,9 @@ net:compositeClass_gravitation-binding-system-hasPart-sun_g a net:Composite_Clas
     net:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-sun> ;
     net:hasMotherClassNet net:atomClass_gravitation_g ;
     net:hasRestriction01 net:restriction_binding_system-hasPart-sun ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:compositeClass_gravitation-binding-system_g a net:Composite_Class_Net ;
     net:coverBaseNode :leaf_gravitation_g ;
@@ -890,7 +896,9 @@ net:compositeClass_gravitation-binding-system_g a net:Composite_Class_Net ;
     net:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system> ;
     net:hasMotherClassNet net:atomClass_gravitation_g ;
     net:hasRestriction01 net:restriction_binding_system ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:has_value a owl:AnnotationProperty ;
     rdfs:subPropertyOf net:netProperty .
@@ -907,7 +915,9 @@ net:phenomena_conjunction-AND_a a net:Phenomena_Net ;
     net:coverNode :leaf_and_a ;
     net:hasPhenomenaRef "and" ;
     net:hasPhenomenaType :phenomena_conjunction_and ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:phenomena_conjunction-OR_o3 a net:Phenomena_Net ;
     :role_op1 net:atomProperty_direct_d ;
@@ -917,7 +927,9 @@ net:phenomena_conjunction-OR_o3 a net:Phenomena_Net ;
     net:coverNode :leaf_or_o3 ;
     net:hasPhenomenaRef "or" ;
     net:hasPhenomenaType :phenomena_conjunction_or ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:restriction_binding_system a net:Restriction_Net ;
     net:coverBaseNode :leaf_gravitation_g ;
@@ -928,7 +940,8 @@ net:restriction_binding_system a net:Restriction_Net ;
         :leaf_system_s ;
     net:hasRestrictionNetValue net:atomClass_system_s ;
     net:hasRestrictionOnProperty net:atomProperty_bind_b ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 2 .
 
 net:restriction_binding_system-hasPart-object a net:Restriction_Net ;
     net:coverBaseNode :leaf_gravitation_g ;
@@ -943,7 +956,8 @@ net:restriction_binding_system-hasPart-object a net:Restriction_Net ;
         :leaf_system_s ;
     net:hasRestrictionNetValue net:compositeClass_system-hasPart-object_s ;
     net:hasRestrictionOnProperty net:atomProperty_bind_b ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 2 .
 
 net:restriction_binding_system-hasPart-sun a net:Restriction_Net ;
     net:coverBaseNode :leaf_gravitation_g ;
@@ -958,7 +972,8 @@ net:restriction_binding_system-hasPart-sun a net:Restriction_Net ;
         :leaf_system_s ;
     net:hasRestrictionNetValue net:compositeClass_system-hasPart-sun_s ;
     net:hasRestrictionOnProperty net:atomProperty_bind_b ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 2 .
 
 net:restriction_hasPart_object-orbiting-sun a net:Restriction_Net ;
     net:coverBaseNode :leaf_system_s ;
@@ -973,7 +988,8 @@ net:restriction_hasPart_object-orbiting-sun a net:Restriction_Net ;
         :leaf_sun_s2 ;
     net:hasRestrictionNetValue net:compositeClass_object-orbiting-sun_o ;
     net:hasRestrictionOnProperty net:atomProperty_hasPart_p9 ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 2 .
 
 net:restriction_orbiting_sun a net:Restriction_Net ;
     net:coverBaseNode :leaf_object_o ;
@@ -984,11 +1000,14 @@ net:restriction_orbiting_sun a net:Restriction_Net ;
         :leaf_sun_s2 ;
     net:hasRestrictionNetValue net:atomClass_sun_s2 ;
     net:hasRestrictionOnProperty net:atomProperty_orbit_o2 ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 2 .
 
 net:value_negative_blankNode a net:Value_Net ;
     net:hasStructure "SSC-01-01" ;
-    net:hasValueLabel "negative" .
+    net:hasValueLabel "negative" ;
+    net:trackProgress 1,
+        2 .
 
 <http://amr.isi.edu/amr_data/SSC-01-01#a> a ns21:and ;
     ns11:op1 <http://amr.isi.edu/amr_data/SSC-01-01#s2> ;
@@ -1181,7 +1200,9 @@ net:atomProperty_direct_d a net:Atom_Property_Net ;
     net:hasPropertyType owl:ObjectProperty ;
     net:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#direct> ;
     net:hasStructure "SSC-01-01" ;
-    net:isCoreRoleLinked true .
+    net:isCoreRoleLinked true ;
+    net:trackProgress 1,
+        2 .
 
 net:atomProperty_direct_d2 a net:Atom_Property_Net,
         net:Deprecated_Net ;
@@ -1195,7 +1216,9 @@ net:atomProperty_direct_d2 a net:Atom_Property_Net,
     net:hasPropertyType owl:ObjectProperty ;
     net:hasStructure "SSC-01-01" ;
     net:isCoreRoleLinked true ;
-    net:targetArgumentNode :value_negative .
+    net:targetArgumentNode :value_negative ;
+    net:trackProgress 1,
+        2 .
 
 net:atomProperty_orbit_o2 a net:Atom_Property_Net ;
     :role_ARG0 net:atomClass_object_o,
@@ -1213,14 +1236,18 @@ net:atomProperty_orbit_o2 a net:Atom_Property_Net ;
     net:hasStructure "SSC-01-01" ;
     net:isCoreRoleLinked true ;
     net:targetArgumentNode :leaf_object_o,
-        :leaf_sun_s2 .
+        :leaf_sun_s2 ;
+    net:trackProgress 1,
+        2 .
 
 net:compositeProperty_not-direct_d2 a net:Composite_Property_Net ;
     net:coverBaseNode :leaf_direct-02_d2 ;
     net:coverNode :leaf_direct-02_d2 ;
     net:hasPropertyName "not-direct" ;
     net:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#not-direct> ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:objectProperty a owl:AnnotationProperty ;
     rdfs:label "object attribute" .
@@ -1234,7 +1261,8 @@ net:restriction_hasPart_object a net:Restriction_Net ;
         :leaf_object_o ;
     net:hasRestrictionNetValue net:atomClass_object_o ;
     net:hasRestrictionOnProperty net:atomProperty_hasPart_p9 ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 2 .
 
 net:restriction_hasPart_sun a net:Restriction_Net ;
     net:coverBaseNode :leaf_system_s ;
@@ -1245,11 +1273,14 @@ net:restriction_hasPart_sun a net:Restriction_Net ;
         :leaf_sun_s2 ;
     net:hasRestrictionNetValue net:atomClass_sun_s2 ;
     net:hasRestrictionOnProperty net:atomProperty_hasPart_p9 ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 2 .
 
 net:value_SolarSystem_blankNode a net:Value_Net ;
     net:hasStructure "SSC-01-01" ;
-    net:hasValueLabel "Solar System" .
+    net:hasValueLabel "Solar System" ;
+    net:trackProgress 1,
+        2 .
 
 <http://amr.isi.edu/amr_data/SSC-01-01#o> a ns11:object ;
     rdfs:subClassOf :AMR_Linked_Data .
@@ -1317,7 +1348,9 @@ net:atomProperty_bind_b a net:Atom_Property_Net ;
     net:hasStructure "SSC-01-01" ;
     net:isCoreRoleLinked true ;
     net:targetArgumentNode :leaf_gravitation_g,
-        :leaf_system_s .
+        :leaf_system_s ;
+    net:trackProgress 1,
+        2 .
 
 net:atomProperty_hasPart_p9 a net:Atom_Property_Net ;
     :role_ARG0 net:atomClass_system_s,
@@ -1342,7 +1375,9 @@ net:atomProperty_hasPart_p9 a net:Atom_Property_Net ;
     net:hasStructure "SSC-01-01" ;
     net:isCoreRoleLinked true ;
     net:targetArgumentNode :leaf_and_a,
-        :leaf_system_s .
+        :leaf_system_s ;
+    net:trackProgress 1,
+        2 .
 
 net:compositeClass_system-hasPart-object-hasPart-sun_s a net:Composite_Class_Net ;
     :role_domain net:atomClass_system_p,
@@ -1359,7 +1394,9 @@ net:compositeClass_system-hasPart-object-hasPart-sun_s a net:Composite_Class_Net
     net:hasMotherClassNet net:atomClass_system_p,
         net:compositeClass_system-hasPart-object_s ;
     net:hasRestriction01 net:restriction_hasPart_sun ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:compositeClass_system-hasPart-object-orbiting-sun_s a net:Composite_Class_Net ;
     :role_domain net:atomClass_system_p,
@@ -1377,7 +1414,9 @@ net:compositeClass_system-hasPart-object-orbiting-sun_s a net:Composite_Class_Ne
     net:hasMotherClassNet net:atomClass_system_p,
         net:atomClass_system_s ;
     net:hasRestriction01 net:restriction_hasPart_object-orbiting-sun ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:compositeClass_system-hasPart-sun-hasPart-object_s a net:Composite_Class_Net ;
     :role_domain net:atomClass_system_p,
@@ -1394,7 +1433,9 @@ net:compositeClass_system-hasPart-sun-hasPart-object_s a net:Composite_Class_Net
     net:hasMotherClassNet net:atomClass_system_p,
         net:compositeClass_system-hasPart-sun_s ;
     net:hasRestriction01 net:restriction_hasPart_object ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:has_relation_value a owl:AnnotationProperty ;
     rdfs:label "has relation value" ;
@@ -1481,7 +1522,9 @@ net:atomClass_gravitation_g a net:Atom_Class_Net ;
     net:hasClassName "gravitation" ;
     net:hasClassType sys:Entity ;
     net:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation> ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:compositeClass_object-orbiting-sun_o a net:Composite_Class_Net ;
     net:coverBaseNode :leaf_object_o ;
@@ -1494,7 +1537,9 @@ net:compositeClass_object-orbiting-sun_o a net:Composite_Class_Net ;
     net:hasClassURI <https://tenet.tetras-libre.fr/extract-result#object-orbiting-sun> ;
     net:hasMotherClassNet net:atomClass_object_o ;
     net:hasRestriction01 net:restriction_orbiting_sun ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:typeProperty a owl:AnnotationProperty ;
     rdfs:label "type property" .
@@ -1531,7 +1576,9 @@ net:atomClass_object_o a net:Atom_Class_Net ;
     net:hasClassName "object" ;
     net:hasClassType sys:Entity ;
     net:hasClassURI <https://tenet.tetras-libre.fr/extract-result#object> ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:atomClass_sun_s2 a net:Atom_Class_Net ;
     net:coverBaseNode :leaf_sun_s2 ;
@@ -1540,7 +1587,9 @@ net:atomClass_sun_s2 a net:Atom_Class_Net ;
     net:hasClassName "sun" ;
     net:hasClassType sys:Entity ;
     net:hasClassURI <https://tenet.tetras-libre.fr/extract-result#sun> ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:compositeClass_system-hasPart-object_s a net:Composite_Class_Net ;
     :role_domain net:atomClass_system_p,
@@ -1556,7 +1605,9 @@ net:compositeClass_system-hasPart-object_s a net:Composite_Class_Net ;
     net:hasMotherClassNet net:atomClass_system_p,
         net:atomClass_system_s ;
     net:hasRestriction01 net:restriction_hasPart_object ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:compositeClass_system-hasPart-sun_s a net:Composite_Class_Net ;
     :role_domain net:atomClass_system_p,
@@ -1572,7 +1623,9 @@ net:compositeClass_system-hasPart-sun_s a net:Composite_Class_Net ;
     net:hasMotherClassNet net:atomClass_system_p,
         net:atomClass_system_s ;
     net:hasRestriction01 net:restriction_hasPart_sun ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:netProperty a owl:AnnotationProperty ;
     rdfs:label "netProperty" .
@@ -1606,7 +1659,9 @@ net:individual_system_SolarSystem a net:Individual_Net ;
         net:compositeClass_system-hasPart-object_s,
         net:compositeClass_system-hasPart-sun-hasPart-object_s,
         net:compositeClass_system-hasPart-sun_s ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 rdf:Property a owl:Class .
 
@@ -1634,7 +1689,9 @@ net:atomClass_system_s a net:Atom_Class_Net ;
     net:hasClassType sys:Entity ;
     net:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> ;
     net:hasMotherClassNet net:atomClass_system_p ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:Net a owl:Class ;
     rdfs:subClassOf net:Net_Structure .
@@ -1687,7 +1744,9 @@ net:atomClass_system_p a net:Atom_Class_Net ;
     net:coverNodeCount 1 ;
     net:hasClassName "system" ;
     net:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 :AMR_Leaf a owl:Class ;
     rdfs:subClassOf :AMR_Structure .
diff --git a/output/SolarSystemDev1-20230110/SolarSystemDev1-1/SolarSystemDev1_transduction.ttl b/output/SolarSystemDev1-20230110/SolarSystemDev1-1/SolarSystemDev1_transduction.ttl
index 1d4cf5e9..4f4ffa86 100644
--- a/output/SolarSystemDev1-20230110/SolarSystemDev1-1/SolarSystemDev1_transduction.ttl
+++ b/output/SolarSystemDev1-20230110/SolarSystemDev1-1/SolarSystemDev1_transduction.ttl
@@ -449,7 +449,9 @@ net:atomProperty_hasManner_m9 a net:Atom_Property_Net ;
     net:hasStructure "SSC-01-01" ;
     net:isCoreRoleLinked true ;
     net:targetArgumentNode :leaf_or_o3,
-        :leaf_orbit-01_o2 .
+        :leaf_orbit-01_o2 ;
+    net:trackProgress 1,
+        2 .
 
 net:atomType a owl:AnnotationProperty ;
     rdfs:label "atom type" ;
@@ -805,7 +807,9 @@ net:compositeClass_gravitation-binding-system-hasPart-object_g a net:Composite_C
     net:hasClassType sys:Entity ;
     net:hasMotherClassNet net:atomClass_gravitation_g ;
     net:hasRestriction01 net:restriction_binding_system-hasPart-object ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:compositeClass_gravitation-binding-system-hasPart-sun_g a net:Composite_Class_Net ;
     net:coverBaseNode :leaf_gravitation_g ;
@@ -819,7 +823,9 @@ net:compositeClass_gravitation-binding-system-hasPart-sun_g a net:Composite_Clas
     net:hasClassType sys:Entity ;
     net:hasMotherClassNet net:atomClass_gravitation_g ;
     net:hasRestriction01 net:restriction_binding_system-hasPart-sun ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:compositeClass_gravitation-binding-system_g a net:Composite_Class_Net ;
     net:coverBaseNode :leaf_gravitation_g ;
@@ -831,7 +837,9 @@ net:compositeClass_gravitation-binding-system_g a net:Composite_Class_Net ;
     net:hasClassType sys:Entity ;
     net:hasMotherClassNet net:atomClass_gravitation_g ;
     net:hasRestriction01 net:restriction_binding_system ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:has_value a owl:AnnotationProperty ;
     rdfs:subPropertyOf net:netProperty .
@@ -848,7 +856,9 @@ net:phenomena_conjunction-AND_a a net:Phenomena_Net ;
     net:coverNode :leaf_and_a ;
     net:hasPhenomenaRef "and" ;
     net:hasPhenomenaType :phenomena_conjunction_and ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:phenomena_conjunction-OR_o3 a net:Phenomena_Net ;
     :role_op1 net:atomProperty_direct_d ;
@@ -858,7 +868,9 @@ net:phenomena_conjunction-OR_o3 a net:Phenomena_Net ;
     net:coverNode :leaf_or_o3 ;
     net:hasPhenomenaRef "or" ;
     net:hasPhenomenaType :phenomena_conjunction_or ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:restriction_binding_system a net:Restriction_Net ;
     net:coverBaseNode :leaf_gravitation_g ;
@@ -869,7 +881,8 @@ net:restriction_binding_system a net:Restriction_Net ;
         :leaf_system_s ;
     net:hasRestrictionNetValue net:atomClass_system_s ;
     net:hasRestrictionOnProperty net:atomProperty_bind_b ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 2 .
 
 net:restriction_binding_system-hasPart-object a net:Restriction_Net ;
     net:coverBaseNode :leaf_gravitation_g ;
@@ -884,7 +897,8 @@ net:restriction_binding_system-hasPart-object a net:Restriction_Net ;
         :leaf_system_s ;
     net:hasRestrictionNetValue net:compositeClass_system-hasPart-object_s ;
     net:hasRestrictionOnProperty net:atomProperty_bind_b ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 2 .
 
 net:restriction_binding_system-hasPart-sun a net:Restriction_Net ;
     net:coverBaseNode :leaf_gravitation_g ;
@@ -899,7 +913,8 @@ net:restriction_binding_system-hasPart-sun a net:Restriction_Net ;
         :leaf_system_s ;
     net:hasRestrictionNetValue net:compositeClass_system-hasPart-sun_s ;
     net:hasRestrictionOnProperty net:atomProperty_bind_b ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 2 .
 
 net:restriction_hasPart_object-orbiting-sun a net:Restriction_Net ;
     net:coverBaseNode :leaf_system_s ;
@@ -914,7 +929,8 @@ net:restriction_hasPart_object-orbiting-sun a net:Restriction_Net ;
         :leaf_sun_s2 ;
     net:hasRestrictionNetValue net:compositeClass_object-orbiting-sun_o ;
     net:hasRestrictionOnProperty net:atomProperty_hasPart_p9 ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 2 .
 
 net:restriction_orbiting_sun a net:Restriction_Net ;
     net:coverBaseNode :leaf_object_o ;
@@ -925,11 +941,14 @@ net:restriction_orbiting_sun a net:Restriction_Net ;
         :leaf_sun_s2 ;
     net:hasRestrictionNetValue net:atomClass_sun_s2 ;
     net:hasRestrictionOnProperty net:atomProperty_orbit_o2 ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 2 .
 
 net:value_negative_blankNode a net:Value_Net ;
     net:hasStructure "SSC-01-01" ;
-    net:hasValueLabel "negative" .
+    net:hasValueLabel "negative" ;
+    net:trackProgress 1,
+        2 .
 
 <http://amr.isi.edu/amr_data/SSC-01-01#a> a ns21:and ;
     ns11:op1 <http://amr.isi.edu/amr_data/SSC-01-01#s2> ;
@@ -1078,7 +1097,9 @@ net:atomProperty_direct_d a net:Atom_Property_Net ;
     net:hasPropertyName12 "direct-of" ;
     net:hasPropertyType owl:ObjectProperty ;
     net:hasStructure "SSC-01-01" ;
-    net:isCoreRoleLinked true .
+    net:isCoreRoleLinked true ;
+    net:trackProgress 1,
+        2 .
 
 net:atomProperty_direct_d2 a net:Atom_Property_Net,
         net:Deprecated_Net ;
@@ -1092,7 +1113,9 @@ net:atomProperty_direct_d2 a net:Atom_Property_Net,
     net:hasPropertyType owl:ObjectProperty ;
     net:hasStructure "SSC-01-01" ;
     net:isCoreRoleLinked true ;
-    net:targetArgumentNode :value_negative .
+    net:targetArgumentNode :value_negative ;
+    net:trackProgress 1,
+        2 .
 
 net:atomProperty_orbit_o2 a net:Atom_Property_Net ;
     :role_ARG0 net:atomClass_object_o,
@@ -1108,13 +1131,17 @@ net:atomProperty_orbit_o2 a net:Atom_Property_Net ;
     net:hasStructure "SSC-01-01" ;
     net:isCoreRoleLinked true ;
     net:targetArgumentNode :leaf_object_o,
-        :leaf_sun_s2 .
+        :leaf_sun_s2 ;
+    net:trackProgress 1,
+        2 .
 
 net:compositeProperty_not-direct_d2 a net:Composite_Property_Net ;
     net:coverBaseNode :leaf_direct-02_d2 ;
     net:coverNode :leaf_direct-02_d2 ;
     net:hasPropertyName "not-direct" ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:objectProperty a owl:AnnotationProperty ;
     rdfs:label "object attribute" .
@@ -1128,7 +1155,8 @@ net:restriction_hasPart_object a net:Restriction_Net ;
         :leaf_object_o ;
     net:hasRestrictionNetValue net:atomClass_object_o ;
     net:hasRestrictionOnProperty net:atomProperty_hasPart_p9 ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 2 .
 
 net:restriction_hasPart_sun a net:Restriction_Net ;
     net:coverBaseNode :leaf_system_s ;
@@ -1139,11 +1167,14 @@ net:restriction_hasPart_sun a net:Restriction_Net ;
         :leaf_sun_s2 ;
     net:hasRestrictionNetValue net:atomClass_sun_s2 ;
     net:hasRestrictionOnProperty net:atomProperty_hasPart_p9 ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 2 .
 
 net:value_SolarSystem_blankNode a net:Value_Net ;
     net:hasStructure "SSC-01-01" ;
-    net:hasValueLabel "Solar System" .
+    net:hasValueLabel "Solar System" ;
+    net:trackProgress 1,
+        2 .
 
 <http://amr.isi.edu/amr_data/SSC-01-01#o> a ns11:object ;
     rdfs:subClassOf :AMR_Linked_Data .
@@ -1209,7 +1240,9 @@ net:atomProperty_bind_b a net:Atom_Property_Net ;
     net:hasStructure "SSC-01-01" ;
     net:isCoreRoleLinked true ;
     net:targetArgumentNode :leaf_gravitation_g,
-        :leaf_system_s .
+        :leaf_system_s ;
+    net:trackProgress 1,
+        2 .
 
 net:atomProperty_hasPart_p9 a net:Atom_Property_Net ;
     :role_ARG0 net:atomClass_system_s,
@@ -1232,7 +1265,9 @@ net:atomProperty_hasPart_p9 a net:Atom_Property_Net ;
     net:hasStructure "SSC-01-01" ;
     net:isCoreRoleLinked true ;
     net:targetArgumentNode :leaf_and_a,
-        :leaf_system_s .
+        :leaf_system_s ;
+    net:trackProgress 1,
+        2 .
 
 net:compositeClass_system-hasPart-object-hasPart-sun_s a net:Composite_Class_Net ;
     :role_domain net:atomClass_system_p,
@@ -1248,7 +1283,9 @@ net:compositeClass_system-hasPart-object-hasPart-sun_s a net:Composite_Class_Net
     net:hasMotherClassNet net:atomClass_system_p,
         net:compositeClass_system-hasPart-object_s ;
     net:hasRestriction01 net:restriction_hasPart_sun ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:compositeClass_system-hasPart-object-orbiting-sun_s a net:Composite_Class_Net ;
     :role_domain net:atomClass_system_p,
@@ -1265,7 +1302,9 @@ net:compositeClass_system-hasPart-object-orbiting-sun_s a net:Composite_Class_Ne
     net:hasMotherClassNet net:atomClass_system_p,
         net:atomClass_system_s ;
     net:hasRestriction01 net:restriction_hasPart_object-orbiting-sun ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:compositeClass_system-hasPart-sun-hasPart-object_s a net:Composite_Class_Net ;
     :role_domain net:atomClass_system_p,
@@ -1281,7 +1320,9 @@ net:compositeClass_system-hasPart-sun-hasPart-object_s a net:Composite_Class_Net
     net:hasMotherClassNet net:atomClass_system_p,
         net:compositeClass_system-hasPart-sun_s ;
     net:hasRestriction01 net:restriction_hasPart_object ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:has_relation_value a owl:AnnotationProperty ;
     rdfs:label "has relation value" ;
@@ -1331,7 +1372,9 @@ net:atomClass_gravitation_g a net:Atom_Class_Net ;
     net:coverNodeCount 1 ;
     net:hasClassName "gravitation" ;
     net:hasClassType sys:Entity ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:compositeClass_object-orbiting-sun_o a net:Composite_Class_Net ;
     net:coverBaseNode :leaf_object_o ;
@@ -1343,7 +1386,9 @@ net:compositeClass_object-orbiting-sun_o a net:Composite_Class_Net ;
     net:hasClassType sys:Entity ;
     net:hasMotherClassNet net:atomClass_object_o ;
     net:hasRestriction01 net:restriction_orbiting_sun ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:typeProperty a owl:AnnotationProperty ;
     rdfs:label "type property" .
@@ -1379,7 +1424,9 @@ net:atomClass_object_o a net:Atom_Class_Net ;
     net:coverNodeCount 1 ;
     net:hasClassName "object" ;
     net:hasClassType sys:Entity ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:atomClass_sun_s2 a net:Atom_Class_Net ;
     net:coverBaseNode :leaf_sun_s2 ;
@@ -1387,7 +1434,9 @@ net:atomClass_sun_s2 a net:Atom_Class_Net ;
     net:coverNodeCount 1 ;
     net:hasClassName "sun" ;
     net:hasClassType sys:Entity ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:compositeClass_system-hasPart-object_s a net:Composite_Class_Net ;
     :role_domain net:atomClass_system_p,
@@ -1402,7 +1451,9 @@ net:compositeClass_system-hasPart-object_s a net:Composite_Class_Net ;
     net:hasMotherClassNet net:atomClass_system_p,
         net:atomClass_system_s ;
     net:hasRestriction01 net:restriction_hasPart_object ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:compositeClass_system-hasPart-sun_s a net:Composite_Class_Net ;
     :role_domain net:atomClass_system_p,
@@ -1417,7 +1468,9 @@ net:compositeClass_system-hasPart-sun_s a net:Composite_Class_Net ;
     net:hasMotherClassNet net:atomClass_system_p,
         net:atomClass_system_s ;
     net:hasRestriction01 net:restriction_hasPart_sun ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:netProperty a owl:AnnotationProperty ;
     rdfs:label "netProperty" .
@@ -1450,7 +1503,9 @@ net:individual_system_SolarSystem a net:Individual_Net ;
         net:compositeClass_system-hasPart-object_s,
         net:compositeClass_system-hasPart-sun-hasPart-object_s,
         net:compositeClass_system-hasPart-sun_s ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 rdf:Property a owl:Class .
 
@@ -1472,7 +1527,9 @@ net:atomClass_system_s a net:Atom_Class_Net ;
     net:hasClassName "system" ;
     net:hasClassType sys:Entity ;
     net:hasMotherClassNet net:atomClass_system_p ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 net:Net a owl:Class ;
     rdfs:subClassOf net:Net_Structure .
@@ -1520,7 +1577,9 @@ net:atomClass_system_p a net:Atom_Class_Net ;
     net:coverNode :leaf_system_p ;
     net:coverNodeCount 1 ;
     net:hasClassName "system" ;
-    net:hasStructure "SSC-01-01" .
+    net:hasStructure "SSC-01-01" ;
+    net:trackProgress 1,
+        2 .
 
 :AMR_Leaf a owl:Class ;
     rdfs:subClassOf :AMR_Structure .
diff --git a/output/SolarSystemDev1-20230110/SolarSystemDev1_factoid.ttl b/output/SolarSystemDev1-20230110/SolarSystemDev1_factoid.ttl
index 33176d20..c4ba0d2a 100644
--- a/output/SolarSystemDev1-20230110/SolarSystemDev1_factoid.ttl
+++ b/output/SolarSystemDev1-20230110/SolarSystemDev1_factoid.ttl
@@ -1,70 +1,70 @@
 @base <http://SolarSystemDev1/factoid> .
-@prefix ns1: <https://tenet.tetras-libre.fr/semantic-net#> .
-@prefix ns2: <https://tenet.tetras-libre.fr/base-ontology#> .
+@prefix ns1: <https://tenet.tetras-libre.fr/base-ontology#> .
+@prefix ns2: <https://tenet.tetras-libre.fr/semantic-net#> .
 @prefix owl: <http://www.w3.org/2002/07/owl#> .
 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
 
-ns1:atomClass_gravitation_g ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation> .
+ns2:atomClass_gravitation_g ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation> .
 
-ns1:atomClass_object_o ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#object> .
+ns2:atomClass_object_o ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#object> .
 
-ns1:atomClass_sun_s2 ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#sun> .
+ns2:atomClass_sun_s2 ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#sun> .
 
-ns1:atomClass_system_p ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> .
+ns2:atomClass_system_p ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> .
 
-ns1:atomClass_system_s ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> .
+ns2:atomClass_system_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> .
 
-ns1:atomProperty_bind_b ns1:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#bind-of> ;
-    ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#bind> .
+ns2:atomProperty_bind_b ns2:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#bind-of> ;
+    ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#bind> .
 
-ns1:atomProperty_direct_d ns1:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#direct-of> ;
-    ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#direct> .
+ns2:atomProperty_direct_d ns2:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#direct-of> ;
+    ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#direct> .
 
-ns1:atomProperty_hasManner_m9 ns1:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#hasManner> ;
-    ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#hasManner> .
+ns2:atomProperty_hasManner_m9 ns2:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#hasManner> ;
+    ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#hasManner> .
 
-ns1:atomProperty_hasPart_p9 ns1:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#hasPart> ;
-    ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#hasPart> .
+ns2:atomProperty_hasPart_p9 ns2:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#hasPart> ;
+    ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#hasPart> .
 
-ns1:atomProperty_orbit_o2 ns1:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#orbit-of> ;
-    ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#orbit> .
+ns2:atomProperty_orbit_o2 ns2:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#orbit-of> ;
+    ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#orbit> .
 
-ns1:compositeClass_gravitation-binding-system-hasPart-object_g ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-object> .
+ns2:compositeClass_gravitation-binding-system-hasPart-object_g ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-object> .
 
-ns1:compositeClass_gravitation-binding-system-hasPart-sun_g ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-sun> .
+ns2:compositeClass_gravitation-binding-system-hasPart-sun_g ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-sun> .
 
-ns1:compositeClass_gravitation-binding-system_g ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system> .
+ns2:compositeClass_gravitation-binding-system_g ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system> .
 
-ns1:compositeClass_object-orbiting-sun_o ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#object-orbiting-sun> .
+ns2:compositeClass_object-orbiting-sun_o ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#object-orbiting-sun> .
 
-ns1:compositeClass_system-hasPart-object-hasPart-sun_s ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-object-hasPart-sun> .
+ns2:compositeClass_system-hasPart-object-hasPart-sun_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-object-hasPart-sun> .
 
-ns1:compositeClass_system-hasPart-object-orbiting-sun_s ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-object-orbiting-sun> .
+ns2:compositeClass_system-hasPart-object-orbiting-sun_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-object-orbiting-sun> .
 
-ns1:compositeClass_system-hasPart-object_s ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-object> .
+ns2:compositeClass_system-hasPart-object_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-object> .
 
-ns1:compositeClass_system-hasPart-sun-hasPart-object_s ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-hasPart-object> .
+ns2:compositeClass_system-hasPart-sun-hasPart-object_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-hasPart-object> .
 
-ns1:compositeClass_system-hasPart-sun_s ns1:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> .
+ns2:compositeClass_system-hasPart-sun_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> .
 
-ns1:compositeProperty_not-direct_d2 ns1:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#not-direct> .
+ns2:compositeProperty_not-direct_d2 ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#not-direct> .
 
-ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-libre.fr/extract-result#solar-system> .
+ns2:individual_system_SolarSystem ns2:hasIndividualURI <https://tenet.tetras-libre.fr/extract-result#solar-system> .
 
 <https://tenet.tetras-libre.fr/extract-result#bind> a owl:ObjectProperty ;
     rdfs:label "bind" ;
-    rdfs:subPropertyOf ns2:Out_ObjectProperty ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subPropertyOf ns1:Out_ObjectProperty ;
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#direct> a owl:ObjectProperty ;
     rdfs:label "direct" ;
-    rdfs:subPropertyOf ns2:Out_ObjectProperty ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subPropertyOf ns1:Out_ObjectProperty ;
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#direct-of> a owl:ObjectProperty ;
     rdfs:label "direct-of" ;
-    rdfs:subPropertyOf ns2:Out_ObjectProperty ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subPropertyOf ns1:Out_ObjectProperty ;
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system> a owl:Class ;
     rdfs:label "gravitation-binding-system" ;
@@ -72,7 +72,7 @@ ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-lib
             owl:onProperty <https://tenet.tetras-libre.fr/extract-result#bind-of> ;
             owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#system> ],
         <https://tenet.tetras-libre.fr/extract-result#gravitation> ;
-    ns2:fromStructure "SSC-01-01" .
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-object> a owl:Class ;
     rdfs:label "gravitation-binding-system-hasPart-object" ;
@@ -80,7 +80,7 @@ ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-lib
             owl:onProperty <https://tenet.tetras-libre.fr/extract-result#bind-of> ;
             owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#system-hasPart-object> ],
         <https://tenet.tetras-libre.fr/extract-result#gravitation> ;
-    ns2:fromStructure "SSC-01-01" .
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-sun> a owl:Class ;
     rdfs:label "gravitation-binding-system-hasPart-sun" ;
@@ -88,12 +88,12 @@ ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-lib
             owl:onProperty <https://tenet.tetras-libre.fr/extract-result#bind-of> ;
             owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> ],
         <https://tenet.tetras-libre.fr/extract-result#gravitation> ;
-    ns2:fromStructure "SSC-01-01" .
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#orbit> a owl:ObjectProperty ;
     rdfs:label "orbit" ;
-    rdfs:subPropertyOf ns2:Out_ObjectProperty ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subPropertyOf ns1:Out_ObjectProperty ;
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#solar-system> a owl:individual,
         <https://tenet.tetras-libre.fr/extract-result#system>,
@@ -103,12 +103,12 @@ ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-lib
         <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun>,
         <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-hasPart-object> ;
     rdfs:label "Solar System" ;
-    ns2:fromStructure "SSC-01-01" .
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#hasManner> a owl:ObjectProperty ;
     rdfs:label "hasManner" ;
-    rdfs:subPropertyOf ns2:Out_ObjectProperty ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subPropertyOf ns1:Out_ObjectProperty ;
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#object-orbiting-sun> a owl:Class ;
     rdfs:label "object-orbiting-sun" ;
@@ -116,12 +116,12 @@ ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-lib
             owl:onProperty <https://tenet.tetras-libre.fr/extract-result#orbit-of> ;
             owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#sun> ],
         <https://tenet.tetras-libre.fr/extract-result#object> ;
-    ns2:fromStructure "SSC-01-01" .
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#orbit-of> a owl:ObjectProperty ;
     rdfs:label "orbit-of" ;
-    rdfs:subPropertyOf ns2:Out_ObjectProperty ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subPropertyOf ns1:Out_ObjectProperty ;
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#system-hasPart-object-hasPart-sun> a owl:Class ;
     rdfs:label "system-hasPart-object-hasPart-sun" ;
@@ -130,7 +130,7 @@ ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-lib
             owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#sun> ],
         <https://tenet.tetras-libre.fr/extract-result#system>,
         <https://tenet.tetras-libre.fr/extract-result#system-hasPart-object> ;
-    ns2:fromStructure "SSC-01-01" .
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#system-hasPart-object-orbiting-sun> a owl:Class ;
     rdfs:label "system-hasPart-object-orbiting-sun" ;
@@ -138,7 +138,7 @@ ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-lib
             owl:onProperty <https://tenet.tetras-libre.fr/extract-result#hasPart> ;
             owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#object-orbiting-sun> ],
         <https://tenet.tetras-libre.fr/extract-result#system> ;
-    ns2:fromStructure "SSC-01-01" .
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-hasPart-object> a owl:Class ;
     rdfs:label "system-hasPart-sun-hasPart-object" ;
@@ -147,27 +147,27 @@ ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-lib
             owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#object> ],
         <https://tenet.tetras-libre.fr/extract-result#system>,
         <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> ;
-    ns2:fromStructure "SSC-01-01" .
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#bind-of> a owl:ObjectProperty ;
     rdfs:label "bind-of" ;
-    rdfs:subPropertyOf ns2:Out_ObjectProperty ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subPropertyOf ns1:Out_ObjectProperty ;
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#gravitation> a owl:Class ;
     rdfs:label "gravitation" ;
-    rdfs:subClassOf ns2:Entity ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subClassOf ns1:Entity ;
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#object> a owl:Class ;
     rdfs:label "object" ;
-    rdfs:subClassOf ns2:Entity ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subClassOf ns1:Entity ;
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#sun> a owl:Class ;
     rdfs:label "sun" ;
-    rdfs:subClassOf ns2:Entity ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subClassOf ns1:Entity ;
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#system-hasPart-object> a owl:Class ;
     rdfs:label "system-hasPart-object" ;
@@ -175,7 +175,7 @@ ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-lib
             owl:onProperty <https://tenet.tetras-libre.fr/extract-result#hasPart> ;
             owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#object> ],
         <https://tenet.tetras-libre.fr/extract-result#system> ;
-    ns2:fromStructure "SSC-01-01" .
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> a owl:Class ;
     rdfs:label "system-hasPart-sun" ;
@@ -183,15 +183,15 @@ ns1:individual_system_SolarSystem ns1:hasIndividualURI <https://tenet.tetras-lib
             owl:onProperty <https://tenet.tetras-libre.fr/extract-result#hasPart> ;
             owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#sun> ],
         <https://tenet.tetras-libre.fr/extract-result#system> ;
-    ns2:fromStructure "SSC-01-01" .
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#hasPart> a owl:ObjectProperty ;
     rdfs:label "hasPart" ;
-    rdfs:subPropertyOf ns2:Out_ObjectProperty ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subPropertyOf ns1:Out_ObjectProperty ;
+    ns1:fromStructure "SSC-01-01" .
 
 <https://tenet.tetras-libre.fr/extract-result#system> a owl:Class ;
     rdfs:label "system" ;
-    rdfs:subClassOf ns2:Entity ;
-    ns2:fromStructure "SSC-01-01" .
+    rdfs:subClassOf ns1:Entity ;
+    ns1:fromStructure "SSC-01-01" .
 
diff --git a/structure/cts/amr_ctr/transduction/phenomena_application.py b/structure/cts/amr_ctr/transduction/phenomena_application.py
index 0fa4797e..05aa4b2e 100644
--- a/structure/cts/amr_ctr/transduction/phenomena_application.py
+++ b/structure/cts/amr_ctr/transduction/phenomena_application.py
@@ -72,25 +72,35 @@ rule_set['polarity-phenomena-application'] = {
 
 rule_set['and-conjunction-phenomena-application-1'] = {
     'label': "and-conjunction-phenomena-application-1",
-    'comment': ("Apply conjunction phenomena (step 1): ",
-                " (1) FROM and-conjunction linking some nets",
-                " (2) TO create and-logical set"),
+    'comment': ("Apply conjunction phenomena, step 1: ",
+                " (1) create logical set",
+                " (2) FROM and-conjunction linking some nets and a property"),
     'construction': f"""
         {logical_set_net.construct(base_node=phenomena_net.base_node,
                                    logical_constraint='"AND"',
+                                   property_net=atom_property_net.id,
                                    content_net_1='?contentNet1')}
         {logical_set_net.add_attribute(content_net_2='?contentNet2')}
-        {logical_set_net.add_attribute(optional_content_net='?contentNet3')}
-        {logical_set_net.add_attribute(optional_content_net='?contentNet4')}
-        {logical_set_net.add_attribute(optional_content_net='?contentNet5')}
-        {logical_set_net.add_attribute(optional_content_net='?contentNet6')}
-        {logical_set_net.add_attribute(optional_content_net='?contentNet7')}
-        {logical_set_net.add_attribute(optional_content_net='?contentNet8')}
-        {logical_set_net.add_attribute(optional_content_net='?contentNet9')}
+        {logical_set_net.add_attribute(content_net='?contentNet1')}
+        {logical_set_net.add_attribute(content_net='?contentNet2')}
+        {logical_set_net.add_attribute(content_net='?contentNet3')}
+        {logical_set_net.add_attribute(content_net='?contentNet4')}
+        {logical_set_net.add_attribute(content_net='?contentNet5')}
+        {logical_set_net.add_attribute(content_net='?contentNet6')}
+        {logical_set_net.add_attribute(content_net='?contentNet7')}
+        {logical_set_net.add_attribute(content_net='?contentNet8')}
+        {logical_set_net.add_attribute(content_net='?contentNet9')}
 
         {logical_set_net.propagate_relations()}
     """,
     'clause': f"""
+        
+        # *** Identify Property(-, arg1:PhenomenaNet) ***
+        
+        {atom_property_net.identify_net(core_role='true')}
+        {atom_property_net.id} amr:role_ARG1 {phenomena_net.id}.
+        
+        
         # *** Identify Phenomena(AND-conjunction, contentNet*) ***
            
         {phenomena_net.identify_net(phenomena_type='amr:phenomena_conjunction_and')}
@@ -122,85 +132,123 @@ rule_set['and-conjunction-phenomena-application-1'] = {
 rule_set['and-conjunction-phenomena-application-2'] = {
     'label': "and-conjunction-phenomena-application-2",
     'comment': ("Apply conjunction phenomena (step 2): ",
-                " (1) expand and-logical set"),
+                " (1) complete Logical Set Net for naming"),
     'construction': f"""
-    
-        {restriction_net.construct(base_node=class_net_0.base_node, 
-                                   target_node=atom_property_net.node,
-                                   restriction_property=atom_property_net.id,
-                                   restriction_net_value=class_net_1.id)}
-        {restriction_net.add_attribute(target_node=class_net_1.node)} 
+        {logical_set_net.define_naming()}
+    """,
+    'clause': f"""
+        
+        # *** Identify LogicalSet Net ***  
+        {logical_set_net.identify_net_without_optional_attribute(
+            property_net=property_net.id,
+            content_net_1=class_net_1.id,
+            content_net_2=class_net_2.id)}
+        
+        
+        # *** Identify property and classes ***
+        {property_net.identify_net(core_role='true')}
+        {class_net_1.identify_net()}
+        {class_net_2.identify_net()}
+        
+    """,
+    'binding': f"""
+        {logical_set_net.bind_naming(property_net.property_name,
+                                     class_net_1.class_name,
+                                     class_net_2.class_name)}
+    """
+}
 
-        {restriction_net.propagate_relations()}
+rule_set['and-conjunction-phenomena-application-3'] = {
+    'label': "and-conjunction-phenomena-application-3",
+    'comment': ("Apply conjunction phenomena (step 3): ",
+                " (1) complete Logical Set Net with restriction(s)"),
+    'construction': f"""
+    
+        {restriction_net.construct(restriction_property=property_net.id,
+                                   restriction_net_value=class_net.id)}
+        {restriction_net.add_attribute(node=property_net.node)} 
+        {restriction_net.add_attribute(node=logical_set_net.node)} 
+        {restriction_net.add_attribute(node=class_net.node)} 
+        
+        {logical_set_net.add_attribute(restriction=restriction_net.id)}
+    """,
+    'clause': f"""
+        # *** Identify LogicalSet Net ***
+        {logical_set_net.identify_net(property_net=property_net.id)}
+        {logical_set_net.identify_content_net(class_net.id)}
+        
         
+        # *** Identify property and classes ***
+        {property_net.identify_net(core_role='true')}
+        {class_net.identify_net()}
+    """,
+    'binding': f"""        
+        {restriction_net.bind_uri(property_net.property_name, class_net.class_name)}
+    """
+}
+
+rule_set['and-conjunction-phenomena-application-4'] = {
+    'label': "and-conjunction-phenomena-application-4",
+    'comment': ("Apply conjunction phenomena (step 4): ",
+                " (1) create composite class net",
+                " (2) FROM property linking class and logical set"),
+    'construction': f"""        
         {composite_class_net.construct(base_node=class_net_0.base_node, 
-                                       node=atom_property_net.base_node,
                                        class_name='?newClassName',
                                        mother_class_net=class_net_0.id)}
-        {composite_class_net.add_attribute(restriction01=restriction_net.id)}
         {composite_class_net.add_attribute(node=class_net_0.node)}
+        {composite_class_net.add_attribute(node=property_net.base_node)}
         {composite_class_net.add_attribute(node=logical_set_net.node)}
-
-        {composite_class_net.propagate_relations()}
-
-        {logical_set_net.deprecate()}
     """,
     'clause': f"""
-        # *** Identify LogicalSet(AND, contentNet) ***
-           
-        {logical_set_net.identify_net(logical_constraint='"AND"')}
-        {logical_set_net.identify_content_net_1(class_net_1.id)}
-        {logical_set_net.identify_content_net_2(class_net_2.id)}
-        {logical_set_net.identify_optional_content_net(class_net_3.id)}
-        {logical_set_net.identify_optional_content_net_number('?contentNumber')}
-        
-        
-        # *** Identify Property(arg0:Class, arg1:LogicalSet) ***
-        
-        {atom_property_net.identify_net(core_role='true')}
-        
-        {atom_property_net.id} amr:role_ARG0 {class_net_0.id}.
-        {atom_property_net.id} amr:role_ARG1 {logical_set_net.id}.
+        # *** Identify Property(arg0:Class, arg1:LogicalSet) ***  
+        {property_net.identify_net(core_role='true')}     
+        {property_net.id} amr:role_ARG0 {class_net_0.id}.
+        {property_net.id} amr:role_ARG1 {logical_set_net.id}.  
         
+        # *** Identify class and logical set ***
         {class_net_0.identify_net()}
-            
+        {logical_set_net.identify_net(logical_constraint='"AND"')}        
         
         # *** condition: disjoint cover ***
         FILTER NOT EXISTS {{
             {class_net_0.id} net:coverNode ?node.
             {logical_set_net.id} net:coverNode ?node.
-            }}
-            
+            }}      
         
         # *** Identify variable label of base leaf ***
         {class_net_0.base_node} a amr:AMR_Leaf ;
             amr:hasVariable ?variable.
         ?variable amr:label ?varLabel.
-        
-        
-        # *** Identify Content Nets ***
-        {class_net_1.identify_net()}
-        {class_net_2.identify_net()}
-        {class_net_3.identify_net()}
-        
-        # *** Complete clauses for net construction ***
-        {composite_class_net.complete_clauses_for_construction(class_net_0.base_node)}
-        
-        # -- ??? -- {restriction_net.complete_clauses_for_construction()}
     """,
     'binding': f"""
 		# -- New Class Name
-		BIND (CONCAT({class_net_0.class_name}, '-', {atom_property_net.property_name01}) AS ?cn1).
-        BIND (CONCAT(?cn1, '-', {class_net_1.class_name}) AS ?cn2).
-        BIND (CONCAT(?cn2, '-and-', {class_net_2.class_name}) AS ?cn3).
-        BIND (IF (?contentNumber > 2, CONCAT(?cn3, '-etc'), ?cn3) AS ?newClassName)
-        
-        {restriction_net.bind_uri(atom_property_net.property_name01, class_net_1.class_name)}
+		BIND (CONCAT({class_net_0.class_name}, '-', {logical_set_net.naming}) AS ?newClassName).
         
         {composite_class_net.bind_uri('?newClassName', '?varLabel')}
     """
 }
 
+rule_set['and-conjunction-phenomena-application-5'] = {
+    'label': "and-conjunction-phenomena-application-5",
+    'comment': ("Apply conjunction phenomena (step 5): ",
+                " (1) complete Logical Set Net for relation propagation"),
+    'construction': f"""   
+        {composite_class_net.define_structure()}     
+        {composite_class_net.propagate_relations()}
+    """,
+    'clause': f"""
+        # *** Identify CompositeClass in progress step INIT ***
+        {composite_class_net.identify_net()}
+        {composite_class_net.is_progress_step(1)}
+        
+        # *** Complete clauses for net construction ***
+        {composite_class_net.complete_clauses_for_construction()}
+    """,
+    'binding': f"""
+    """
+}
+
  
 # ---------------------------------------------
 # Net Expansion: Degree Phenomena Net
@@ -209,6 +257,13 @@ rule_set['and-conjunction-phenomena-application-2'] = {
 # TODO
 
 
+        # -- {composite_class_net.propagate_relations()}
+
+        # -- {logical_set_net.deprecate()}
+        
+        # *** Complete clauses for net construction ***
+        # -- {composite_class_net.complete_clauses_for_construction(class_net_0.base_node)}
+
 #==============================================================================
 # Development Test
 #==============================================================================
@@ -218,8 +273,8 @@ if __name__ == '__main__':
     print('\n' + ' *** Development Test ***')    
         
     print('\n' + ' -- Test Query')
-    rule = rule_set['polarity-phenomena-application']
-    # rule = rule_set['and-conjunction-phenomena-application-2']
+    # rule = rule_set['polarity-phenomena-application']
+    rule = rule_set['and-conjunction-phenomena-application-5']
     test_query_1 = f"""[...]
         CONSTRUCT {{
             {rule['construction']}
diff --git a/structure/cts/amr_ctr/transduction/query_builder/element/logical_set_net.py b/structure/cts/amr_ctr/transduction/query_builder/element/logical_set_net.py
index 9a34b910..feb69c53 100644
--- a/structure/cts/amr_ctr/transduction/query_builder/element/logical_set_net.py
+++ b/structure/cts/amr_ctr/transduction/query_builder/element/logical_set_net.py
@@ -38,16 +38,23 @@ class LogicalSetNet(Net):
         super().__init__(signature=True)
         
         # -- Net Attributes
+        self.logical_constraint = f'{self.id}Restriction'
+        self.property_net = f'{self.id}PropertyNet'
         self.content_net_1 = f'{self.id}ContentNet1'
         self.content_net_2 = f'{self.id}ContentNet2'
-        self.optional_content_net = f'{self.id}OptionalContentNet'
-        self.logical_constraint = f'{self.id}Restriction'
+        self.content_net = f'{self.id}ContentNet'
+        self.naming = f'{self.id}Naming'
+        self.restriction = f'{self.id}Restriction'
         
         self.predicate_table.update({
+            'logical_constraint': 'hasLogicalConstraint',
+            'property_net': 'bindPropertyNet',
             'content_net_1': 'containsNet1',
             'content_net_2': 'containsNet2',
-            'optional_content_net': 'containsOptionalNet',
-            'logical_constraint': 'hasLogicalConstraint'
+            'content_net': 'containsNet',
+            'naming': 'hasNaming',
+            'restriction': 'bindRestriction'
+            
             })
         
 
@@ -58,7 +65,18 @@ class LogicalSetNet(Net):
     def __get_predicate(self, attribute_reference):
         predicate_reference = self.predicate_table[f'{attribute_reference}']
         return f'net:{predicate_reference}'
-        
+     
+    
+    #--------------------------------------------------------------------------
+    # Method(s) to build 'Construct' parts  
+    #-------------------------------------------------------------------------- 
+    
+    def define_naming(self):
+        predicate = self.__get_predicate('naming')
+        return f"""
+            # -- Naming Definition
+            {self.id} {predicate} {self.naming}."""
+            
         
     #--------------------------------------------------------------------------
     # Method(s) to build 'Clause' parts  
@@ -78,11 +96,11 @@ class LogicalSetNet(Net):
             {self.id} {predicate} {target_id}.""" 
     
     
-    def identify_optional_content_net(self, target_id):
-        predicate = self.__get_predicate('optional_content_net')
+    def identify_content_net(self, target_id):
+        predicate = self.__get_predicate('content_net')
         return f"""
-            # -- Identify optional content net
-            OPTIONAL {{ {self.id} {predicate} {target_id}. }}""" 
+            # -- Identify content net
+            {self.id} {predicate} {target_id}.""" 
             
     
     def identify_disjoint_content_net(self, target_id_1, target_id_2):
@@ -94,8 +112,8 @@ class LogicalSetNet(Net):
             {self.id} {predicate} {target_id_2}.
             FILTER ( {target_id_1} != {target_id_2} ).""" 
             
-    def identify_optional_content_net_number(self, number_ref):
-        predicate = self.__get_predicate('optional_content_net')
+    def identify_content_net_number(self, number_ref):
+        predicate = self.__get_predicate('content_net')
         return f"""
             {{
                 # -- Identify content net number
@@ -103,4 +121,22 @@ class LogicalSetNet(Net):
             		WHERE {{
                         {self.id} {predicate} ?contentNet.
                 }}
-            }}""" 
\ No newline at end of file
+            }}""" 
+            
+    
+    #--------------------------------------------------------------------------
+    # Method(s) to build 'Binding' parts  
+    #--------------------------------------------------------------------------
+    
+    def bind_naming(self, property_ref, content_1_ref, content_2_ref):
+            
+        ref1 = f"{self.id}Ref1"
+        ref2 = f"{self.id}Ref2"
+        # -- ref3 = f"{self.id}Ref3"
+        
+        return f"""    
+            # -- New Naming
+            {self.identify_content_net_number('?contentNumber')}
+            BIND (CONCAT({property_ref}, '-', {content_1_ref}) AS {ref1}).
+            BIND (CONCAT({ref1}, '-and-', {content_2_ref}) AS {ref2}).
+            BIND (IF (?contentNumber > 2, CONCAT({ref2}, '-etc'), {ref2}) AS {self.naming})."""
\ No newline at end of file
diff --git a/structure/cts/amr_ctr/transduction/query_builder/element/net.py b/structure/cts/amr_ctr/transduction/query_builder/element/net.py
index b9e69004..ac1bc36a 100644
--- a/structure/cts/amr_ctr/transduction/query_builder/element/net.py
+++ b/structure/cts/amr_ctr/transduction/query_builder/element/net.py
@@ -19,9 +19,13 @@
 #==============================================================================
 
 # -- Useful Constant(s)
-
 DEFAULT_ATTRIBUTE_VALUE = f'\"NA\"'
 INDENT_STR = '            '
+SENTENCE_REF = '?sentenceRef'
+
+# -- Progress Step
+INIT_STEP = 1
+PROPAGATION_STEP = 2
 
 
 #==============================================================================
@@ -45,6 +49,7 @@ class Net:
             self.id = f'?{self.type_name}Net{num}'
             self.type_uri = f'net:{self.type_id}'
         
+        
         # -- Net Attributes
         self.node = f'{self.id}Node'
         self.base_node = f'{self.id}BaseNode'
@@ -52,11 +57,22 @@ class Net:
              
         self.predicate_table = { 
             # *** [attribute_reference: attribute_predicate] ***
+            'node': 'coverNode',
             'base_node': 'coverBaseNode',
             'structure': 'hasStructure'
             }
         
-        # -- Private elements (for relation propagation)
+        
+        # -- Tracker attributes
+        self._progress_step = f'{self.id}ProgressStep'
+        
+        self._track_predicate_table = { 
+            # *** [attribute_reference: attribute_predicate] ***
+            'progress_step': 'trackProgress'
+            }
+        
+        
+        # -- Private attributes (for relation propagation)
         self._in_relation_role = f'{self.id}InRelationRole'
         self._in_net = f'{self.id}InNet'
         self._out_relation_role = f'{self.id}OutRelationRole'
@@ -70,8 +86,39 @@ class Net:
     def __get_predicate(self, attribute_reference):
         predicate_reference = self.predicate_table[f'{attribute_reference}']
         return f'net:{predicate_reference}'
+            
+    def __get_track_predicate(self, attribute_reference):
+        predicate_reference = self._track_predicate_table[f'{attribute_reference}']
+        return f'net:{predicate_reference}'
 
     
+    #--------------------------------------------------------------------------
+    # Method(s) to track the construction progress
+    #--------------------------------------------------------------------------
+
+    def __track_construction_progress(self, progress_step):
+        predicate = self.__get_track_predicate('progress_step')
+        return f"{self.id} {predicate} {progress_step}."
+    
+    def get_progress_step(self, progress_step_ref):
+        predicate = self.__get_track_predicate('progress_step')
+        return f"""
+            {{
+                # -- Progress Step of {self.id}
+                SELECT {self.id} (MAX(?progressStep) AS {progress_step_ref})
+            		WHERE {{
+                        {self.id} {predicate} ?progressStep.
+                }}
+                GROUP BY {self.id}
+            }}""" 
+     
+    def is_progress_step(self, progress_step):
+        query = self.get_progress_step('?currentProgressStep')
+        query += f"""
+            FILTER (?currentProgressStep = {progress_step})."""
+        return query
+    
+    
     #--------------------------------------------------------------------------
     # Method(s) to build 'Construct' parts  
     #--------------------------------------------------------------------------
@@ -80,7 +127,7 @@ class Net:
         
         query_code = ""
         
-        # -- construct triples with default object for non-declared attributes
+        # -- construct triples
         for attr_ref in self.predicate_table.keys():
             
             predicate = self.__get_predicate(attr_ref)
@@ -88,12 +135,6 @@ class Net:
             if attr_ref in net_attribute.keys():
                 attr_value = net_attribute.get(attr_ref)
                 comment = ''
-            # else:
-            #     attr_value = DEFAULT_ATTRIBUTE_VALUE
-            #     comment = ' # *** attribute useless ***'
-                
-            # query_code += f"{self.id} {predicate} {attr_value}.{comment}" 
-            # query_code += f"\n{INDENT_STR}"
             
                 query_code += f"{self.id} {predicate} {attr_value}.{comment}" 
                 query_code += f"\n{INDENT_STR}"
@@ -110,16 +151,20 @@ class Net:
     
     
     def propagate_relations(self):
-        return f"""  
+        query_code = f"""  
             # -- Propagation of relations (from nodes to nets)
             {self._in_relation_role} a net:Relation.
             {self._in_net} {self._in_relation_role} {self.id}.
             {self._out_relation_role} a net:Relation.
             {self.id} {self._out_relation_role} {self._out_net}."""
+        query_code += f"\n{INDENT_STR}"
+        query_code += self.__track_construction_progress(PROPAGATION_STEP) 
+        return query_code
 
 
     def construct(self, **net_attribute):
         query_code = self.define_new_net(**net_attribute)
+        query_code += self.__track_construction_progress(INIT_STEP)
         # -- old --- query_code += self.propagate_relations()
         return query_code
     
@@ -139,6 +184,16 @@ class Net:
         return f"""
             # -- Additional triple(s) for {self.id}
             {query_code}"""   
+     
+    
+    def define_structure(self):
+        predicate = self.__get_predicate('structure')  
+        query_code = f"{self.id} {predicate} {SENTENCE_REF}." 
+        query_code += f"\n{INDENT_STR}"
+        
+        return f"""
+            # -- Additional triple(s) for {self.id}
+            {query_code}"""  
             
             
     def deprecate(self):
@@ -155,10 +210,12 @@ class Net:
         return f"""
             # -- Identify structure
             ?root a amr:AMR_Root.
-            ?root amr:hasSentenceID ?sentenceRef.
+            ?root amr:hasSentenceID {SENTENCE_REF}.
         """
     
-    def identify_relations_for_propagation(self, base_node):
+    def identify_relations_for_propagation(self, base_node=''):
+        if base_node=='':
+            base_node = self.base_node
         return f"""
             # -- Identify inbound relations linked to the base leaf (for propagation)
             OPTIONAL {{ 
@@ -202,7 +259,7 @@ class Net:
     #                  }} }}
     #     """
 
-    def complete_clauses_for_construction(self, base_node):
+    def complete_clauses_for_construction(self, base_node=''):
         query_code = self.identify_structure()
         query_code += self.identify_relations_for_propagation(base_node)
         return query_code
@@ -212,7 +269,7 @@ class Net:
     # Method(s) to build 'Identification Clause' parts  
     #--------------------------------------------------------------------------
 
-    def __select_attribute_triples(self, **net_attribute):
+    def __select_all_attribute_triples(self, **net_attribute):
         
         query_code = ""
         
@@ -238,6 +295,48 @@ class Net:
             query_code += f"\n{INDENT_STR}"
         
         return query_code
+    
+    
+    def __select_targeted_attribute_triples(self, **net_attribute):
+        
+        query_code = ""
+        
+        # -- select triples
+        for attr_ref in self.predicate_table.keys():
+            
+            predicate = self.__get_predicate(attr_ref)
+            
+            if attr_ref in net_attribute.keys():
+                attr_value = net_attribute.get(attr_ref)
+                comment = ''
+                
+                query_code += f"{self.id} {predicate} {attr_value}.{comment}"          
+                query_code += f"\n{INDENT_STR}"
+        
+        return query_code
+    
+    
+    def __select_optional_attribute_triples(self, **net_attribute):
+        
+        query_code = ""
+        
+        # -- construct triples with default object for non-declared attributes
+        for attr_ref in self.predicate_table.keys():
+            
+            predicate = self.__get_predicate(attr_ref)
+            
+            if attr_ref not in net_attribute.keys():
+                attr_value = self.__dict__[attr_ref]
+                optional_start = 'OPTIONAL {{ '
+                optional_end = ' }}'
+                comment = ''
+                
+                query_code += f"{optional_start}"
+                query_code += f"{self.id} {predicate} {attr_value}.{comment}" 
+                query_code += f"{optional_end}"             
+                query_code += f"\n{INDENT_STR}"
+        
+        return query_code
                
   
     def __select_node(self):
@@ -261,10 +360,19 @@ class Net:
             # -- Identify net
             {self.id} a [rdfs:subClassOf* {self.type_uri}].
             FILTER NOT EXISTS {{ {self.id} a net:Deprecated_Net. }}
-            {self.__select_attribute_triples(**net_attribute)}
+            {self.__select_all_attribute_triples(**net_attribute)}
             {self.__select_node()}"""  
+                
             
+    def identify_net_without_optional_attribute(self, **net_attribute):
+        return f"""
+            # -- Identify net
+            {self.id} a [rdfs:subClassOf* {self.type_uri}].
+            FILTER NOT EXISTS {{ {self.id} a net:Deprecated_Net. }}
+            {self.__select_targeted_attribute_triples(**net_attribute)}
+            {self.__select_node()}"""  
             
+    
     def identify_relation(self, relation_role, target_id):
         return f"""
             # -- Identify relation
@@ -300,38 +408,4 @@ class Net:
             BIND (CONCAT(str(net:), '{self.type_name}') AS {ref1}).
             BIND (CONCAT({ref1}, '_', {refNet}) AS {ref2}).
             BIND (CONCAT({ref2}, '_', {refNode}) AS {ref3}).
-            BIND (uri({ref3}) AS {self.id})."""
-
-
-    
-#==============================================================================
-# Development Test
-#==============================================================================
-    
-if __name__ == '__main__':
-    
-    print('\n' + ' *** Development Test ***')    
-        
-    print('\n' + ' -- test: Net')
-    net = Net()
-    print(net)
-        
-    print('\n' + ' -- test: update a test query')
-    test_query= f"""[...]
-        CONSTRUCT {{
-            {net.construct(base_node='?node1')}
-        
-        }}
-        WHERE {{
-            clause_1
-            clause_2
-            
-            {net.complete_clauses_for_construction('?node1')}
-            
-            {net.bind_uri('{{node1.concept_label}}',
-                          '{{node1.variable_label}}')}
-        }}
-    """
-    print(test_query)
-    
-    print('\n' + ' *** - ***')
\ No newline at end of file
+            BIND (uri({ref3}) AS {self.id})."""
\ No newline at end of file
diff --git a/tenet.log b/tenet.log
index d9871868..e49c4a69 100644
--- a/tenet.log
+++ b/tenet.log
@@ -66,11 +66,11 @@
 - DEBUG - --- Export work graph as turtle
 - DEBUG - ----- Work graph file: ./output/SolarSystemDev1-20230110/SolarSystemDev1-1/SolarSystemDev1.ttl 
 - DEBUG - --- Ending Structure Preparation 
-- DEBUG - ----- Total Execution Time = 0:00:00.130553
+- DEBUG - ----- Total Execution Time = 0:00:00.147208
 - INFO - -- Loading Extraction Scheme (amr_scheme_1)
 - DEBUG - ----- Step number: 3
 - INFO - -- Loading Extraction Rules (amr_ctr/*)
-- DEBUG - ----- Total rule number: 90
+- DEBUG - ----- Total rule number: 93
 - INFO - -- Applying extraction step: preprocessing
 - INFO - --- Sequence: amrld-correcting-sequence
 - INFO - ----- fix-amr-bug-about-system-solar-planet: 5/5 new triples (626)
@@ -100,114 +100,114 @@
 - INFO - ----- 218 triples extracted during preprocessing step
 - INFO - -- Applying extraction step: transduction
 - INFO - --- Sequence: atomic-extraction-sequence
-- INFO - ----- create-atom-class-net: 20/20 new triples (859)
-- DEBUG - ----- (refinement) refine-cover-node-1: 5 new triples (864)
-- DEBUG - ----- (refinement) refine-cover-node-2: 5 new triples (869)
-- INFO - ----- create-individual-net-1: 7/7 new triples (876)
-- DEBUG - ----- (refinement) refine-cover-node-1: 1 new triples (877)
-- INFO - ----- create-atom-property-net-1: 70/70 new triples (947)
-- DEBUG - ----- (refinement) refine-cover-node-1: 6 new triples (953)
-- INFO - ----- create-value-net: 11/11 new triples (964)
-- INFO - ----- create-phenomena-net-1: 18/19 new triples (982)
-- DEBUG - ----- (refinement) refine-cover-node-1: 2 new triples (984)
+- INFO - ----- create-atom-class-net: 30/30 new triples (869)
+- DEBUG - ----- (refinement) refine-cover-node-1: 5 new triples (874)
+- DEBUG - ----- (refinement) refine-cover-node-2: 5 new triples (879)
+- INFO - ----- create-individual-net-1: 9/9 new triples (888)
+- DEBUG - ----- (refinement) refine-cover-node-1: 1 new triples (889)
+- INFO - ----- create-atom-property-net-1: 82/82 new triples (971)
+- DEBUG - ----- (refinement) refine-cover-node-1: 6 new triples (977)
+- INFO - ----- create-value-net: 15/15 new triples (992)
+- INFO - ----- create-phenomena-net-1: 22/23 new triples (1014)
+- DEBUG - ----- (refinement) refine-cover-node-1: 2 new triples (1016)
 - INFO - --- Sequence: atomic-extraction-sequence
-- INFO - ----- create-atom-class-net: 1/34 new triples (985)
-- DEBUG - ----- create-individual-net-1: 0/7 new triples (985)
-- INFO - ----- create-atom-property-net-1: 1/77 new triples (986)
-- DEBUG - ----- create-value-net: 0/11 new triples (986)
-- DEBUG - ----- create-phenomena-net-1: 0/19 new triples (986)
+- INFO - ----- create-atom-class-net: 1/44 new triples (1017)
+- DEBUG - ----- create-individual-net-1: 0/9 new triples (1017)
+- INFO - ----- create-atom-property-net-1: 1/89 new triples (1018)
+- DEBUG - ----- create-value-net: 0/15 new triples (1018)
+- DEBUG - ----- create-phenomena-net-1: 0/23 new triples (1018)
 - INFO - --- Sequence: phenomena-application-sequence
-- INFO - ----- polarity-phenomena-application: 6/7 new triples (992)
-- DEBUG - ----- (refinement) refine-cover-node-1: 1 new triples (993)
+- INFO - ----- polarity-phenomena-application: 8/9 new triples (1026)
+- DEBUG - ----- (refinement) refine-cover-node-1: 1 new triples (1027)
 - INFO - --- Sequence: phenomena-checking-sequence
-- INFO - ----- expand-and-conjunction-phenomena-net: 5/5 new triples (998)
-- DEBUG - ----- expand-degree-phenomena-net-1: 0/0 new triples (998)
-- DEBUG - ----- expand-degree-phenomena-net-2: 0/0 new triples (998)
-- DEBUG - ----- expand-degree-phenomena-net-3: 0/0 new triples (998)
-- DEBUG - ----- expand-degree-phenomena-net-4: 0/0 new triples (998)
-- DEBUG - ----- expand-degree-phenomena-net-5: 0/0 new triples (998)
-- DEBUG - ----- expand-degree-phenomena-net-6: 0/0 new triples (998)
+- INFO - ----- expand-and-conjunction-phenomena-net: 5/5 new triples (1032)
+- DEBUG - ----- expand-degree-phenomena-net-1: 0/0 new triples (1032)
+- DEBUG - ----- expand-degree-phenomena-net-2: 0/0 new triples (1032)
+- DEBUG - ----- expand-degree-phenomena-net-3: 0/0 new triples (1032)
+- DEBUG - ----- expand-degree-phenomena-net-4: 0/0 new triples (1032)
+- DEBUG - ----- expand-degree-phenomena-net-5: 0/0 new triples (1032)
+- DEBUG - ----- expand-degree-phenomena-net-6: 0/0 new triples (1032)
 - INFO - --- Sequence: composite-property-extraction-sequence
-- DEBUG - ----- create-composite-class-net-from-property-1: 0/0 new triples (998)
-- DEBUG - ----- create-composite-class-net-from-property-2: 0/0 new triples (998)
+- DEBUG - ----- create-composite-class-net-from-property-1: 0/0 new triples (1032)
+- DEBUG - ----- create-composite-class-net-from-property-2: 0/0 new triples (1032)
 - INFO - --- Sequence: composite-class-extraction-sequence-1
-- INFO - ----- create-composite-class-net-from-property-1: 75/79 new triples (1073)
-- DEBUG - ----- (refinement) refine-cover-node-1: 12 new triples (1085)
-- DEBUG - ----- (refinement) refine-cover-node-2: 4 new triples (1089)
-- DEBUG - ----- create-composite-class-net-from-property-2: 0/0 new triples (1089)
-- DEBUG - ----- create-composite-class-net-from-property-3: 0/0 new triples (1089)
+- INFO - ----- create-composite-class-net-from-property-1: 87/91 new triples (1119)
+- DEBUG - ----- (refinement) refine-cover-node-1: 12 new triples (1131)
+- DEBUG - ----- (refinement) refine-cover-node-2: 4 new triples (1135)
+- DEBUG - ----- create-composite-class-net-from-property-2: 0/0 new triples (1135)
+- DEBUG - ----- create-composite-class-net-from-property-3: 0/0 new triples (1135)
 - INFO - --- Sequence: composite-class-extraction-sequence-2
-- DEBUG - ----- create-composite-class-net-from-phenomena-1: 0/0 new triples (1089)
-- DEBUG - ----- create-composite-class-net-from-phenomena-2: 0/0 new triples (1089)
-- DEBUG - ----- create-composite-class-net-from-phenomena-3: 0/0 new triples (1089)
-- DEBUG - ----- create-composite-class-net-from-phenomena-4: 0/0 new triples (1089)
+- DEBUG - ----- create-composite-class-net-from-phenomena-1: 0/0 new triples (1135)
+- DEBUG - ----- create-composite-class-net-from-phenomena-2: 0/0 new triples (1135)
+- DEBUG - ----- create-composite-class-net-from-phenomena-3: 0/0 new triples (1135)
+- DEBUG - ----- create-composite-class-net-from-phenomena-4: 0/0 new triples (1135)
 - INFO - --- Sequence: phenomena-application-sequence
-- DEBUG - ----- polarity-phenomena-application: 0/0 new triples (1089)
+- DEBUG - ----- polarity-phenomena-application: 0/0 new triples (1135)
 - INFO - --- Sequence: phenomena-checking-sequence
-- INFO - ----- expand-and-conjunction-phenomena-net: 1/6 new triples (1090)
-- DEBUG - ----- expand-degree-phenomena-net-1: 0/0 new triples (1090)
-- DEBUG - ----- expand-degree-phenomena-net-2: 0/0 new triples (1090)
-- DEBUG - ----- expand-degree-phenomena-net-3: 0/0 new triples (1090)
-- DEBUG - ----- expand-degree-phenomena-net-4: 0/0 new triples (1090)
-- DEBUG - ----- expand-degree-phenomena-net-5: 0/0 new triples (1090)
-- DEBUG - ----- expand-degree-phenomena-net-6: 0/0 new triples (1090)
+- INFO - ----- expand-and-conjunction-phenomena-net: 1/6 new triples (1136)
+- DEBUG - ----- expand-degree-phenomena-net-1: 0/0 new triples (1136)
+- DEBUG - ----- expand-degree-phenomena-net-2: 0/0 new triples (1136)
+- DEBUG - ----- expand-degree-phenomena-net-3: 0/0 new triples (1136)
+- DEBUG - ----- expand-degree-phenomena-net-4: 0/0 new triples (1136)
+- DEBUG - ----- expand-degree-phenomena-net-5: 0/0 new triples (1136)
+- DEBUG - ----- expand-degree-phenomena-net-6: 0/0 new triples (1136)
 - INFO - --- Sequence: composite-property-extraction-sequence
-- DEBUG - ----- create-composite-class-net-from-property-1: 0/0 new triples (1090)
-- DEBUG - ----- create-composite-class-net-from-property-2: 0/0 new triples (1090)
+- DEBUG - ----- create-composite-class-net-from-property-1: 0/0 new triples (1136)
+- DEBUG - ----- create-composite-class-net-from-property-2: 0/0 new triples (1136)
 - INFO - --- Sequence: composite-class-extraction-sequence-1
-- INFO - ----- create-composite-class-net-from-property-1: 94/173 new triples (1184)
-- DEBUG - ----- (refinement) refine-cover-node-1: 15 new triples (1199)
-- DEBUG - ----- (refinement) refine-cover-node-2: 5 new triples (1204)
-- DEBUG - ----- create-composite-class-net-from-property-2: 0/0 new triples (1204)
-- DEBUG - ----- create-composite-class-net-from-property-3: 0/0 new triples (1204)
+- INFO - ----- create-composite-class-net-from-property-1: 107/198 new triples (1243)
+- DEBUG - ----- (refinement) refine-cover-node-1: 15 new triples (1258)
+- DEBUG - ----- (refinement) refine-cover-node-2: 5 new triples (1263)
+- DEBUG - ----- create-composite-class-net-from-property-2: 0/0 new triples (1263)
+- DEBUG - ----- create-composite-class-net-from-property-3: 0/0 new triples (1263)
 - INFO - --- Sequence: composite-class-extraction-sequence-2
-- DEBUG - ----- create-composite-class-net-from-phenomena-1: 0/0 new triples (1204)
-- DEBUG - ----- create-composite-class-net-from-phenomena-2: 0/0 new triples (1204)
-- DEBUG - ----- create-composite-class-net-from-phenomena-3: 0/0 new triples (1204)
-- DEBUG - ----- create-composite-class-net-from-phenomena-4: 0/0 new triples (1204)
+- DEBUG - ----- create-composite-class-net-from-phenomena-1: 0/0 new triples (1263)
+- DEBUG - ----- create-composite-class-net-from-phenomena-2: 0/0 new triples (1263)
+- DEBUG - ----- create-composite-class-net-from-phenomena-3: 0/0 new triples (1263)
+- DEBUG - ----- create-composite-class-net-from-phenomena-4: 0/0 new triples (1263)
 - INFO - --- Sequence: restriction-adding-sequence
-- DEBUG - ----- add-restriction-to-class-net-from-property-1: 0/0 new triples (1204)
+- DEBUG - ----- add-restriction-to-class-net-from-property-1: 0/0 new triples (1263)
 - INFO - --- Sequence: classification-sequence
-- INFO - ----- classify-net-from-core-1: 12/12 new triples (1216)
-- INFO - ----- classify-net-from-core-2: 1/9 new triples (1217)
-- DEBUG - ----- classify-net-from-core-3: 0/0 new triples (1217)
-- DEBUG - ----- classify-net-from-part: 0/0 new triples (1217)
-- INFO - ----- classify-net-from-domain: 6/6 new triples (1223)
-- DEBUG - ----- classify-net-from-degree-phenomena-1: 0/0 new triples (1223)
-- DEBUG - ----- classify-net-from-degree-phenomena-2: 0/0 new triples (1223)
-- DEBUG - ----- classify-net-from-degree-phenomena-3: 0/0 new triples (1223)
-- INFO - ----- propagate-individual-1: 1/1 new triples (1224)
-- INFO - ----- propagate-individual-2: 6/6 new triples (1230)
-- DEBUG - ----- reclassify-deprecated-net: 0/0 new triples (1230)
+- INFO - ----- classify-net-from-core-1: 12/12 new triples (1275)
+- INFO - ----- classify-net-from-core-2: 1/9 new triples (1276)
+- DEBUG - ----- classify-net-from-core-3: 0/0 new triples (1276)
+- DEBUG - ----- classify-net-from-part: 0/0 new triples (1276)
+- INFO - ----- classify-net-from-domain: 6/6 new triples (1282)
+- DEBUG - ----- classify-net-from-degree-phenomena-1: 0/0 new triples (1282)
+- DEBUG - ----- classify-net-from-degree-phenomena-2: 0/0 new triples (1282)
+- DEBUG - ----- classify-net-from-degree-phenomena-3: 0/0 new triples (1282)
+- INFO - ----- propagate-individual-1: 1/1 new triples (1283)
+- INFO - ----- propagate-individual-2: 6/6 new triples (1289)
+- DEBUG - ----- reclassify-deprecated-net: 0/0 new triples (1289)
 - DEBUG - --- Serializing graph to SolarSystemDev1_transduction 
 - DEBUG - ----- step: transduction
 - DEBUG - ----- id: SolarSystemDev1
 - DEBUG - ----- work_file: ./output/SolarSystemDev1-20230110/SolarSystemDev1-1/SolarSystemDev1_transduction.ttl
 - DEBUG - ----- base: http://SolarSystemDev1/transduction
-- INFO - ----- 391 triples extracted during transduction step
+- INFO - ----- 450 triples extracted during transduction step
 - INFO - -- Applying extraction step: generation
 - INFO - --- Sequence: main-generation-sequence
-- INFO - ----- compute-uri-for-owl-declaration-1: 14/14 new triples (1244)
-- INFO - ----- compute-uri-for-owl-declaration-2: 1/1 new triples (1245)
-- DEBUG - ----- compute-uri-for-owl-declaration-3: 0/0 new triples (1245)
-- INFO - ----- compute-uri-for-owl-declaration-4: 6/6 new triples (1251)
-- INFO - ----- compute-uri-for-owl-declaration-5: 5/5 new triples (1256)
-- INFO - ----- generate-atom-class: 12/12 new triples (1268)
-- INFO - ----- classify-atom-class-1: 4/4 new triples (1272)
-- DEBUG - ----- classify-atom-class-2: 0/0 new triples (1272)
-- INFO - ----- generate-individual: 3/3 new triples (1275)
-- INFO - ----- classify-individual: 6/6 new triples (1281)
-- INFO - ----- generate-atom-property-1: 20/20 new triples (1301)
-- INFO - ----- generate-atom-property-12: 12/20 new triples (1313)
-- DEBUG - ----- generate-inverse-relation: 0/0 new triples (1313)
-- INFO - ----- generate-composite-class: 38/38 new triples (1351)
-- DEBUG - ----- add-restriction-to-class-1: 0/0 new triples (1351)
-- DEBUG - ----- add-restriction-to-class-2: 0/0 new triples (1351)
-- INFO - ----- add-restriction-to-class-3: 36/45 new triples (1387)
-- DEBUG - ----- add-restriction-to-class-4: 0/0 new triples (1387)
-- DEBUG - ----- add-restriction-to-class-5: 0/0 new triples (1387)
-- DEBUG - ----- add-restriction-to-class-6: 0/0 new triples (1387)
-- DEBUG - ----- generate-composite-property: 0/0 new triples (1387)
+- INFO - ----- compute-uri-for-owl-declaration-1: 14/14 new triples (1303)
+- INFO - ----- compute-uri-for-owl-declaration-2: 1/1 new triples (1304)
+- DEBUG - ----- compute-uri-for-owl-declaration-3: 0/0 new triples (1304)
+- INFO - ----- compute-uri-for-owl-declaration-4: 6/6 new triples (1310)
+- INFO - ----- compute-uri-for-owl-declaration-5: 5/5 new triples (1315)
+- INFO - ----- generate-atom-class: 12/12 new triples (1327)
+- INFO - ----- classify-atom-class-1: 4/4 new triples (1331)
+- DEBUG - ----- classify-atom-class-2: 0/0 new triples (1331)
+- INFO - ----- generate-individual: 3/3 new triples (1334)
+- INFO - ----- classify-individual: 6/6 new triples (1340)
+- INFO - ----- generate-atom-property-1: 20/20 new triples (1360)
+- INFO - ----- generate-atom-property-12: 12/20 new triples (1372)
+- DEBUG - ----- generate-inverse-relation: 0/0 new triples (1372)
+- INFO - ----- generate-composite-class: 38/38 new triples (1410)
+- DEBUG - ----- add-restriction-to-class-1: 0/0 new triples (1410)
+- DEBUG - ----- add-restriction-to-class-2: 0/0 new triples (1410)
+- INFO - ----- add-restriction-to-class-3: 36/45 new triples (1446)
+- DEBUG - ----- add-restriction-to-class-4: 0/0 new triples (1446)
+- DEBUG - ----- add-restriction-to-class-5: 0/0 new triples (1446)
+- DEBUG - ----- add-restriction-to-class-6: 0/0 new triples (1446)
+- DEBUG - ----- generate-composite-property: 0/0 new triples (1446)
 - DEBUG - --- Serializing graph to SolarSystemDev1_generation 
 - DEBUG - ----- step: generation
 - DEBUG - ----- id: SolarSystemDev1
@@ -222,8 +222,8 @@
 - INFO - 
   *** Execution Time *** 
 ----- Function: apply (lib.tenet_extraction)
------ Total Time: 0:00:16.711447
------ Process Time: 0:00:16.653343
+----- Total Time: 0:00:22.014350
+----- Process Time: 0:00:21.471567
   *** - *** 
 - INFO -  === Final Ontology Generation  === 
 - INFO - -- Making complete factoid graph by merging sentence factoid graphs
-- 
GitLab