From 2c695492e200e3d0897caadeba8e1537abad945f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aur=C3=A9lien=20Lamercerie?=
 <aurelien.lamercerie@laposte.net>
Date: Thu, 28 Oct 2021 13:53:25 +0200
Subject: [PATCH] Add Environment Ontology

---
 .gitignore                     |   1 +
 frame/environment-ontology.ttl | 271 +++++++++++++++++++++++++++++++++
 prepare_work_data.py           |  11 +-
 3 files changed, 279 insertions(+), 4 deletions(-)
 create mode 100644 frame/environment-ontology.ttl

diff --git a/.gitignore b/.gitignore
index e0eaa071..a261b1cd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,6 +4,7 @@ __pycache__
 devtemp*.py
 corpus/CCTP-SRSA-IP*
 corpus/ERTMS*
+corpus/PEV*
 .project
 *.ttl.tbc
 output*.ttl
diff --git a/frame/environment-ontology.ttl b/frame/environment-ontology.ttl
new file mode 100644
index 00000000..043f935b
--- /dev/null
+++ b/frame/environment-ontology.ttl
@@ -0,0 +1,271 @@
+# baseURI: https://unsel.tetras-libre.fr/tenet/frame/environment-ontology
+
+@prefix env: <https://unsel.tetras-libre.fr/tenet/frame/environment-ontology/> .
+@prefix env-Event: <https://unsel.tetras-libre.fr/tenet/frame/environment-ontology/Event#> .
+@prefix env-State_Property: <https://unsel.tetras-libre.fr/tenet/frame/environment-ontology/State_Property#> .
+@prefix env-abstract_thing: <https://unsel.tetras-libre.fr/tenet/frame/environment-ontology/abstract_thing#> .
+@prefix env-action_verb: <https://unsel.tetras-libre.fr/tenet/frame/environment-ontology/action_verb#> .
+@prefix env-agent: <https://unsel.tetras-libre.fr/tenet/frame/environment-ontology/agent#> .
+@prefix env-attributive_verb: <https://unsel.tetras-libre.fr/tenet/frame/environment-ontology/attributive_verb#> .
+@prefix env-component: <https://unsel.tetras-libre.fr/tenet/frame/environment-ontology/component#> .
+@prefix env-message: <https://unsel.tetras-libre.fr/tenet/frame/environment-ontology/message#> .
+@prefix env-place: <https://unsel.tetras-libre.fr/tenet/frame/environment-ontology/place#> .
+@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#> .
+
+<https://unsel.tetras-libre.fr/tenet/frame/environment-ontology>
+  rdf:type owl:Ontology ;
+.
+env:Climate_Policy
+  rdf:type owl:Class ;
+  rdfs:label "Climate Policy"@en ;
+  rdfs:label "Politique climatique"@fr ;
+  rdfs:subClassOf env:Structure ;
+  env:is_class "Climate_Policy" ;
+.
+env:Environmental_Actor
+  rdf:type owl:Class ;
+  rdfs:label "physical"@en ;
+  rdfs:label "physique"@fr ;
+  rdfs:subClassOf env:Structure ;
+  env:is_class "Environmental_Actor" ;
+.
+env:ISO_14001_site
+  rdf:type owl:Class ;
+  rdfs:label "site under ISO 14001scheme"@en ;
+  rdfs:label "sites certifiés ISO 14001"@fr ;
+  rdfs:subClassOf env:Environmental_Actor ;
+  env:has_mother_class env:Physical ;
+  env:is_class "ISO_14001_site" ;
+.
+env:Impact
+  rdf:type owl:Class ;
+  rdfs:label "impact"@en ;
+  rdfs:label "impact"@fr ;
+  rdfs:subClassOf env:Structure ;
+  env:is_class "Impact" ;
+.
+env:Physical
+  rdf:type owl:Class ;
+  rdfs:label "physical"@en ;
+  rdfs:label "physique"@fr ;
+  rdfs:subClassOf env:Structure ;
+  env:is_class "Physical" ;
+.
+env:Structure
+  rdf:type owl:Class ;
+  rdfs:label "System Ontology Structure" ;
+  env:has_frame_uri "https://unsel.tetras-libre.fr/tenet/frame/environment-ontology/" ;
+.
+env:Verb
+  rdf:type owl:Class ;
+  rdfs:label "Verb" ;
+  rdfs:subClassOf env:Structure ;
+  env:is_class "Verb" ;
+.
+env:action_verb
+  rdf:type owl:Class ;
+  rdfs:label "action verb" ;
+  rdfs:subClassOf env:Verb ;
+  env:has_mother_class env:Verb ;
+  env:has_restriction "icl>do" ;
+  env:is_class "action_verb" ;
+.
+env:attributive_verb
+  rdf:type owl:Class ;
+  rdfs:label "attributive verb" ;
+  rdfs:subClassOf env:Verb ;
+  env:has_mother_class env:Verb ;
+  env:has_restriction "icl>be" ;
+  env:is_class "attributive_verb" ;
+.
+env:audit_contractor
+  rdf:type owl:Class ;
+  rdfs:label "environmentally and socially audit contractor"@en ;
+  rdfs:label "sous-traitant audité"@fr ;
+  rdfs:subClassOf env:Environmental_Actor ;
+  env:has_mother_class env:Physical ;
+  env:is_class "audit_contractor" ;
+.
+env:audit_supplier
+  rdf:type owl:Class ;
+  rdfs:label "environmentally and socially audit supplier"@en ;
+  rdfs:label "fournisseur audité"@fr ;
+  rdfs:subClassOf env:Environmental_Actor ;
+  env:has_mother_class env:Physical ;
+  env:is_class "audit_supplier" ;
+.
+env:circular_economy_policy
+  rdf:type owl:Class ;
+  rdfs:label "circular economy policy"@en ;
+  rdfs:label "politique économie circulaire"@fr ;
+  rdfs:subClassOf env:Climate_Policy ;
+  env:has_mother_class env:Climate_Policy ;
+  env:is_class "circular_economy_policy" ;
+.
+env:classProperty
+  rdf:type rdf:Property ;
+  rdfs:label "System Property" ;
+.
+env:consumption
+  rdf:type owl:Class ;
+  rdfs:label "consommation"@fr ;
+  rdfs:label "consumption"@en ;
+  rdfs:subClassOf env:Impact ;
+  env:has_mother_class env:Impact ;
+  env:has_restriction "consumption" ;
+  env:is_class "consumption" ;
+.
+env:entityClassProperty
+  rdf:type rdf:Property ;
+  rdfs:label "entity property" ;
+  rdfs:subPropertyOf env:classProperty ;
+.
+env:eventClassProperty
+  rdf:type rdf:Property ;
+  rdfs:label "event property" ;
+  rdfs:subPropertyOf env:classProperty ;
+.
+env:eventObjectProperty
+  rdf:type rdf:Property ;
+  rdfs:label "event object property" ;
+  rdfs:subPropertyOf env:objectProperty ;
+.
+env:from_structure
+  rdf:type rdf:Property ;
+  rdfs:label "from structure" ;
+  rdfs:subPropertyOf env:classProperty ;
+.
+env:green_capex
+  rdf:type owl:Class ;
+  rdfs:label "green capex"@en ;
+  rdfs:label "investissement vert"@fr ;
+  rdfs:subClassOf env:Climate_Policy ;
+  env:has_mother_class env:Climate_Policy ;
+  env:is_class "green_capex" ;
+.
+env:has_actor
+  rdf:type rdf:Property ;
+  rdfs:label "has actor" ;
+  rdfs:subPropertyOf env:eventClassProperty ;
+.
+env:has_feature
+  rdf:type rdf:Property ;
+  rdfs:label "feature" ;
+  rdfs:subPropertyOf env:entityClassProperty ;
+.
+env:has_frame_base_uri
+  rdf:type rdf:Property ;
+  rdfs:label "has frame base uri" ;
+  rdfs:subPropertyOf env:seedProperty ;
+  env:has_frame_base_uri "https://unsel.tetras-libre.fr/tenet/frame/environment-ontology/" ;
+.
+env:has_frame_uri
+  rdf:type rdf:Property ;
+  rdfs:label "has frame uri" ;
+  rdfs:subPropertyOf env:structureProperty ;
+.
+env:has_mother_class
+  rdf:type rdf:Property ;
+  rdfs:label "has mother class" ;
+  rdfs:range owl:Thing ;
+  rdfs:subPropertyOf env:seedProperty ;
+  env:has_mother_class "Entity" ;
+  env:has_restriction "icl>administrator" ;
+  env:has_restriction "icl>operator" ;
+  env:has_restriction "icl>person" ;
+  env:is_class "agent" ;
+.
+env:has_object_property
+  rdf:type rdf:Property ;
+  rdfs:label "has object property" ;
+  rdfs:subPropertyOf env:seedProperty ;
+  env:has_object_property "eventObjectProperty" ;
+  env:is_class "Event" ;
+.
+env:has_restriction
+  rdf:type rdf:Property ;
+  rdfs:label "has restriction" ;
+  rdfs:subPropertyOf env:seedProperty ;
+.
+env:has_target
+  rdf:type rdf:Property ;
+  rdfs:label "has target" ;
+  rdfs:subPropertyOf env:eventClassProperty ;
+.
+env:has_verb
+  rdf:type rdf:Property ;
+  rdfs:label "has verb" ;
+  rdfs:subPropertyOf env:eventClassProperty ;
+.
+env:is_class
+  rdf:type rdf:Property ;
+  rdfs:label "is class" ;
+  rdfs:subPropertyOf env:seedProperty ;
+  env:has_object_property "statePropertyObjectProperty" ;
+  env:is_class "State_Property" ;
+.
+env:matter
+  rdf:type owl:Class ;
+  rdfs:label "matière"@fr ;
+  rdfs:label "matter"@en ;
+  rdfs:subClassOf env:Physical ;
+  env:has_mother_class env:Physical ;
+  env:has_restriction "icl>matter" ;
+  env:is_class "matter" ;
+.
+env:objectProperty
+  rdf:type rdf:Property ;
+  rdfs:label "object property" ;
+.
+env:phenomenon
+  rdf:type owl:Class ;
+  rdfs:label "phenomenon"@en ;
+  rdfs:label "phénomène"@fr ;
+  rdfs:subClassOf env:Physical ;
+  env:has_mother_class env:Physical ;
+  env:has_restriction "icl>physical_phenomenon" ;
+  env:is_class "place" ;
+.
+env:seedProperty
+  rdf:type rdf:Property ;
+  rdfs:label "seed property" ;
+.
+env:statePropertyObjectProperty
+  rdf:type rdf:Property ;
+  rdfs:label "state property object property" ;
+  rdfs:subPropertyOf env:objectProperty ;
+.
+env:structureProperty
+  rdf:type rdf:Property ;
+  rdfs:label "structure property" ;
+.
+env:verbClassProperty
+  rdf:type rdf:Property ;
+  rdfs:label "verb property" ;
+  rdfs:subPropertyOf env:classProperty ;
+.
+env:verbType
+  rdf:type rdf:Property ;
+  rdfs:label "verb type" ;
+  rdfs:subPropertyOf env:verbClassProperty ;
+.
+env:waste
+  rdf:type owl:Class ;
+  rdfs:label "déchet"@fr ;
+  rdfs:label "waste"@en ;
+  rdfs:subClassOf env:Impact ;
+  env:has_mother_class env:Impact ;
+  env:has_restriction "waste" ;
+  env:is_class "waste" ;
+.
+env:water_policy
+  rdf:type owl:Class ;
+  rdfs:label "politique eau"@fr ;
+  rdfs:label "water policy"@en ;
+  rdfs:subClassOf env:Climate_Policy ;
+  env:has_mother_class env:Climate_Policy ;
+  env:is_class "water_policy" ;
+.
diff --git a/prepare_work_data.py b/prepare_work_data.py
index c10a1236..c024f8fb 100644
--- a/prepare_work_data.py
+++ b/prepare_work_data.py
@@ -45,6 +45,7 @@ req_200 = "CCTP-SRSA-IP-20210831-R200/"
 req_300 = "CCTP-SRSA-IP-20210831-R300/"
 corpus_40 = "CCTP-SRSA-IP-20210831/"
 corpus_ERTMS = "ERTMS/"
+corpus_PEV = "PEV-RSE-Approach/"
 
 
 #==============================================================================
@@ -204,12 +205,14 @@ def run(corpus, source_ref, target_ref):
 #==============================================================================
 
 if __name__ == '__main__':
-    target_ref = "system"
-    run(req_100, 'R100b', target_ref) 
-    run(req_200, 'R200b', target_ref)
-    run(req_300, 'R300b', target_ref) 
+    #target_ref = "system"
+    target_ref = "environment"
+    #run(req_100, 'R100b', target_ref) 
+    #run(req_200, 'R200b', target_ref)
+    #run(req_300, 'R300b', target_ref) 
     #run(corpus_40, 'Corpus-CCTP-40c', target_ref)
     #run(corpus_ERTMS, 'Corpus-ERTMS', target_ref)
+    run(corpus_PEV, 'Corpus-PEV', target_ref)
 
 
     
-- 
GitLab