diff --git a/config/transduction-schemes.ttl b/config/transduction-schemes.ttl
index faa0e2bbf1634244535513bd84a770ca01d54e78..5249022d64fc93086de11905f681194d80f4fb97 100644
--- a/config/transduction-schemes.ttl
+++ b/config/transduction-schemes.ttl
@@ -621,6 +621,7 @@ cts:batch_execution
   sh:rule cts:instantiate-classlist-by-extension-2 ;
   sh:rule cts:instantiate-entity-net ;
   sh:rule cts:link-to-scope-entry ;
+  sh:rule cts:specify-objectProperty-domain-or-range ;
   sh:rule cts:typify-modlist-entity ;
   sh:rule cts:typify-modlist-feature ;
 .
@@ -1663,6 +1664,12 @@ cts:net_extension
   rdfs:label "net extension" ;
   rdfs:subClassOf cts:Transduction_Schemes ;
 .
+cts:postprocessing
+  rdf:type owl:Class ;
+  rdf:type sh:NodeShape ;
+  rdfs:subClassOf cts:Transduction_Schemes ;
+  sh:rule cts:specify-objectProperty-domain-or-range ;
+.
 cts:preprocessing
   rdf:type owl:Class ;
   rdf:type sh:NodeShape ;
@@ -1672,6 +1679,40 @@ cts:preprocessing
   sh:rule cts:define-uw-id ;
   sh:rule cts:link-to-scope-entry ;
 .
+cts:specify-objectProperty-domain-or-range
+  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#>
+
+CONSTRUCT{
+	?prop ?domainOrRange ?classNew .
+	?prop sys:from_structure ?sentence .
+	?prop ?keepDomainOrRange ?classNew .
+	?prop ?delDomainOrRange ?classInit .
+}
+WHERE {
+{BIND(rdfs:domain AS ?domainOrRange)}
+UNION
+{BIND(rdfs:range AS ?domainOrRange)}
+?domainOrRange rdfs:label ?domainOrRangeLabel .
+BIND (URI(CONCAT('keep_',?domainOrRangeLabel)) AS ?keepDomainOrRange)
+BIND (URI(CONCAT('del_',?domainOrRangeLabel)) AS ?delDomainOrRange)
+?prop rdfs:subPropertyOf+  sys:eventObjectProperty ;
+	?domainOrRange ?classInit .
+?inst a ?classInit , ?classNew ; sys:from_structure ?sentence .
+?classNew rdfs:subClassOf* ?classInit .
+FILTER ((NOT EXISTS {?classUnder rdfs:subClassOf ?classNew}) || (NOT EXISTS {?classUnder rdfs:subClassOf ?classNew. ?inst a ?classUnder}))
+}""" ;
+  sh:order 999.1 ;
+.
 cts:state_property_extraction
   rdf:type owl:Class ;
   rdf:type sh:NodeShape ;