diff --git a/config/transduction-schemes.ttl b/config/transduction-schemes.ttl
index 8e189bca203c3dc7bd8850a1ee57d3fa11f58bbe..334cb8cf21bbfafefd4d7c8bcee37c45375497f2 100644
--- a/config/transduction-schemes.ttl
+++ b/config/transduction-schemes.ttl
@@ -30,7 +30,7 @@ cts:abstraction_extraction
   rdfs:label "abstraction extension" ;
   rdfs:subClassOf cts:net_extension ;
 .
-cts:add-conjunctive-entity-classes
+cts:add-conjunctive-classes-from-list-net
   rdf:type sh:SPARQLRule ;
   rdfs:label "add-conjunctive-entity-classes" ;
   sh:construct """PREFIX owl: <http://www.w3.org/2002/07/owl#>
@@ -44,63 +44,51 @@ PREFIX req: <https://unsel.tetras-libre.fr/tenet/frame/requirement-ontology#>
 PREFIX sys: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology/>
 PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#>
     
-# -- Add Disjunctive Entity classes in System Ontology
+# -- Add disjunctive classes in Ontology
 CONSTRUCT { 
    # Classification
-   ?subEntity23Uri rdfs:subClassOf ?mainEntityUri.
-   ?subEntity23Uri rdfs:label ?subEntity23.
-   ?subEntity23Uri sys:from_structure ?req.
-   ?subEntity23Uri  
+   ?newClassUri rdfs:subClassOf ?parentUri.
+   ?newClassUri rdfs:label ?newClassLabel.
+   ?newClassUri sys:from_structure ?req.
+   ?newClassUri  
 		owl:equivalentClass [	a owl:Class ;
-                                owl:intersectionOf ( ?subEntity2Uri ?subEntity3Uri ) ] .
+                                owl:intersectionOf ( ?item1Uri ?item2Uri ) ] .
    # Instantiation (extension)
-   ?mainInstanceUri rdf:type ?subEntity23Uri.
+   ?instanceUri rdf:type ?newClassUri.
 }
 WHERE {
    # net1: Composite List
    ?net1 a net:Instance.
    ?net1 net:type net:list.
    ?net1 net:listOf net:composite.
-   # -- old --- ?net1 net:type net:entity_class_list.
    ?net1 net:has_structure ?req.
-   # -- old --- ?net1 net:entityClass ?entityClass.
-   ?net1 net:has_node ?uw2, ?uw3.
+   ?net1 net:has_node ?uw1, ?uw2.
    ?net1 net:has_parent ?parentObject.	
-   ?parentObject net:has_parent_class ?parentClass. # -- old --- ?entityClass
-   ?parentObject net:has_concept ?mainEntity.
-   ?net1 net:has_item ?subEntityObject2, ?subEntityObject3.	
-   ?subEntityObject2 net:concept ?subEntity2.
-   ?subEntityObject2 net:has_node ?uw2.
-   ?subEntityObject3 net:has_concept ?subEntity3.
-   ?subEntityObject3 net:has_node ?uw3.
-   ?subEntityObject3 net:has_instance ?mainInstance.	
+   ?parentObject net:has_class_uri ?parentUri.
+   ?parentObject net:has_instance_uri ?instanceUri.	
+   ?parentObject net:has_concept ?parentConcept.
+   ?net1 net:has_item ?itemObject1, ?itemObject2.	
+   ?itemObject1 net:has_class_uri ?item1Uri.
+   ?itemObject1 net:has_node ?uw1.
+   ?itemObject2 net:has_class_uri ?item2Uri.
+   ?itemObject2 net:has_node ?uw2.
    # extension: disjunction of UW
-   ?uw2 unl:and ?uw3.
+   ?uw1 unl:and ?uw2.
    # Label(s) / URI (for classes)
+   ?uw1 rdfs:label ?uw1Label.
    ?uw2 rdfs:label ?uw2Label.
-   ?uw3 rdfs:label ?uw3Label.
+   BIND (strbefore(?uw1Label, '(') AS ?concept1)
    BIND (strbefore(?uw2Label, '(') AS ?concept2)
-   BIND (strbefore(?uw3Label, '(') AS ?concept3)
-   BIND (concat(?concept2, '-or-', ?concept3) AS ?concept23)
-   BIND (concat(?concept23, '_', ?mainEntity) AS ?subEntity23).
+   BIND (concat(?concept1, '-or-', ?concept2) AS ?disjunctiveConcept)
+   BIND (concat(?disjunctiveConcept, '_', ?parentConcept) AS ?newClassLabel).
    # URI (for classes)
    sys:Structure sys:has_frame_uri ?frameURI.
-   BIND (concat( ?frameURI, ?parentClass) AS ?s1). # -- old --- BIND (concat( ?frameURI, ?parentClass) AS ?s1).
-   BIND (concat(?frameURI, ?mainEntity) AS ?s2). # -- old --- BIND (concat(?s1, '#', ?mainEntity) AS ?s2).
-   BIND (concat(?frameURI, ?subEntity2) AS ?s3). # -- old --- BIND (concat(?s1, '#', ?subEntity2) AS ?s3).
-   BIND (concat(?frameURI, ?subEntity3) AS ?s4). # -- old --- BIND (concat(?s1, '#', ?subEntity3) AS ?s4).
-   BIND (concat(?frameURI, ?subEntity23) AS ?s5). # -- old --- BIND (concat(?s1, '#', ?subEntity23) AS ?s5).
-   BIND (uri(?s2) AS ?mainEntityUri).
-   BIND (uri(?s3) AS ?subEntity2Uri).
-   BIND (uri(?s4) AS ?subEntity3Uri).
-   BIND (uri(?s5) AS ?subEntity23Uri).
-   # URI (for instance)
-   BIND (concat(?s1, '#', ?mainInstance) AS ?s6).
-   BIND (uri(?s6) AS ?mainInstanceUri).
+   BIND (concat(?frameURI, ?newClassLabel) AS ?s5).
+   BIND (uri(?s5) AS ?newClassUri).
 }""" ;
-  sh:order 3.4 ;
+  sh:order 3.23 ;
 .
-cts:add-disjunctive-entity-classes
+cts:add-disjunctive-classes-from-list-net
   rdf:type sh:SPARQLRule ;
   rdfs:label "add-disjunctive-entity-classes" ;
   sh:construct """PREFIX owl: <http://www.w3.org/2002/07/owl#>
@@ -114,61 +102,49 @@ PREFIX req: <https://unsel.tetras-libre.fr/tenet/frame/requirement-ontology#>
 PREFIX sys: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology/>
 PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#>
     
-# -- Add Disjunctive Entity classes in System Ontology
+# -- Add disjunctive classes in Ontology
 CONSTRUCT { 
    # Classification
-   ?subEntity23Uri rdfs:subClassOf ?mainEntityUri.
-   ?subEntity23Uri rdfs:label ?subEntity23.
-   ?subEntity23Uri sys:from_structure ?req.
-   ?subEntity23Uri  
+   ?newClassUri rdfs:subClassOf ?parentUri.
+   ?newClassUri rdfs:label ?newClassLabel.
+   ?newClassUri sys:from_structure ?req.
+   ?newClassUri  
 		owl:equivalentClass [	a owl:Class ;
-                                owl:unionOf ( ?subEntity2Uri ?subEntity3Uri ) ] .
+                                owl:unionOf ( ?item1Uri ?item2Uri ) ] .
    # Instantiation (extension)
-   ?mainInstanceUri rdf:type ?subEntity23Uri.
+   ?instanceUri rdf:type ?newClassUri.
 }
 WHERE {
    # net1: Composite List
    ?net1 a net:Instance.
    ?net1 net:type net:list.
    ?net1 net:listOf net:composite.
-   # -- old --- ?net1 net:type net:entity_class_list.
    ?net1 net:has_structure ?req.
-   # -- old --- ?net1 net:entityClass ?entityClass.
-   ?net1 net:has_node ?uw2, ?uw3.
+   ?net1 net:has_node ?uw1, ?uw2.
    ?net1 net:has_parent ?parentObject.	
-   ?parentObject net:has_parent_class ?parentClass. # -- old --- ?entityClass
-   ?parentObject net:has_concept ?mainEntity.
-   ?net1 net:has_item ?subEntityObject2, ?subEntityObject3.	
-   ?subEntityObject2 net:has_concept ?subEntity2.
-   ?subEntityObject2 net:has_node ?uw2.
-   ?subEntityObject3 net:has_concept ?subEntity3.
-   ?subEntityObject3 net:has_node ?uw3.	
-   ?subEntityObject3 net:has_instance ?mainInstance.	
+   ?parentObject net:has_class_uri ?parentUri.
+   ?parentObject net:has_instance_uri ?instanceUri.	
+   ?parentObject net:has_concept ?parentConcept.
+   ?net1 net:has_item ?itemObject1, ?itemObject2.	
+   ?itemObject1 net:has_class_uri ?item1Uri.
+   ?itemObject1 net:has_node ?uw1.
+   ?itemObject2 net:has_class_uri ?item2Uri.
+   ?itemObject2 net:has_node ?uw2.
    # extension: disjunction of UW
-   ?uw2 unl:or ?uw3.
+   ?uw1 unl:or ?uw2.
    # Label(s) / URI (for classes)
+   ?uw1 rdfs:label ?uw1Label.
    ?uw2 rdfs:label ?uw2Label.
-   ?uw3 rdfs:label ?uw3Label.
+   BIND (strbefore(?uw1Label, '(') AS ?concept1)
    BIND (strbefore(?uw2Label, '(') AS ?concept2)
-   BIND (strbefore(?uw3Label, '(') AS ?concept3)
-   BIND (concat(?concept2, '-or-', ?concept3) AS ?concept23)
-   BIND (concat(?concept23, '_', ?mainEntity) AS ?subEntity23).
+   BIND (concat(?concept1, '-or-', ?concept2) AS ?disjunctiveConcept)
+   BIND (concat(?disjunctiveConcept, '_', ?parentConcept) AS ?newClassLabel).
    # URI (for classes)
    sys:Structure sys:has_frame_uri ?frameURI.
-   BIND (concat( ?frameURI, ?parentClass) AS ?s1). # -- old --- BIND (concat( ?frameURI, ?parentClass) AS ?s1).
-   BIND (concat(?frameURI, ?mainEntity) AS ?s2). # -- old --- BIND (concat(?s1, '#', ?mainEntity) AS ?s2).
-   BIND (concat(?frameURI, ?subEntity2) AS ?s3). # -- old --- BIND (concat(?s1, '#', ?subEntity2) AS ?s3).
-   BIND (concat(?frameURI, ?subEntity3) AS ?s4). # -- old --- BIND (concat(?s1, '#', ?subEntity3) AS ?s4).
-   BIND (concat(?frameURI, ?subEntity23) AS ?s5). # -- old --- BIND (concat(?s1, '#', ?subEntity23) AS ?s5).
-   BIND (uri(?s2) AS ?mainEntityUri).
-   BIND (uri(?s3) AS ?subEntity2Uri).
-   BIND (uri(?s4) AS ?subEntity3Uri).
-   BIND (uri(?s5) AS ?subEntity23Uri).
-   # URI (for instance)
-   BIND (concat(?s1, '#', ?mainInstance) AS ?s6).
-   BIND (uri(?s6) AS ?mainInstanceUri).
+   BIND (concat(?frameURI, ?newClassLabel) AS ?s5).
+   BIND (uri(?s5) AS ?newClassUri).
 }""" ;
-  sh:order 3.4 ;
+  sh:order 3.23 ;
 .
 cts:add-event
   rdf:type sh:SPARQLRule ;
@@ -317,8 +293,8 @@ cts:batch_execution
   rdf:type sh:NodeShape ;
   rdfs:label "batch execution" ;
   rdfs:subClassOf cts:Transduction_Schemes ;
-  sh:rule cts:add-conjunctive-entity-classes ;
-  sh:rule cts:add-disjunctive-entity-classes ;
+  sh:rule cts:add-conjunctive-classes-from-list-net ;
+  sh:rule cts:add-disjunctive-classes-from-list-net ;
   sh:rule cts:add-event ;
   sh:rule cts:add-state-property ;
   sh:rule cts:bypass-reification ;
@@ -387,25 +363,26 @@ PREFIX req: <https://unsel.tetras-libre.fr/tenet/frame/requirement-ontology#>
 PREFIX sys: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology/>
 PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#>
     
-# -- Complement Entity classes with feature relation
+# -- Complement composite classes with feature relation
 CONSTRUCT { 
    # Complement with feature relation
-   ?subEntityUri sys:has_feature ?featureUri.
+   ?compositeClassUri sys:has_feature ?featureUri.
 }
 WHERE {
-   # net1: entity class list
+   # net1: Composite List
    ?net1 a net:Instance.
    ?net1 net:type net:list.
    ?net1 net:listOf net:composite.
-   # -- old --- ?net1 net:has_parent ?parentObject. 
-   # -- old --- ?parentObject net:has_parent_class ?parentClass. # -- old --- ?entityClass
+   # -- Item
    ?net1 net:has_item ?itemObject.	
-   ?itemObject net:has_class_uri ?subEntityUri.	
-   # -- old --- ?itemObject net:has_concept ?subEntity.	
+   ?itemObject net:has_class_uri ?compositeClassUri.	
    ?itemObject net:has_feature ?featureObject.	
-   # object: feature
+   # -- Feature
    ?featureObject a net:Object.
    ?featureObject net:has_class_uri ?featureUri.	
+   # -- old --- ?itemObject net:has_concept ?subEntity.	
+   # -- old --- ?net1 net:has_parent ?parentObject. 
+   # -- old --- ?parentObject net:has_parent_class ?parentClass. # -- old --- ?entityClass
    # -- old --- ?featureObject net:objectType sys:Feature.
    # -- old --- ?featureObject net:has_node ?featureUW.
    # -- old --- ?featureObject net:has_parent_class ?featureClass.
@@ -420,7 +397,7 @@ WHERE {
    # -- old ---  BIND (concat(?frameURI, ?featureConcept) AS ?f2).
    # -- old ---  BIND (uri(?f2) AS ?featureUri).
 }""" ;
-  sh:order 3.3 ;
+  sh:order 3.22 ;
 .
 cts:compose-agt-verb-obj-as-simple-event
   rdf:type sh:SPARQLRule ;
@@ -807,7 +784,7 @@ WHERE {
    BIND (concat(?o1, '#', ?verbConcept) AS ?o2).
    BIND (uri( ?o2) AS ?newEventObjectPropertyUri).
 }""" ;
-  sh:order 3.5 ;
+  sh:order 3.3 ;
 .
 cts:compute-domain-range-of-state-property-object-properties
   rdf:type sh:SPARQLRule ;
@@ -865,7 +842,7 @@ WHERE {
    BIND (concat(?o1, '#', ?verbConcept) AS ?o2).
    BIND (uri( ?o2) AS ?objectPropertyUri).
 }""" ;
-  sh:order 3.5 ;
+  sh:order 3.3 ;
 .
 cts:compute-instance-uri-of-net-object
   rdf:type sh:SPARQLRule ;
@@ -1215,9 +1192,9 @@ WHERE {
    ?net1 net:has_structure ?req.
    ?net1 net:has_parent ?parentObject.
    ?parentObject net:has_class_uri ?parentUri.
+   ?parentObject net:has_instance_uri ?instanceUri.	
    ?net1 net:has_item ?compositeObject.	
    ?compositeObject net:has_class_uri ?newClassUri.		
-   ?compositeObject net:has_instance_uri ?instanceUri.	
    ?compositeObject net:has_concept ?compositeConcept.
    # -- old --- ?parentObject net:has_mother_class ?motherClass.
    # -- old --- ?parentObject net:has_parent_class ?parentClass.
@@ -1235,15 +1212,15 @@ WHERE {
    # -- old --- BIND (concat(?s1, '#', ?compositeInstance) AS ?s4).
    # -- old --- BIND (uri(?s4) AS ?instanceUri).
 }""" ;
-  sh:order 3.2 ;
+  sh:order 3.21 ;
 .
 cts:generation
   rdf:type owl:Class ;
   rdf:type sh:NodeShape ;
   rdfs:label "generation" ;
   rdfs:subClassOf cts:Transduction_Schemes ;
-  sh:rule cts:add-conjunctive-entity-classes ;
-  sh:rule cts:add-disjunctive-entity-classes ;
+  sh:rule cts:add-conjunctive-classes-from-list-net ;
+  sh:rule cts:add-disjunctive-classes-from-list-net ;
   sh:rule cts:add-event ;
   sh:rule cts:add-state-property ;
   sh:rule cts:complement-composite-class ;
diff --git a/prepare_work_data.py b/prepare_work_data.py
index accfa610b9c6c55229f830946d340d9c645c4b84..6067b28897458ccdf8f23787f05198e036b48f47 100644
--- a/prepare_work_data.py
+++ b/prepare_work_data.py
@@ -206,7 +206,7 @@ if __name__ == '__main__':
     #target_ref = "environment"
     #run(req_100, 'R100b', target_ref) 
     #run(req_200, 'R200b', target_ref)
-    run(req_300, 'R300b', target_ref) 
+    run(req_300, 'R300c', target_ref) 
     run(corpus_40, 'Corpus-CCTP-40a', target_ref)
     #run(corpus_ERTMS, 'Corpus-ERTMS', target_ref)
     #run(corpus_PEV, 'Corpus-PEV', target_ref)