diff --git a/.gitignore b/.gitignore
index deab304750ddd38f617d7f3aada829018cab56e0..e0eaa0719118445a91173f91b830b1614142f543 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,4 @@ corpus/ERTMS*
 .project
 *.ttl.tbc
 output*.ttl
+output/*
diff --git a/frame/system-ontology.ttl b/frame/system-ontology.ttl
index 730140b07103088695196379c9c7991f92e32960..bca6b443002a0a54e4ad60d00f61804013b84899 100644
--- a/frame/system-ontology.ttl
+++ b/frame/system-ontology.ttl
@@ -43,8 +43,18 @@ sys:Feature
   rdfs:label "caractéristique"@fr ;
   rdfs:label "feature"@en ;
   rdfs:subClassOf sys:Structure ;
+  sys:has_mother_class sys:Feature ;
+  sys:has_restriction "icl>how" ;
   sys:is_class "Feature" ;
 .
+sys:Information
+  rdf:type owl:Class ;
+  rdfs:label "Information" ;
+  rdfs:subClassOf sys:Structure ;
+  sys:has_mother_class sys:Information ;
+  sys:has_restriction "icl>state" ;
+  sys:is_class "Information" ;
+.
 sys:State_Property
   rdf:type owl:Class ;
   rdfs:label "Propriété d'état"@fr ;
@@ -68,6 +78,7 @@ sys:abstract_thing
   rdfs:subClassOf sys:Abstraction ;
   sys:has_mother_class sys:Abstraction ;
   sys:has_restriction "icl>abstract_thing" ;
+  sys:has_restriction "icl>rate" ;
   sys:is_class "abstract_thing" ;
 .
 sys:action_verb
@@ -97,6 +108,14 @@ sys:attributive_verb
   sys:has_restriction "icl>be" ;
   sys:is_class "attributive_verb" ;
 .
+sys:change_of_state
+  rdf:type owl:Class ;
+  rdfs:label "change of state" ;
+  rdfs:subClassOf sys:Information ;
+  sys:has_mother_class sys:Information ;
+  sys:has_restriction "icl>change_of_state" ;
+  sys:is_class "sys:change_of_state" ;
+.
 sys:classProperty
   rdf:type rdf:Property ;
   rdfs:label "System Property" ;
@@ -211,7 +230,10 @@ sys:place
   rdfs:subClassOf sys:Feature ;
   sys:has_mother_class sys:Feature ;
   sys:has_restriction "icl>air_base_installation" ;
+  sys:has_restriction "icl>formation" ;
   sys:has_restriction "icl>place" ;
+  sys:has_restriction "icl>public_transport" ;
+  sys:has_restriction "trackside" ;
   sys:is_class "place" ;
 .
 sys:seedProperty
diff --git a/prepare_work_data.py b/prepare_work_data.py
index 0a3af744e7d3c1643425c48ec4f0842fb9a0551b..f7cbb277d4298b02e69d3c6a8d7c8c8ee21b2210 100644
--- a/prepare_work_data.py
+++ b/prepare_work_data.py
@@ -202,9 +202,9 @@ def run(corpus, output_ref, output_file):
 if __name__ == '__main__':
     #run(req_100, 'R100', 'output100.ttl') 
     #run(req_200, 'R200', 'output200.ttl')
-    run(req_300, 'R300b', 'output300b.ttl') 
-    run(corpus_40, 'Corpus-CCTP-40c', 'outputCCTP40c.ttl')
-    #run(corpus_ERTMS, 'Corpus-ERTMS', 'outputERTMS.ttl')
+    #run(req_300, 'R300b', 'output300b.ttl') 
+    #run(corpus_40, 'Corpus-CCTP-40c', 'outputCCTP40c.ttl')
+    run(corpus_ERTMS, 'Corpus-ERTMSb', 'outputERTMSb.ttl')