diff --git a/.gitignore b/.gitignore
index a261b1cd43d4de8708d1da8f21263502da2613fd..eed1a371265579e38f62fa32c105defeca9ac683 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,4 @@ corpus/PEV*
 *.ttl.tbc
 output*.ttl
 output/*
+tenet-env/*
diff --git a/corpus/Railway/Railway-01_0/Railway-01_0.png b/corpus/Railway/Railway-01_0/Railway-01_0.png
new file mode 100644
index 0000000000000000000000000000000000000000..4024e32b0fe99ae319f2cba2864779a79e9c89ce
Binary files /dev/null and b/corpus/Railway/Railway-01_0/Railway-01_0.png differ
diff --git a/corpus/Railway/Railway-01_0/Railway-01_0.svg b/corpus/Railway/Railway-01_0/Railway-01_0.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8cd03dab72f78cc41989a334a7a473ca8ac79ae7
--- /dev/null
+++ b/corpus/Railway/Railway-01_0/Railway-01_0.svg
@@ -0,0 +1,121 @@
+<svg width="597pt" height="487pt"
+ viewBox="0.00 0.00 597.00 487.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 483)">
+<title>G</title>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-483 593,-483 593,4 -4,4"/>
+<!-- 1 -->
+<g id="node1" class="node">
+<title>1</title>
+<polygon fill="none" stroke="#000000" points="509.5,-479 138.5,-479 138.5,-441 509.5,-441 509.5,-479"/>
+<text text-anchor="middle" x="324" y="-463.8" font-family="courb" font-size="14.00" fill="#000000">great(com&gt;importance,equ&gt;outstanding,icl&gt;adj)</text>
+<text text-anchor="middle" x="324" y="-448.8" font-family="courb" font-size="14.00" fill="#000000">.@entry.@present.@promise</text>
+</g>
+<!-- 2 -->
+<g id="node2" class="node">
+<title>2</title>
+<polygon fill="none" stroke="#000000" points="277,-390 27,-390 27,-352 277,-352 277,-390"/>
+<text text-anchor="middle" x="152" y="-374.8" font-family="Times,serif" font-size="14.00" fill="#000000">distance(icl&gt;spacing(icl&gt;thing))</text>
+<text text-anchor="middle" x="152" y="-359.8" font-family="Times,serif" font-size="14.00" fill="#000000">.@def</text>
+</g>
+<!-- 1&#45;&gt;2 -->
+<g id="edge1" class="edge">
+<title>1&#45;&gt;2</title>
+<path fill="none" stroke="#000000" d="M287.1017,-440.9073C261.0285,-427.4159 225.9,-409.2389 197.9988,-394.8017"/>
+<polygon fill="#000000" stroke="#000000" points="199.3272,-391.5483 188.8373,-390.0612 196.1103,-397.7654 199.3272,-391.5483"/>
+<text text-anchor="middle" x="260" y="-411.8" font-family="Times,serif" font-size="14.00" fill="#000000">aoj</text>
+</g>
+<!-- 8 -->
+<g id="node8" class="node">
+<title>8</title>
+<polygon fill="none" stroke="#000000" points="352.5,-389 295.5,-389 295.5,-353 352.5,-353 352.5,-389"/>
+<text text-anchor="middle" x="324" y="-367.3" font-family="Times,serif" font-size="14.00" fill="#000000">100m</text>
+</g>
+<!-- 1&#45;&gt;8 -->
+<g id="edge7" class="edge">
+<title>1&#45;&gt;8</title>
+<path fill="none" stroke="#000000" d="M324,-440.6883C324,-428.5863 324,-412.7782 324,-399.278"/>
+<polygon fill="#000000" stroke="#000000" points="327.5001,-399.0607 324,-389.0607 320.5001,-399.0608 327.5001,-399.0607"/>
+<text text-anchor="middle" x="336.5" y="-411.8" font-family="Times,serif" font-size="14.00" fill="#000000">bas</text>
+</g>
+<!-- 9 -->
+<g id="node9" class="node">
+<title>9</title>
+<polygon fill="none" stroke="#000000" points="493,-389 371,-389 371,-353 493,-353 493,-389"/>
+<text text-anchor="middle" x="432" y="-367.3" font-family="Times,serif" font-size="14.00" fill="#000000">more(icl&gt;how)</text>
+</g>
+<!-- 1&#45;&gt;9 -->
+<g id="edge8" class="edge">
+<title>1&#45;&gt;9</title>
+<path fill="none" stroke="#000000" d="M347.1687,-440.9073C363.148,-427.7391 384.5441,-410.1072 401.8502,-395.8457"/>
+<polygon fill="#000000" stroke="#000000" points="404.4843,-398.2103 409.9757,-389.1496 400.0326,-392.8082 404.4843,-398.2103"/>
+<text text-anchor="middle" x="399.5" y="-411.8" font-family="Times,serif" font-size="14.00" fill="#000000">man</text>
+</g>
+<!-- 3 -->
+<g id="node3" class="node">
+<title>3</title>
+<polygon fill="none" stroke="#000000" points="292,-301 12,-301 12,-265 292,-265 292,-301"/>
+<text text-anchor="middle" x="152" y="-279.3" font-family="Times,serif" font-size="14.00" fill="#000000">between(icl&gt;how,obj&gt;thing,plc&lt;uw)</text>
+</g>
+<!-- 2&#45;&gt;3 -->
+<g id="edge2" class="edge">
+<title>2&#45;&gt;3</title>
+<path fill="none" stroke="#000000" d="M152,-351.9053C152,-340.019 152,-324.517 152,-311.2275"/>
+<polygon fill="#000000" stroke="#000000" points="155.5001,-311.1552 152,-301.1553 148.5001,-311.1553 155.5001,-311.1552"/>
+<text text-anchor="middle" x="163" y="-322.8" font-family="Times,serif" font-size="14.00" fill="#000000">plc</text>
+</g>
+<!-- 4 -->
+<g id="node4" class="node">
+<title>4</title>
+<polygon fill="none" stroke="#000000" points="295.5,-214 8.5,-214 8.5,-176 295.5,-176 295.5,-214"/>
+<text text-anchor="middle" x="152" y="-198.8" font-family="Times,serif" font-size="14.00" fill="#000000">signal(icl&gt;communication(icl&gt;thing))</text>
+<text text-anchor="middle" x="152" y="-183.8" font-family="Times,serif" font-size="14.00" fill="#000000">.@def</text>
+</g>
+<!-- 3&#45;&gt;4 -->
+<g id="edge4" class="edge">
+<title>3&#45;&gt;4</title>
+<path fill="none" stroke="#000000" d="M152,-264.7663C152,-253.0875 152,-237.6692 152,-224.2978"/>
+<polygon fill="#000000" stroke="#000000" points="155.5001,-224.1235 152,-214.1235 148.5001,-224.1235 155.5001,-224.1235"/>
+<text text-anchor="middle" x="163" y="-235.8" font-family="Times,serif" font-size="14.00" fill="#000000">obj</text>
+</g>
+<!-- 5 -->
+<g id="node5" class="node">
+<title>5</title>
+<polygon fill="none" stroke="#000000" points="254,-125 0,-125 0,-87 254,-87 254,-125"/>
+<text text-anchor="middle" x="127" y="-109.8" font-family="Times,serif" font-size="14.00" fill="#000000">switch(icl&gt;control(icl&gt;thing)):01</text>
+<text text-anchor="middle" x="127" y="-94.8" font-family="Times,serif" font-size="14.00" fill="#000000">.@indef</text>
+</g>
+<!-- 4&#45;&gt;5 -->
+<g id="edge3" class="edge">
+<title>4&#45;&gt;5</title>
+<path fill="none" stroke="#000000" d="M146.5754,-175.6883C143.2338,-163.7924 138.8864,-148.3156 135.1376,-134.9697"/>
+<polygon fill="#000000" stroke="#000000" points="138.488,-133.9548 132.414,-125.274 131.7488,-135.8479 138.488,-133.9548"/>
+<text text-anchor="middle" x="154.5" y="-146.8" font-family="Times,serif" font-size="14.00" fill="#000000">and</text>
+</g>
+<!-- 6 -->
+<g id="node6" class="node">
+<title>6</title>
+<polygon fill="none" stroke="#000000" points="526,-124 272,-124 272,-88 526,-88 526,-124"/>
+<text text-anchor="middle" x="399" y="-102.3" font-family="Times,serif" font-size="14.00" fill="#000000">switch(icl&gt;control(icl&gt;thing)):02</text>
+</g>
+<!-- 4&#45;&gt;6 -->
+<g id="edge6" class="edge">
+<title>4&#45;&gt;6</title>
+<path fill="none" stroke="#000000" d="M204.9877,-175.9073C244.3569,-161.7216 298.103,-142.3556 339.044,-127.6036"/>
+<polygon fill="#000000" stroke="#000000" points="340.4082,-130.8324 348.6296,-124.1496 338.0353,-124.2468 340.4082,-130.8324"/>
+<text text-anchor="middle" x="302" y="-146.8" font-family="Times,serif" font-size="14.00" fill="#000000">obj</text>
+</g>
+<!-- 7 -->
+<g id="node7" class="node">
+<title>7</title>
+<polygon fill="none" stroke="#000000" points="589,-36 209,-36 209,0 589,0 589,-36"/>
+<text text-anchor="middle" x="399" y="-14.3" font-family="Times,serif" font-size="14.00" fill="#000000">this(icl&gt;determiner(icl&gt;adj),mod&lt;concrete_thing)</text>
+</g>
+<!-- 6&#45;&gt;7 -->
+<g id="edge5" class="edge">
+<title>6&#45;&gt;7</title>
+<path fill="none" stroke="#000000" d="M399,-87.7663C399,-75.8492 399,-60.0384 399,-46.4817"/>
+<polygon fill="#000000" stroke="#000000" points="402.5001,-46.2103 399,-36.2103 395.5001,-46.2103 402.5001,-46.2103"/>
+<text text-anchor="middle" x="414.5" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#000000">mod</text>
+</g>
+</g>
+</svg>
\ No newline at end of file
diff --git a/corpus/Railway/Railway-01_0/Railway-01_0.ttl b/corpus/Railway/Railway-01_0/Railway-01_0.ttl
new file mode 100644
index 0000000000000000000000000000000000000000..fee952e46a4968ea6f61038e01613cb00348fdab
--- /dev/null
+++ b/corpus/Railway/Railway-01_0/Railway-01_0.ttl
@@ -0,0 +1,426 @@
+# baseURI: http://unsel.rdf-unl.org/Railway-01_0/sentence_0#ontology
+ @prefix :     <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#> .
+
+                @prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
+@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix owl:     <http://www.w3.org/2002/07/owl#> .
+@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+
+<http://unsel.rdf-unl.org/Railway-01_0/sentence_0#between-icl-how-obj-thing-plc-uw-_obj_signal-icl-communication-icl-thing-->
+      a       <https://unl.tetras-libre.fr/rdf/schema#obj> ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_source>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_between-icl-how-obj-thing-plc-uw-> ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_target>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_signal-icl-communication-icl-thing--> .
+
+<http://unsel.rdf-unl.org/uw_lexeme#more-icl-how->
+      a       <https://unl.tetras-libre.fr/rdf/schema#UW_Lexeme> ;
+      rdfs:label "more(icl>how)" ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_occurrence>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_more-icl-how-> .
+
+<https://unl.tetras-libre.fr/rdf/schema#mod>
+      a       rdfs:Resource , rdfs:Class .
+
+<http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_distance-icl-spacing-icl-thing-->
+      a       <https://unl.tetras-libre.fr/rdf/schema#UW_Occurrence> ;
+      rdfs:label "distance(icl>spacing(icl>thing))" ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_attribute>
+              ".@def" ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_occurrence_of>
+              <http://unsel.rdf-unl.org/uw_lexeme#distance-icl-spacing-icl-thing--> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_source_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#distance-icl-spacing-icl-thing--_plc_between-icl-how-obj-thing-plc-uw-> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_substructure_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#sentence_0> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_target_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#great-com-importance-equ-outstanding-icl-adj-_aoj_distance-icl-spacing-icl-thing--> ;
+      <https://unl.tetras-libre.fr/rdf/schema#plc>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_between-icl-how-obj-thing-plc-uw-> .
+
+<https://unl.tetras-libre.fr/rdf/schema#UW_Occurrence>
+      a       rdfs:Resource , rdfs:Class .
+
+<http://unsel.rdf-unl.org/Railway-01_0/sentence_0#great-com-importance-equ-outstanding-icl-adj-_aoj_distance-icl-spacing-icl-thing-->
+      a       <https://unl.tetras-libre.fr/rdf/schema#aoj> ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_source>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_great-com-importance-equ-outstanding-icl-adj-> ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_target>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_distance-icl-spacing-icl-thing--> .
+
+<http://unsel.rdf-unl.org/uw_lexeme#this-icl-determiner-icl-adj--mod-concrete-thing->
+      a       <https://unl.tetras-libre.fr/rdf/schema#UW_Lexeme> ;
+      rdfs:label "this(icl>determiner(icl>adj),mod<concrete_thing)" ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_occurrence>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_this-icl-determiner-icl-adj--mod-concrete-thing-> .
+
+<http://unsel.rdf-unl.org/Railway-01_0/sentence_0#signal-icl-communication-icl-thing--_obj_switch-icl-control-icl-thing---02>
+      a       <https://unl.tetras-libre.fr/rdf/schema#obj> ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_source>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_signal-icl-communication-icl-thing--> ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_target>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_switch-icl-control-icl-thing---02> .
+
+<http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_more-icl-how->
+      a       <https://unl.tetras-libre.fr/rdf/schema#UW_Occurrence> ;
+      rdfs:label "more(icl>how)" ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_occurrence_of>
+              <http://unsel.rdf-unl.org/uw_lexeme#more-icl-how-> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_substructure_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#sentence_0> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_target_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#great-com-importance-equ-outstanding-icl-adj-_man_more-icl-how-> .
+
+<http://unsel.rdf-unl.org/Railway-01_0/sentence_0#switch-icl-control-icl-thing---02_mod_this-icl-determiner-icl-adj--mod-concrete-thing->
+      a       <https://unl.tetras-libre.fr/rdf/schema#mod> ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_source>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_switch-icl-control-icl-thing---02> ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_target>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_this-icl-determiner-icl-adj--mod-concrete-thing-> .
+
+rdfs:seeAlso
+      a       rdfs:Resource , rdf:Property ;
+      rdfs:subPropertyOf rdfs:seeAlso .
+
+rdfs:comment
+      a       rdfs:Resource , rdf:Property ;
+      rdfs:range rdfs:Literal .
+
+rdf:object
+      a       rdfs:Resource , rdf:Property ;
+      rdfs:domain rdf:Statement ;
+      rdfs:subPropertyOf rdf:object .
+
+<http://unsel.rdf-unl.org/uw_lexeme#distance-icl-spacing-icl-thing-->
+      a       <https://unl.tetras-libre.fr/rdf/schema#UW_Lexeme> ;
+      rdfs:label "distance(icl>spacing(icl>thing))" ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_occurrence>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_distance-icl-spacing-icl-thing--> .
+
+rdf:Seq
+      a       rdfs:Resource , rdfs:Class ;
+      rdfs:subClassOf rdf:Seq , rdfs:Container .
+
+rdfs:Literal
+      a       rdfs:Resource , rdfs:Class ;
+      rdfs:subClassOf rdfs:Resource , rdfs:Literal .
+
+rdfs:subClassOf
+      a       rdfs:Resource , rdf:Property ;
+      rdfs:domain rdfs:Class ;
+      rdfs:range rdfs:Class .
+
+<http://unsel.rdf-unl.org/Railway-01_0/sentence_0#distance-icl-spacing-icl-thing--_plc_between-icl-how-obj-thing-plc-uw->
+      a       <https://unl.tetras-libre.fr/rdf/schema#plc> ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_source>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_distance-icl-spacing-icl-thing--> ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_target>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_between-icl-how-obj-thing-plc-uw-> .
+
+rdf:type
+      a       rdfs:Resource , rdf:Property ;
+      rdfs:range rdfs:Class .
+
+<http://unsel.rdf-unl.org/Railway-01_0/sentence_0#ontology>
+      a       owl:Ontology ;
+      owl:imports <https://unl.tetras-libre.fr/rdf/schema> .
+
+rdfs:Resource
+      a       rdfs:Resource , rdfs:Class ;
+      rdfs:subClassOf rdfs:Resource .
+
+<https://unl.tetras-libre.fr/rdf/schema#UNL_Document>
+      a       rdfs:Resource , rdfs:Class .
+
+rdf:Property
+      a       rdfs:Resource , rdfs:Class ;
+      rdfs:subClassOf rdfs:Resource , rdf:Property .
+
+<http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_this-icl-determiner-icl-adj--mod-concrete-thing->
+      a       <https://unl.tetras-libre.fr/rdf/schema#UW_Occurrence> ;
+      rdfs:label "this(icl>determiner(icl>adj),mod<concrete_thing)" ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_occurrence_of>
+              <http://unsel.rdf-unl.org/uw_lexeme#this-icl-determiner-icl-adj--mod-concrete-thing-> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_substructure_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#sentence_0> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_target_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#switch-icl-control-icl-thing---02_mod_this-icl-determiner-icl-adj--mod-concrete-thing-> .
+
+rdf:rest
+      a       rdfs:Resource , rdf:Property ;
+      rdfs:domain rdf:List ;
+      rdfs:range rdf:List ;
+      rdfs:subPropertyOf rdf:rest .
+
+rdfs:range
+      a       rdfs:Resource , rdf:Property ;
+      rdfs:domain rdf:Property ;
+      rdfs:range rdfs:Class .
+
+rdfs:label
+      a       rdfs:Resource , rdf:Property ;
+      rdfs:range rdfs:Literal .
+
+<https://unl.tetras-libre.fr/rdf/schema#aoj>
+      a       rdfs:Resource , rdfs:Class .
+
+<https://unl.tetras-libre.fr/rdf/schema#and>
+      a       rdfs:Resource , rdfs:Class .
+
+<http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_signal-icl-communication-icl-thing-->
+      a       <https://unl.tetras-libre.fr/rdf/schema#UW_Occurrence> ;
+      rdfs:label "signal(icl>communication(icl>thing))" ;
+      <https://unl.tetras-libre.fr/rdf/schema#and>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_switch-icl-control-icl-thing---01> ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_attribute>
+              ".@def" ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_occurrence_of>
+              <http://unsel.rdf-unl.org/uw_lexeme#signal-icl-communication-icl-thing--> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_source_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#signal-icl-communication-icl-thing--_and_switch-icl-control-icl-thing---01> , <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#signal-icl-communication-icl-thing--_obj_switch-icl-control-icl-thing---02> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_substructure_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#sentence_0> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_target_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#between-icl-how-obj-thing-plc-uw-_obj_signal-icl-communication-icl-thing--> ;
+      <https://unl.tetras-libre.fr/rdf/schema#obj>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_switch-icl-control-icl-thing---02> .
+
+rdfs:isDefinedBy
+      a       rdfs:Resource , rdf:Property ;
+      rdfs:subPropertyOf rdfs:seeAlso , rdfs:isDefinedBy .
+
+<http://unsel.rdf-unl.org/Railway-01_0/sentence_0#sentence_0>
+      a       <https://unl.tetras-libre.fr/rdf/schema#UNL_Sentence> ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_id> "Railway-01_0" ;
+
+      <http://www.w3.org/2004/02/skos/core#altLabel>
+              """[S:00]
+aoj(great(com>importance,equ>outstanding,icl>adj).@entry.@present.@promise,distance(icl>spacing(icl>thing)).@def)
+plc(distance(icl>spacing(icl>thing)).@def,between(icl>how,obj>thing,plc<uw))
+and(signal(icl>communication(icl>thing)).@def,switch(icl>control(icl>thing))::01.@indef)
+obj(between(icl>how,obj>thing,plc<uw),signal(icl>communication(icl>thing)).@def)
+mod(switch(icl>control(icl>thing))::02,this(icl>determiner(icl>adj),mod<concrete_thing))
+obj(signal(icl>communication(icl>thing)).@def,switch(icl>control(icl>thing))::02)
+bas(great(com>importance,equ>outstanding,icl>adj).@entry.@present.@promise,100m)
+man(great(com>importance,equ>outstanding,icl>adj).@entry.@present.@promise,more(icl>how))
+
+[/S]""" ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_index>
+              <http://unsel.rdf-unl.org/uw_lexeme#document> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_substructure_of>
+              <http://unsel.rdf-unl.org/uw_lexeme#document> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_superstructure_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_switch-icl-control-icl-thing---02> , <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_switch-icl-control-icl-thing---01> , <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_distance-icl-spacing-icl-thing--> , <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_100m> , <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_great-com-importance-equ-outstanding-icl-adj-> , <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_this-icl-determiner-icl-adj--mod-concrete-thing-> , <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_more-icl-how-> , <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_signal-icl-communication-icl-thing--> , <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_between-icl-how-obj-thing-plc-uw-> .
+
+rdf:Statement
+      a       rdfs:Resource , rdfs:Class ;
+      rdfs:subClassOf rdfs:Resource , rdf:Statement .
+
+<https://unl.tetras-libre.fr/rdf/schema#plc>
+      a       rdfs:Resource , rdfs:Class .
+
+rdfs:Container
+      a       rdfs:Resource , rdfs:Class ;
+      rdfs:subClassOf rdfs:Container .
+
+()    a       rdfs:Resource , rdf:List .
+
+<http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_switch-icl-control-icl-thing---01>
+      a       <https://unl.tetras-libre.fr/rdf/schema#UW_Occurrence> ;
+      rdfs:label "switch(icl>control(icl>thing))" ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_attribute>
+              ".@indef" ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_occurrence_of>
+              <http://unsel.rdf-unl.org/uw_lexeme#switch-icl-control-icl-thing--> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_substructure_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#sentence_0> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_target_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#signal-icl-communication-icl-thing--_and_switch-icl-control-icl-thing---01> .
+
+<https://unl.tetras-libre.fr/rdf/schema#bas>
+      a       rdfs:Resource , rdfs:Class .
+
+rdfs:domain
+      a       rdfs:Resource , rdf:Property ;
+      rdfs:domain rdf:Property ;
+      rdfs:range rdfs:Class .
+
+<https://unl.tetras-libre.fr/rdf/schema#UW_Lexeme>
+      a       rdfs:Resource , rdfs:Class .
+
+<http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_100m>
+      a       <https://unl.tetras-libre.fr/rdf/schema#UW_Occurrence> ;
+      rdfs:label "100m" ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_occurrence_of>
+              <http://unsel.rdf-unl.org/uw_lexeme#100m> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_substructure_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#sentence_0> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_target_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#great-com-importance-equ-outstanding-icl-adj-_bas_100m> .
+
+<http://unsel.rdf-unl.org/Railway-01_0/sentence_0#great-com-importance-equ-outstanding-icl-adj-_bas_100m>
+      a       <https://unl.tetras-libre.fr/rdf/schema#bas> ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_source>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_great-com-importance-equ-outstanding-icl-adj-> ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_target>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_100m> .
+
+<http://unsel.rdf-unl.org/uw_lexeme#great-com-importance-equ-outstanding-icl-adj->
+      a       <https://unl.tetras-libre.fr/rdf/schema#UW_Lexeme> ;
+      rdfs:label "great(com>importance,equ>outstanding,icl>adj)" ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_occurrence>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_great-com-importance-equ-outstanding-icl-adj-> .
+
+<http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_great-com-importance-equ-outstanding-icl-adj->
+      a       <https://unl.tetras-libre.fr/rdf/schema#UW_Occurrence> ;
+      rdfs:label "great(com>importance,equ>outstanding,icl>adj)" ;
+      <https://unl.tetras-libre.fr/rdf/schema#aoj>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_distance-icl-spacing-icl-thing--> ;
+      <https://unl.tetras-libre.fr/rdf/schema#bas>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_100m> ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_attribute>
+              ".@present" , ".@entry" , ".@promise" ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_occurrence_of>
+              <http://unsel.rdf-unl.org/uw_lexeme#great-com-importance-equ-outstanding-icl-adj-> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_source_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#great-com-importance-equ-outstanding-icl-adj-_aoj_distance-icl-spacing-icl-thing--> , <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#great-com-importance-equ-outstanding-icl-adj-_bas_100m> , <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#great-com-importance-equ-outstanding-icl-adj-_man_more-icl-how-> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_substructure_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#sentence_0> ;
+      <https://unl.tetras-libre.fr/rdf/schema#man>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_more-icl-how-> .
+
+<https://unl.tetras-libre.fr/rdf/schema#obj>
+      a       rdfs:Resource , rdfs:Class .
+
+<https://unl.tetras-libre.fr/rdf/schema#man>
+      a       rdfs:Resource , rdfs:Class .
+
+rdf:first
+      a       rdfs:Resource , rdf:Property ;
+      rdfs:domain rdf:List ;
+      rdfs:subPropertyOf rdf:first .
+
+rdf:XMLLiteral
+      a       rdfs:Resource , rdfs:Class , rdfs:Datatype .
+
+<http://unsel.rdf-unl.org/uw_lexeme#switch-icl-control-icl-thing-->
+      a       <https://unl.tetras-libre.fr/rdf/schema#UW_Lexeme> ;
+      rdfs:label "switch(icl>control(icl>thing))" ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_occurrence>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_switch-icl-control-icl-thing---02> , <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_switch-icl-control-icl-thing---01> .
+
+rdf:predicate
+      a       rdfs:Resource , rdf:Property ;
+      rdfs:domain rdf:Statement ;
+      rdfs:subPropertyOf rdf:predicate .
+
+<http://unsel.rdf-unl.org/uw_lexeme#document>
+      a       <https://unl.tetras-libre.fr/rdf/schema#UNL_Document> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_superstructure_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#sentence_0> .
+
+<http://unsel.rdf-unl.org/uw_lexeme#between-icl-how-obj-thing-plc-uw->
+      a       <https://unl.tetras-libre.fr/rdf/schema#UW_Lexeme> ;
+      rdfs:label "between(icl>how,obj>thing,plc<uw)" ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_occurrence>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_between-icl-how-obj-thing-plc-uw-> .
+
+<https://unl.tetras-libre.fr/rdf/schema#UNL_Sentence>
+      a       rdfs:Resource , rdfs:Class .
+
+rdf:List
+      a       rdfs:Resource , rdfs:Class ;
+      rdfs:subClassOf rdfs:Resource , rdf:List .
+
+<http://unsel.rdf-unl.org/Railway-01_0/sentence_0#great-com-importance-equ-outstanding-icl-adj-_man_more-icl-how->
+      a       <https://unl.tetras-libre.fr/rdf/schema#man> ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_source>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_great-com-importance-equ-outstanding-icl-adj-> ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_target>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_more-icl-how-> .
+
+rdfs:ContainerMembershipProperty
+      a       rdfs:Resource , rdfs:Class ;
+      rdfs:subClassOf rdfs:Resource , rdf:Property , rdfs:ContainerMembershipProperty .
+
+<http://unsel.rdf-unl.org/uw_lexeme#100m>
+      a       <https://unl.tetras-libre.fr/rdf/schema#UW_Lexeme> ;
+      rdfs:label "100m" ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_occurrence>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_100m> .
+
+<http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_switch-icl-control-icl-thing---02>
+      a       <https://unl.tetras-libre.fr/rdf/schema#UW_Occurrence> ;
+      rdfs:label "switch(icl>control(icl>thing))" ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_occurrence_of>
+              <http://unsel.rdf-unl.org/uw_lexeme#switch-icl-control-icl-thing--> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_source_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#switch-icl-control-icl-thing---02_mod_this-icl-determiner-icl-adj--mod-concrete-thing-> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_substructure_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#sentence_0> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_target_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#signal-icl-communication-icl-thing--_obj_switch-icl-control-icl-thing---02> ;
+      <https://unl.tetras-libre.fr/rdf/schema#mod>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_this-icl-determiner-icl-adj--mod-concrete-thing-> .
+
+rdf:subject
+      a       rdfs:Resource , rdf:Property ;
+      rdfs:domain rdf:Statement ;
+      rdfs:subPropertyOf rdf:subject .
+
+<http://unsel.rdf-unl.org/Railway-01_0/sentence_0#signal-icl-communication-icl-thing--_and_switch-icl-control-icl-thing---01>
+      a       <https://unl.tetras-libre.fr/rdf/schema#and> ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_source>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_signal-icl-communication-icl-thing--> ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_target>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_switch-icl-control-icl-thing---01> .
+
+owl:Ontology
+      a       rdfs:Resource , rdfs:Class .
+
+rdf:Bag
+      a       rdfs:Resource , rdfs:Class ;
+      rdfs:subClassOf rdf:Bag , rdfs:Container .
+
+rdfs:Class
+      a       rdfs:Resource , rdfs:Class ;
+      rdfs:subClassOf rdfs:Resource , rdfs:Class .
+
+rdfs:Datatype
+      a       rdfs:Resource , rdfs:Class ;
+      rdfs:subClassOf rdfs:Resource , rdfs:Class , rdfs:Datatype .
+
+<http://unsel.rdf-unl.org/uw_lexeme#signal-icl-communication-icl-thing-->
+      a       <https://unl.tetras-libre.fr/rdf/schema#UW_Lexeme> ;
+      rdfs:label "signal(icl>communication(icl>thing))" ;
+      <https://unl.tetras-libre.fr/rdf/schema#has_occurrence>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_signal-icl-communication-icl-thing--> .
+
+rdfs:subPropertyOf
+      a       rdfs:Resource , rdf:Property ;
+      rdfs:domain rdf:Property ;
+      rdfs:range rdf:Property .
+
+rdf:Alt
+      a       rdfs:Resource , rdfs:Class ;
+      rdfs:subClassOf rdf:Alt , rdfs:Container .
+
+<http://unsel.rdf-unl.org#ontology>
+      a       owl:Ontology ;
+      owl:imports <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#ontology> , <https://unl.tetras-libre.fr/rdf/schema> .
+
+<http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_between-icl-how-obj-thing-plc-uw->
+      a       <https://unl.tetras-libre.fr/rdf/schema#UW_Occurrence> ;
+      rdfs:label "between(icl>how,obj>thing,plc<uw)" ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_occurrence_of>
+              <http://unsel.rdf-unl.org/uw_lexeme#between-icl-how-obj-thing-plc-uw-> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_source_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#between-icl-how-obj-thing-plc-uw-_obj_signal-icl-communication-icl-thing--> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_substructure_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#sentence_0> ;
+      <https://unl.tetras-libre.fr/rdf/schema#is_target_of>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#distance-icl-spacing-icl-thing--_plc_between-icl-how-obj-thing-plc-uw-> ;
+      <https://unl.tetras-libre.fr/rdf/schema#obj>
+              <http://unsel.rdf-unl.org/Railway-01_0/sentence_0#occurence_signal-icl-communication-icl-thing--> .
+
+            
\ No newline at end of file
diff --git a/corpus/Railway/Railway-01_0/Railway-01_0.unl b/corpus/Railway/Railway-01_0/Railway-01_0.unl
new file mode 100644
index 0000000000000000000000000000000000000000..ad429acb7f81f620bc8fb2fa0139a8f6d1b2b72e
--- /dev/null
+++ b/corpus/Railway/Railway-01_0/Railway-01_0.unl
@@ -0,0 +1,16 @@
+[S:00]
+{org:en}
+The distance between a switch and the signal of this switch shall be greater than 100m.
+{/org}
+{unl}
+aoj(great(icl>adj,equ>outstanding,com>importance).@entry.@present.@promise,distance(icl>spacing>thing).@def)
+plc(distance(icl>spacing>thing).@def,between(icl>how,obj>thing,plc<uw))
+and(signal(icl>communication>thing).@def,switch(icl>control>thing):01.@indef)
+obj(between(icl>how,obj>thing,plc<uw),signal(icl>communication>thing).@def)
+mod(switch(icl>control>thing):02,this(icl>determiner>adj,mod<concrete_thing))
+obj(signal(icl>communication>thing).@def,switch(icl>control>thing):02)
+bas(great(icl>adj,equ>outstanding,com>importance).@entry.@present.@promise,100m)
+man(great(icl>adj,equ>outstanding,com>importance).@entry.@present.@promise,more(icl>how))
+{/unl}
+[/S]
+
diff --git a/create_graph.py b/create_graph.py
index a64fb1624aed965281825f3805ea2eea1a8ee4fb..702cf1f6ec3707389e210fdbe62c48897f63215d 100644
--- a/create_graph.py
+++ b/create_graph.py
@@ -33,21 +33,23 @@ req_34 = "COMP/34/"
 req_50 = "COMP/50/"
 corpus_ERTMS = "ERTMS/"
 corpus_PEV = "PEV-RSE-Approach/"
+corpus_RAILWAY = "Railway/"
    
    
 #==============================================================================
 # Process
 #==============================================================================
  
-target_ref = "system"
+#target_ref = "system"
 #target_ref = "environment"
+target_ref = "railway"
     
 #structure.create_extraction_graph(corpus_comp, 'COMP-01', target_ref) 
 #structure.create_extraction_graph(req_f1, 'C-F1', target_ref) 
 #structure.create_extraction_graph(req_50, 'C-50', target_ref) 
 #structure.create_extraction_graph(req_34, 'C-34', target_ref) 
     
-structure.create_extraction_graph(req_13900, 'R13900', target_ref)
+#structure.create_extraction_graph(req_13900, 'R13900', target_ref)
 structure.create_extraction_graph(req_100, 'R100f', target_ref) 
 #structure.create_extraction_graph(req_200, 'R200f', target_ref)
 #structure.create_extraction_graph(req_300, 'R300f', target_ref) 
@@ -58,6 +60,8 @@ structure.create_extraction_graph(req_100, 'R100f', target_ref)
 #structure.create_extraction_graph(corpus_ERTMS, 'Corpus-ERTMS', target_ref)
 #structure.create_extraction_graph(corpus_PEV, 'Corpus-PEV', target_ref)
 
+structure.create_extraction_graph(corpus_RAILWAY, 'corpus-Railway', target_ref)
+
 
     
     
diff --git a/frame/railway-ontology.ttl b/frame/railway-ontology.ttl
new file mode 100644
index 0000000000000000000000000000000000000000..6aa1fa4c4de4ae8bf10c9c8e9db935c74ad54748
--- /dev/null
+++ b/frame/railway-ontology.ttl
@@ -0,0 +1,356 @@
+# baseURI: https://tetras-libre.fr/tenet/frame/railway-ontology
+
+@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 swrl: <http://www.w3.org/2003/11/swrl#> .
+@prefix swrla: <http://swrl.stanford.edu/ontologies/3.3/swrla.owl#> .
+@prefix swrlb: <http://www.w3.org/2003/11/swrlb#> .
+@prefix sys: <https://tetras-libre.fr/tenet/frame/railway-ontology/> .
+@prefix sys-Event: <https://tetras-libre.fr/tenet/frame/railway-ontology/Event#> .
+@prefix sys-State_Property: <https://tetras-libre.fr/tenet/frame/railway-ontology/State_Property#> .
+@prefix sys-abstract_thing: <https://tetras-libre.fr/tenet/frame/railway-ontology/abstract_thing#> .
+@prefix sys-action_verb: <https://tetras-libre.fr/tenet/frame/railway-ontology/action_verb#> .
+@prefix sys-agent: <https://tetras-libre.fr/tenet/frame/railway-ontology/agent#> .
+@prefix sys-attributive_verb: <https://tetras-libre.fr/tenet/frame/railway-ontology/attributive_verb#> .
+@prefix sys-component: <https://tetras-libre.fr/tenet/frame/railway-ontology/component#> .
+@prefix sys-message: <https://tetras-libre.fr/tenet/frame/railway-ontology/message#> .
+@prefix sys-place: <https://tetras-libre.fr/tenet/frame/railway-ontology/place#> .
+@prefix sys-relation: <https://tetras-libre.fr/tenet/frame/railway-ontology/relation/> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+<https://tetras-libre.fr/tenet/frame/railway-ontology>
+  rdf:type owl:Ontology ;
+.
+sys:Abstraction
+  rdf:type owl:Class ;
+  rdfs:label "Abstraction"@en ;
+  rdfs:label "Abstraction"@fr ;
+  rdfs:subClassOf sys:Structure ;
+  sys:is_class "Abstraction" ;
+.
+sys:Annotation
+  rdf:type rdf:Property ;
+  rdfs:label "structure property" ;
+  rdfs:subPropertyOf sys:Property ;
+.
+sys:Entity
+  rdf:type owl:Class ;
+  rdfs:label "entity"@en ;
+  rdfs:label "entité"@fr ;
+  rdfs:subClassOf sys:Structure ;
+  sys:is_class "Entity" ;
+.
+sys:Event
+  rdf:type owl:Class ;
+  rdfs:label "Event"@en ;
+  rdfs:label "Evénèment"@fr ;
+  rdfs:subClassOf sys:Structure ;
+  sys:has_object_property "eventObjectProperty" ;
+  sys:is_class "Event" ;
+.
+sys:Feature
+  rdf:type owl:Class ;
+  rdfs:label "caractéristique"@fr ;
+  rdfs:label "feature"@en ;
+  rdfs:subClassOf sys:Structure ;
+  sys:is_class "Feature" ;
+.
+sys:Mathematic
+  rdf:type owl:Class ;
+  rdfs:label "Mathématique"@fr ;
+  rdfs:subClassOf sys:Abstraction ;
+.
+sys:ObjectProperty
+  rdf:type rdf:Property ;
+  rdfs:label "Object Property" ;
+  rdfs:subPropertyOf sys:Property ;
+.
+sys:Physical_Element
+  rdf:type owl:Class ;
+  rdfs:label "Physical Element" ;
+  rdfs:subClassOf sys:Structure ;
+.
+sys:Property
+  rdf:type rdf:Property ;
+  rdfs:label "Property" ;
+  sys:has_reference "property" ;
+.
+sys:Relation
+  rdf:type rdf:Property ;
+  rdfs:label "system property" ;
+  rdfs:subPropertyOf sys:Property ;
+  sys:has_frame_uri "https://tetras-libre.fr/tenet/frame/railway-ontology/relation/" ;
+.
+sys:Seed
+  rdf:type rdf:Property ;
+  rdfs:label "seed property" ;
+  rdfs:subPropertyOf sys:Property ;
+.
+sys:State_Property
+  rdf:type owl:Class ;
+  rdfs:label "Propriété d'état"@fr ;
+  rdfs:label "State Property"@en ;
+  rdfs:subClassOf sys:Structure ;
+  sys:has_object_property "statePropertyObjectProperty" ;
+  sys:is_class "State_Property" ;
+.
+sys:Structure
+  rdf:type owl:Class ;
+  rdfs:label "System Ontology Structure" ;
+  sys:has_frame_uri "https://tetras-libre.fr/tenet/frame/railway-ontology/" ;
+  sys:has_reference "class" ;
+.
+sys:Train
+  rdf:type owl:Class ;
+  rdfs:label "Train" ;
+  rdfs:subClassOf sys:moving_element ;
+.
+sys:Vehicle
+  rdf:type owl:Class ;
+  rdfs:label "Vehicle" ;
+  rdfs:subClassOf sys:moving_element ;
+.
+sys:Verb
+  rdf:type owl:Class ;
+  rdfs:label "Verb" ;
+  rdfs:subClassOf sys:Structure ;
+  sys:is_class "Verb" ;
+.
+sys:abstract_thing
+  rdf:type owl:Class ;
+  rdfs:label "abstract thing"@en ;
+  rdfs:label "élément abstrait"@fr ;
+  rdfs:subClassOf sys:Abstraction ;
+  sys:has_mother_class sys:Abstraction ;
+  sys:has_restriction "icl>abstract_thing" ;
+  sys:is_class "abstract_thing" ;
+.
+sys:action
+  rdf:type rdf:Property ;
+  rdfs:label "action" ;
+  rdfs:subPropertyOf sys:Relation ;
+  sys:has_mother_property sys:action ;
+  sys:has_reference "action" ;
+  sys:has_restriction_on_class sys:action_verb ;
+.
+sys:action_verb
+  rdf:type owl:Class ;
+  rdfs:label "action verb" ;
+  rdfs:subClassOf sys:Verb ;
+  sys:has_mother_class sys:Verb ;
+  sys:has_restriction "icl>do" ;
+  sys:is_class "action_verb" ;
+.
+sys:agent
+  rdf:type owl:Class ;
+  rdfs:label "agent"@en ;
+  rdfs:label "agent"@fr ;
+  rdfs:subClassOf sys:Entity ;
+  sys:has_mother_class sys:Entity ;
+  sys:has_restriction "icl>administrator" ;
+  sys:has_restriction "icl>operator" ;
+  sys:has_restriction "icl>person" ;
+  sys:is_class "agent" ;
+.
+sys:attributive_verb
+  rdf:type owl:Class ;
+  rdfs:label "attributive verb" ;
+  rdfs:subClassOf sys:Verb ;
+  sys:has_mother_class sys:Verb ;
+  sys:has_restriction "icl>be" ;
+  sys:is_class "attributive_verb" ;
+.
+sys:component
+  rdf:type owl:Class ;
+  rdfs:label "component"@en ;
+  rdfs:label "composant"@fr ;
+  rdfs:subClassOf sys:Entity ;
+  sys:has_mother_class sys:Entity ;
+  sys:has_restriction "icl>control" ;
+  sys:has_restriction "icl>device" ;
+  sys:has_restriction "icl>electronic_device" ;
+  sys:has_restriction "icl>instrumentality" ;
+  sys:has_restriction "icl>position" ;
+  sys:has_restriction "icl>public_transport" ;
+  sys:has_restriction "icl>structure" ;
+  sys:is_class "component" ;
+.
+sys:distance
+  rdf:type owl:Class ;
+  rdfs:label "Interval"@fr ;
+  rdfs:subClassOf sys:Mathematic ;
+.
+sys:entityClassProperty
+  rdf:type rdf:Property ;
+  rdfs:label "entity property" ;
+  rdfs:subPropertyOf sys:ObjectProperty ;
+.
+sys:eventClassProperty
+  rdf:type rdf:Property ;
+  rdfs:label "event property" ;
+  rdfs:subPropertyOf sys:ObjectProperty ;
+.
+sys:from_structure
+  rdf:type rdf:Property ;
+  rdfs:label "from structure" ;
+  rdfs:subPropertyOf sys:ObjectProperty ;
+.
+sys:has_actor
+  rdf:type rdf:Property ;
+  rdfs:label "has actor" ;
+  rdfs:subPropertyOf sys:eventClassProperty ;
+.
+sys:has_feature
+  rdf:type rdf:Property ;
+  rdfs:label "feature" ;
+  rdfs:subPropertyOf sys:entityClassProperty ;
+.
+sys:has_frame_base_uri
+  rdf:type rdf:Property ;
+  rdfs:label "has frame base uri" ;
+  rdfs:subPropertyOf sys:Seed ;
+  sys:has_frame_base_uri "https://tetras-libre.fr/tenet/frame/railway-ontology/" ;
+.
+sys:has_frame_uri
+  rdf:type rdf:Property ;
+  rdfs:label "has frame uri" ;
+  rdfs:subPropertyOf sys:Annotation ;
+.
+sys:has_mother_class
+  rdf:type rdf:Property ;
+  rdfs:label "has mother class" ;
+  rdfs:range owl:Thing ;
+  rdfs:subPropertyOf sys:Seed ;
+.
+sys:has_mother_property
+  rdf:type rdf:Property ;
+  rdfs:label "has mother property" ;
+  rdfs:range rdf:Property ;
+  rdfs:subPropertyOf sys:Seed ;
+.
+sys:has_object_property
+  rdf:type rdf:Property ;
+  rdfs:label "has object property" ;
+  rdfs:subPropertyOf sys:Seed ;
+  sys:has_object_property "eventObjectProperty" ;
+  sys:is_class "Event" ;
+.
+sys:has_reference
+  rdf:type rdf:Property ;
+  rdfs:label "is property" ;
+  rdfs:subPropertyOf sys:Seed ;
+.
+sys:has_restriction
+  rdf:type rdf:Property ;
+  rdfs:label "has restriction" ;
+  rdfs:subPropertyOf sys:Seed ;
+.
+sys:has_restriction_on_class
+  rdf:type rdf:Property ;
+  rdfs:label "has restriction on  class" ;
+  rdfs:range owl:Thing ;
+  rdfs:subPropertyOf sys:Seed ;
+.
+sys:has_restriction_on_unl_relation_source
+  rdf:type rdf:Property ;
+  rdfs:label "has restriction on unl relation source" ;
+  rdfs:subPropertyOf sys:Seed ;
+.
+sys:has_restriction_on_unl_relation_target
+  rdf:type rdf:Property ;
+  rdfs:label "has restriction on unl relation target" ;
+  rdfs:subPropertyOf sys:Seed ;
+.
+sys:has_target
+  rdf:type rdf:Property ;
+  rdfs:label "has target" ;
+  rdfs:subPropertyOf sys:eventClassProperty ;
+.
+sys:has_verb
+  rdf:type rdf:Property ;
+  rdfs:label "has verb" ;
+  rdfs:subPropertyOf sys:eventClassProperty ;
+.
+sys:is_class
+  rdf:type rdf:Property ;
+  rdfs:label "is class" ;
+  rdfs:subPropertyOf sys:Seed ;
+  sys:has_object_property "statePropertyObjectProperty" ;
+  sys:is_class "State_Property" ;
+.
+sys:message
+  rdf:type owl:Class ;
+  rdfs:label "message"@en ;
+  rdfs:label "message"@fr ;
+  rdfs:subClassOf sys:Entity ;
+  sys:has_mother_class sys:Entity ;
+  sys:has_restriction "icl>assignment" ;
+  sys:has_restriction "icl>communication" ;
+  sys:is_class "message" ;
+.
+sys:moving_element
+  rdf:type owl:Class ;
+  rdfs:label "moving element" ;
+  rdfs:subClassOf sys:Physical_Element ;
+.
+sys:place
+  rdf:type owl:Class ;
+  rdfs:label "lieu"@fr ;
+  rdfs:label "place"@en ;
+  rdfs:subClassOf sys:Feature ;
+  sys:has_mother_class sys:Feature ;
+  sys:has_restriction "icl>air_base_installation" ;
+  sys:has_restriction "icl>place" ;
+  sys:is_class "place" ;
+.
+sys:range
+  rdf:type owl:Class ;
+  rdfs:label "Interval"@fr ;
+  rdfs:subClassOf sys:Mathematic ;
+  rdfs:subClassOf [
+      rdf:type owl:Class ;
+      owl:intersectionOf (
+          [
+            rdf:type owl:Restriction ;
+            owl:onDataRange xsd:int ;
+            owl:onProperty <http://www.clearsy.com/network_graph#has_max> ;
+            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
+          ]
+          [
+            rdf:type owl:Restriction ;
+            owl:onDataRange xsd:int ;
+            owl:onProperty <http://www.clearsy.com/network_graph#has_min> ;
+            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
+          ]
+        ) ;
+    ] ;
+.
+sys:stateProperty
+  rdf:type rdf:Property ;
+  rdfs:label "state property" ;
+  rdfs:subPropertyOf sys:Relation ;
+  sys:has_mother_property sys:stateProperty ;
+  sys:has_reference "stateProperty" ;
+  sys:has_restriction_on_class sys:attributive_verb ;
+.
+sys:stationary_element
+  rdf:type owl:Class ;
+  rdfs:label "stationary element" ;
+  rdfs:subClassOf sys:Physical_Element ;
+.
+sys:topological_element
+  rdf:type owl:Class ;
+  rdfs:label "topological element" ;
+  rdfs:subClassOf sys:Physical_Element ;
+.
+sys:verbClassProperty
+  rdf:type rdf:Property ;
+  rdfs:label "verb property" ;
+  rdfs:subPropertyOf sys:ObjectProperty ;
+.
+sys:verbType
+  rdf:type rdf:Property ;
+  rdfs:label "verb type" ;
+  rdfs:subPropertyOf sys:verbClassProperty ;
+.