diff --git a/config/semantic-net.ttl b/config/semantic-net.ttl
index 4f0439dae919a7a87f01899245bbfcbe0c8cc45d..212173ed38568e920d1f3f9def6922c91ea9e651 100644
--- a/config/semantic-net.ttl
+++ b/config/semantic-net.ttl
@@ -70,6 +70,11 @@ net:entityClass
   rdfs:label "entity class" ;
   rdfs:subPropertyOf net:value ;
 .
+net:entityInstance
+  rdf:type rdf:Property ;
+  rdfs:label "entity instance" ;
+  rdfs:subPropertyOf net:value ;
+.
 net:entity_class_list
   rdf:type owl:Class ;
   rdfs:label "entityClassList" ;
diff --git a/config/transduction-schemes.ttl b/config/transduction-schemes.ttl
index b4656373a34c5acbcf7d711b182267eadbcb7336..b28c4bf5657c35f2b0f27490d48aa9bd82afe80f 100644
--- a/config/transduction-schemes.ttl
+++ b/config/transduction-schemes.ttl
@@ -24,6 +24,67 @@ cts:Transduction_Schemes
   rdfs:label "Transduction Schemes" ;
   rdfs:subClassOf owl:Thing ;
 .
+cts:add-conjunctive-entity-classes
+  rdf:type sh:SPARQLRule ;
+  rdfs:label "add-conjunctive-entity-classes" ;
+  sh:construct """PREFIX owl: <http://www.w3.org/2002/07/owl#>
+PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
+PREFIX unl: <https://unl.tetras-libre.fr/rdf/schema#>
+PREFIX net: <https://unsel.tetras-libre.fr/tenet/semantic-net#>
+PREFIX cprm: <https://unsel.tetras-libre.fr/tenet/config/parameters#>
+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
+CONSTRUCT { 
+   ?subEntity23Uri rdfs:subClassOf ?mainEntityUri.
+   ?subEntity23Uri rdfs:label ?subEntity23.
+   ?subEntity23Uri  
+		owl:equivalentClass [	a owl:Class ;
+                                owl:intersectionOf ( ?subEntity2Uri ?subEntity3Uri ) ] .
+}
+WHERE {
+   # net1: entity class list
+   ?net1 a net:Instance.
+   ?net1 net:type net:entity_class_list.
+   ?net1 net:entityClass ?entityClass.
+   ?net1 net:node ?uw2.
+   ?net1 net:node ?uw3.
+   ?net1 net:class1 ?mainEntity.		
+   ?net1 net:class2 ?subEntity2.	
+   ?net1 net:class2 ?subEntity3.		
+   # extension: disjunction of UW
+   ?uw2 unl:and ?uw3.
+   # Label(s) / URI
+   ?uw2 rdfs:label ?uw2Label.
+   ?uw3 rdfs:label ?uw3Label.
+   BIND (strbefore(?uw2Label, '(') AS ?concept2)
+   BIND (strbefore(?uw3Label, '(') AS ?concept3)
+   BIND (concat(?concept2, '-or-', ?concept3) AS ?concept23)
+   FILTER ( STRSTARTS(?subEntity2, ?concept2) ).
+   FILTER ( STRSTARTS(?subEntity3, ?concept3) ).
+   # -- old --- BIND (concat(?concept2, '_', ?mainEntity) AS ?subEntity2).
+   # -- old --- BIND (concat(?concept3, '_', ?mainEntity) AS ?subEntity3).
+   BIND (concat(?concept23, '_', ?mainEntity) AS ?subEntity23).
+   cprm:Config_Parameters cprm:baseURI ?baseURI.
+   fprm:System_Ontology fprm:frameURI ?frameURI.
+   BIND (concat( ?frameURI, ?entityClass) AS ?s1).
+   BIND (concat(?s1, '_', ?mainEntity) AS ?s2).
+   BIND (concat(?s1, '_', ?subEntity2) AS ?s3).
+   BIND (concat(?s1, '_', ?subEntity3) AS ?s4).
+   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).
+  # --old --- FILTER NOT EXISTS  { ?net2 net:class2 ?mainEntity }.
+  # --old --- FILTER NOT EXISTS  { ?subEntity23Uri owl:equivalentClass ?c }.
+}""" ;
+  sh:order "204"^^xsd:decimal ;
+.
 cts:add-disjunctive-entity-classes
   rdf:type sh:SPARQLRule ;
   rdfs:label "add-disjunctive-entity-classes" ;
@@ -315,7 +376,7 @@ WHERE {
    BIND (concat(?s1, ?mainEntity, '-', ?concept2) AS ?s2).
    BIND (uri(?s2) AS ?newNet).
 }""" ;
-  sh:order "106"^^xsd:decimal ;
+  sh:order "121"^^xsd:decimal ;
 .
 cts:compose-entity-modlist-2
   rdf:type sh:SPARQLRule ;
@@ -384,7 +445,7 @@ WHERE {
    BIND (concat(?s1, ?mainEntity, '-', ?subEntity2) AS ?s2).
    BIND (uri(?s2) AS ?newNet).
 }""" ;
-  sh:order "107"^^xsd:decimal ;
+  sh:order "122"^^xsd:decimal ;
 .
 cts:compose-entity-modlist-3
   rdf:type sh:SPARQLRule ;
@@ -450,7 +511,7 @@ WHERE {
    BIND (concat(?s1, ?mainEntity, '-', ?subEntity2) AS ?s2).
    BIND (uri(?s2) AS ?newNet).
 }""" ;
-  sh:order "108"^^xsd:decimal ;
+  sh:order "123"^^xsd:decimal ;
 .
 cts:create-entity-net
   rdf:type sh:SPARQLRule ;
@@ -513,6 +574,7 @@ cts:entity_extraction
   sh:rule cts:create-entity-net ;
   sh:rule cts:extend-mod-list ;
   sh:rule cts:init-mod-list ;
+  sh:rule cts:instantiate-entity-net ;
   sh:rule cts:typify-modlist-entity ;
   sh:rule cts:typify-modlist-feature ;
 .
@@ -593,9 +655,9 @@ WHERE {
    # extension: disjunction of UW
    ?uw1 (unl:or|unl:and) ?uw2.
    # UW: type UW-Occurrence and substructure of req sentence
-   ?uw1 rdf:type unl:UW_Occurrence.
+   # -- old --- ?uw1 rdf:type unl:UW_Occurrence.
+   # -- old --- ?uw1 unl:is_substructure_of ?req.
    ?uw2 rdf:type unl:UW_Occurrence.
-   ?uw1 unl:is_substructure_of ?req.
    ?uw2 unl:is_substructure_of ?req.
    # Label(s) / URI
    ?uw1 rdfs:label ?uw1Label.
@@ -603,15 +665,15 @@ WHERE {
    BIND (strbefore(?uw1Label, '(') AS ?concept1)
    BIND (strbefore(?uw2Label, '(') AS ?concept2)
 }""" ;
-  sh:order "103"^^xsd:decimal ;
+  sh:order "112"^^xsd:decimal ;
 .
 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-disjunctive-entity-classes-2--old ;
   sh:rule cts:add-entity-classes ;
   sh:rule cts:add-list-of-entity-classes ;
 .
@@ -656,6 +718,44 @@ WHERE {
    BIND (concat( ?netURI, ?modListLabel, '_') AS ?s1).
    BIND (concat(?s1, ?concept1) AS ?s2).
    BIND (uri(?s2) AS ?semNet).
+}""" ;
+  sh:order "111"^^xsd:decimal ;
+.
+cts:instantiate-entity-net
+  rdf:type sh:SPARQLRule ;
+  sh:construct """PREFIX owl: <http://www.w3.org/2002/07/owl#>
+PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
+PREFIX unl: <https://unl.tetras-libre.fr/rdf/schema#>
+PREFIX net: <https://unsel.tetras-libre.fr/tenet/semantic-net#>
+PREFIX cprm: <https://unsel.tetras-libre.fr/tenet/config/parameters#>
+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#>
+    
+# -- Create Entity net
+CONSTRUCT { 
+   ?net1 net:entityInstance ?instanceName. 
+}
+WHERE {
+   # net1: entity
+   ?net1 a net:Instance.
+   ?net1 net:type net:entity.
+   ?net1 net:node ?uw1.
+   ?net1 net:entityClass ?entityClass1.
+   ?net1 net:concept ?concept1. 
+   # condition: agt/obj(uw0, uw1)
+   ?uw0 (unl:agt | unl:obj) ?uw1.
+   # UW: type UW-Occurrence and substructure of req sentence
+   ?uw0 rdf:type unl:UW_Occurrence.
+   ?uw0 unl:is_substructure_of ?req.
+   # -- old ---- ?uw1 rdf:type unl:UW_Occurrence.
+   # -- old ---- ?uw1 unl:is_substructure_of ?req.
+   # -- old ---- ?uw1 unl:is_occurrence_of ?lexTrg.
+   # Label(s) / URI
+   BIND (concat( ?entityClass1, '_', ?concept1) AS ?s1).
+   BIND (concat(?s1, '_instance') AS ?instanceName).
 }""" ;
   sh:order "102"^^xsd:decimal ;
 .
@@ -764,7 +864,7 @@ WHERE {
    # Filter
    FILTER ( regex(str(?uw1Label),str(?entityRestriction)) ).
 }""" ;
-  sh:order "104"^^xsd:decimal ;
+  sh:order "113"^^xsd:decimal ;
 .
 cts:typify-modlist-feature
   rdf:type sh:SPARQLRule ;
@@ -802,5 +902,5 @@ WHERE {
    # Filter
    FILTER ( regex(str(?uw1Label),str(?featureRestriction))  ).
 }""" ;
-  sh:order "105"^^xsd:decimal ;
+  sh:order "114"^^xsd:decimal ;
 .