diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..1895667e4a21f570aada5fc6287d1b0dfa458f72
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+*~
+.DS_Store
+catalog-v001.xml
+saref-pipeline.jar
+target
\ No newline at end of file
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5367313bb054b437e9604482ab24443576f89133
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,31 @@
+image: openjdk:8-jdk
+
+develop:
+  script:
+    - curl -L -o saref-pipeline.jar "https://gitlab.emse.fr/saref/saref-pipeline/-/jobs/artifacts/master/raw/target/saref-pipeline.jar?job=build"
+    - java -jar saref-pipeline.jar develop -s
+  except:
+    - /^prerelease-v/
+    - /^release-v/
+  artifacts:
+    when: always
+    paths:
+      - target/site
+      - target/report_output.xml
+    reports:
+      junit: target/report_output.xml
+
+release:
+  script:
+    - curl -L -o saref-pipeline.jar "https://gitlab.emse.fr/saref/saref-pipeline/-/jobs/artifacts/master/raw/target/saref-pipeline.jar?job=build"
+    - java -jar saref-pipeline.jar release
+  only: 
+    - /^prerelease-v/
+    - /^release-v/
+  artifacts:
+    when: always
+    paths:
+      - target/site
+      - target/report_output.xml
+    reports:
+      junit: target/report_output.xml
diff --git a/.saref-repositories.yml b/.saref-repositories.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f9e12a0a8b393485c3019baafff15e775f20bdf4
--- /dev/null
+++ b/.saref-repositories.yml
@@ -0,0 +1,3 @@
+forge.etsi.org/rep/:
+  repos:
+    - saref/saref-core
diff --git a/LICENSE b/LICENSE
index 4436d6da4c55a84b9f62a8002984f854ba472fa6..28bd92249b666d027ab29f1257796a9a7376143f 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright 2019 ETSI
+Copyright 2020 ETSI
 
 Redistribution and use in source and binary forms, with or without 
 modification, are permitted provided that the following conditions are met:
diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..c3ee606ed1c1048662b2a6b9bf41896af2a6247e
--- /dev/null
+++ b/README.md
@@ -0,0 +1 @@
+Repository for the SAREF4AGRI ontology.
diff --git a/documentation/abstract.md b/documentation/abstract.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/documentation/contributors.md b/documentation/contributors.md
new file mode 100644
index 0000000000000000000000000000000000000000..c0fecda1f7061faa47f03c4c5f30c374421b9ec2
--- /dev/null
+++ b/documentation/contributors.md
@@ -0,0 +1 @@
+- [Jack Verhoosel](https://www.researchgate.net/profile/Jack_Verhoosel) ([TNO](https://tno.nl/))
\ No newline at end of file
diff --git a/documentation/creators.md b/documentation/creators.md
new file mode 100644
index 0000000000000000000000000000000000000000..d50eddacd32046afec75f625537465a299c12244
--- /dev/null
+++ b/documentation/creators.md
@@ -0,0 +1,4 @@
+- [Maria Poveda-Villalon](https://w3id.org/people/mpoveda/) ([Universidad Politécnica de Madrid](http://www.oeg-upm.net/))
+- [Raúl Garcia-Castro](http://www.garcia-castro.com/foaf.rdf#me) ([Universidad Politécnica de Madrid](http://www.oeg-upm.net/))
+- [Laura Daniele](https://www.linkedin.com/in/lauradaniele) ([TNO](https://tno.nl/))
+- [Mike de Roode](https://www.linkedin.com/in/mderoode) ([TNO](https://tno.nl/))
diff --git a/documentation/diagrams/saref4agri.png b/documentation/diagrams/saref4agri.png
new file mode 100644
index 0000000000000000000000000000000000000000..4c1dfaeda4252d3e571ec42a6e8d91ab678d8621
Binary files /dev/null and b/documentation/diagrams/saref4agri.png differ
diff --git a/examples/exampleIrrigationUseCase1.ttl b/examples/exampleIrrigationUseCase1.ttl
new file mode 100644
index 0000000000000000000000000000000000000000..6c1b074d95be0387f4248b61884e99ac123ac29f
--- /dev/null
+++ b/examples/exampleIrrigationUseCase1.ttl
@@ -0,0 +1,90 @@
+# baseURI: https://w3id.org/def/saref4agri/example1
+
+@prefix dc: <http://purl.org/dc/elements/1.1/> .
+@prefix dcterms: <http://purl.org/dc/terms/> .
+@prefix ex: <https://w3id.org/def/saref4agri/example1#> .
+@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
+@prefix geosp: <http://www.opengis.net/ont/geosparql#> .
+@prefix om: <http://www.ontology-of-units-of-measure.org/resource/om-2/> .
+@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 s4agri: <https://w3id.org/def/saref4agri#> .
+@prefix saref: <https://w3id.org/saref#> .
+@prefix sosa: <http://www.w3.org/ns/sosa/> .
+@prefix ssn: <http://www.w3.org/ns/ssn/> .
+@prefix time: <http://www.w3.org/2006/time#> .
+@prefix xml: <http://www.w3.org/XML/1998/namespace> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+om:millibar
+  rdf:type owl:NamedIndividual ;
+  rdf:type saref:UnitOfMeasure ;
+  rdfs:label "millibar"@en ;
+.
+s4agri:SoilMoisture
+  rdf:type owl:NamedIndividual ;
+  rdf:type saref:Property ;
+  rdfs:label "Soil moisture"@en ;
+.
+<https://w3id.org/def/saref4agri/example1>
+  rdf:type owl:Ontology ;
+  dc:description "SAREF4AGRI example for the Smar Irrigation use case."@en ;
+  owl:versionIRI <https://w3id.org/def/v1/saref4agri/example1> ;
+.
+ex:ArvalisDeployment20162017Land07
+  rdf:type owl:NamedIndividual ;
+  rdf:type s4agri:Deployment ;
+  ssn:deployedOnPlatform ex:PlatformArvalisLand07 ;
+  ssn:deployedSystem ex:ArvalisIrrinovStation01 ;
+  s4agri:hasDeploymentPeriod ex:TimeInterval2016-2017 ;
+.
+ex:ArvalisIrrinovStation01
+  rdf:type owl:NamedIndividual ;
+  rdf:type ssn:System ;
+  sosa:isHostedBy ex:PlatformArvalisLand07 ;
+  ssn:hasDeployment ex:ArvalisDeployment20162017Land07 ;
+  ssn:hasSubSystem ex:ArvalisIrrinovStation01SoilSensor01 ;
+  ssn:hasSubSystem ex:ArvalisIrrinovStation01SoilSensor02 ;
+.
+ex:ArvalisIrrinovStation01SoilSensor01
+  rdf:type owl:NamedIndividual ;
+  rdf:type s4agri:SoilTensiometer ;
+  saref:measuresProperty s4agri:SoilMoisture ;
+.
+ex:ArvalisIrrinovStation01SoilSensor02
+  rdf:type owl:NamedIndividual ;
+  rdf:type s4agri:SoilTensiometer ;
+  geo:alt -0.6 ;
+  saref:makesMeasurement ex:ArvalisIrrinovStation01SoilSensor02ObservationAtPT24H2016-06-14T000000_0200 ;
+  saref:measuresProperty s4agri:SoilMoisture ;
+.
+ex:ArvalisIrrinovStation01SoilSensor02ObservationAtPT24H2016-06-14T000000_0200
+  rdf:type owl:NamedIndividual ;
+  rdf:type saref:Measurement ;
+  saref:hasValue "1490.0"^^xsd:double ;
+  saref:isMeasuredIn om:millibar ;
+  saref:relatesToProperty s4agri:SoilMoisture ;
+.
+ex:PlatformArvalisLand07
+  rdf:type owl:NamedIndividual ;
+  rdf:type sosa:Platform ;
+  sosa:hosts ex:ArvalisIrrinovStation01 ;
+  ssn:inDeployment ex:ArvalisDeployment20162017Land07 ;
+.
+ex:TimeInterval2016-2017
+  rdf:type owl:NamedIndividual ;
+  rdf:type time:Interval ;
+  time:hasBeginning ex:instant_2017-12-31T235959 ;
+  time:hasEnd ex:instant_2016-01-01T000000 ;
+.
+ex:instant_2016-01-01T000000
+  rdf:type owl:NamedIndividual ;
+  rdf:type time:Instant ;
+  time:inXSDDateTimeStamp "2016-01-01T00:00:00"^^xsd:dateTime ;
+.
+ex:instant_2017-12-31T235959
+  rdf:type owl:NamedIndividual ;
+  rdf:type time:Instant ;
+  time:inXSDDateTimeStamp "2017-12-31T23:59:59"^^xsd:dateTime ;
+.
diff --git a/examples/saref4agri-ex1.ttl b/examples/saref4agri-ex1.ttl
new file mode 100644
index 0000000000000000000000000000000000000000..c935f5091e761e1559022d5a031beb94940952a4
--- /dev/null
+++ b/examples/saref4agri-ex1.ttl
@@ -0,0 +1,469 @@
+# baseURI: http://ontology.tno.nl/examples/saref4agri-ex1
+# imports: http://w3id.org/def/saref4agri
+
+@prefix ex: <http://ontology.tno.nl/examples/saref4agri-ex1#> .
+@prefix foaf: <http://xmlns.com/foaf/spec/#> .
+@prefix geosp: <http://www.opengis.net/ont/geosparql#> .
+@prefix obo: <http://purl.obolibrary.org/obo/> .
+@prefix org: <https://schema.org/> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix org: <https://schema.org/> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix s4agri: <http://w3id.org/def/saref4agri#> .
+@prefix saref: <http://w3id.org/saref#> .
+@prefix ssn: <http://www.w3.org/ns/ssn/> .
+@prefix time: <http://www.w3.org/2006/time#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+<http://ontology.tno.nl/examples/saref4agri-ex1>
+  rdf:type owl:Ontology ;
+  owl:imports <http://w3id.org/def/saref4agri> ;
+  owl:versionInfo "Created with TopBraid Composer"^^xsd:string ;
+.
+<http://ontology.tno.nl/examples/saref4agri-ex1#5-5-5_crop_fertilizer>
+  rdf:type owl:NamedIndividual ;
+.
+ex:Animalia
+  rdf:type obo:TAXRANK_0000017 ;
+  rdfs:label "Animalia"^^xsd:string ;
+.
+ex:BioCompostIntake
+  rdf:type ex:CompostIntake ;
+.
+ex:Bos_Taurus
+  rdf:type obo:TAXRANK_0000006 ;
+  rdfs:label "Bos Taurus"^^xsd:string ;
+.
+ex:Bovidae
+  rdf:type obo:TAXRANK_0000004 ;
+  rdfs:label "Bovidae"^^xsd:string ;
+.
+ex:Compartment_A
+  rdf:type s4agri:BuildingSpace ;
+  rdf:type owl:NamedIndividual ;
+  s4agri:isContainedIn ex:Milk_Cow_Barn ;
+.
+ex:Compartment_B
+  rdf:type s4agri:BuildingSpace ;
+  rdf:type owl:NamedIndividual ;
+  s4agri:isContainedIn ex:Milk_Cow_Barn ;
+.
+ex:CompostIntake
+  rdf:type owl:Class ;
+  rdfs:label "Fertilizer intake"^^xsd:string ;
+  rdfs:subClassOf s4agri:Intake ;
+.
+ex:Compost_2019-02-02
+  rdf:type <https://w3id.org/saref#Measurement> ;
+  saref:hasValue 370 ;
+  saref:isMeasuredIn <http://www.wurvoc.org/vocabularies/om-1.8/Liter> ;
+  saref:relatesToProperty ex:CompostIntake ;
+.
+ex:Compost_2019-02-16
+  rdf:type <https://w3id.org/saref#Measurement> ;
+  saref:hasFeatureOfInterest ex:Parcel_East ;
+  saref:hasValue 240 ;
+  saref:isMeasuredIn <http://www.wurvoc.org/vocabularies/om-1.8/Liter> ;
+  saref:relatesToProperty ex:CompostIntake ;
+.
+ex:ConcentrateIntake
+  rdf:type owl:Class ;
+  rdfs:label "Concentrate intake"^^xsd:string ;
+  rdfs:subClassOf s4agri:Intake ;
+.
+ex:Cow1
+  rdf:type ex:LactatingCow ;
+  obo:TAXRANK_1000000 ex:Animalia ;
+  obo:TAXRANK_1000000 ex:Bos_Taurus ;
+  obo:TAXRANK_1000000 ex:Bovidae ;
+  s4agri:hasBirthDate "2016-05-29"^^xsd:string ;
+  s4agri:isMemberOf ex:Cow_Group_A ;
+.
+ex:Cow2
+  rdf:type ex:LactatingCow ;
+  obo:TAXRANK_1000000 ex:Animalia ;
+  obo:TAXRANK_1000000 ex:Bos_Taurus ;
+  obo:TAXRANK_1000000 ex:Bovidae ;
+  s4agri:hasBirthDate "2016-05-22"^^xsd:string ;
+  s4agri:isMemberOf ex:Cow_Group_A ;
+.
+ex:Cow3
+  rdf:type ex:LactatingCow ;
+  obo:TAXRANK_1000000 ex:Animalia ;
+  obo:TAXRANK_1000000 ex:Bos_Taurus ;
+  obo:TAXRANK_1000000 ex:Bovidae ;
+  s4agri:hasBirthDate "2018-03-15"^^xsd:string ;
+.
+ex:Cow_1_Birth
+  rdf:type owl:NamedIndividual ;
+  rdf:type time:Instant ;
+.
+ex:Cow_2_Birth
+  rdf:type owl:NamedIndividual ;
+  rdf:type time:Instant ;
+.
+ex:Cow_2_Death
+  rdf:type owl:NamedIndividual ;
+  rdf:type time:Instant ;
+.
+ex:Cow_3_Birth
+  rdf:type owl:NamedIndividual ;
+  rdf:type time:Instant ;
+.
+ex:Cow_Activity_2019_03_01-14_00
+  rdf:type <https://w3id.org/saref#Measurement> ;
+  saref:hasFeatureOfInterest ex:Cow3 ;
+  saref:hasValue "20"^^xsd:string ;
+  saref:isMeasuredIn time:minute ;
+  saref:relatesToProperty ex:Eating_Activity_in_minutes_per__hour ;
+.
+ex:Cow_Activity_2019_03_01-15_00
+  rdf:type <https://w3id.org/saref#Measurement> ;
+  saref:hasFeatureOfInterest ex:Cow3 ;
+  saref:hasValue "15"^^xsd:string ;
+  saref:isMeasuredIn time:minute ;
+  saref:relatesToProperty ex:Eating_Activity_in_minutes_per__hour ;
+.
+ex:Cow_Eating_Activity_Sensor_33
+  rdf:type ex:EatingActivitySensor ;
+  rdf:type owl:NamedIndividual ;
+  saref:relatesToProperty ex:Eating_Activity_in_minutes_per__hour ;
+  <https://w3id.org/saref#makesMeasurement> ex:Cow_Activity_2019_03_01-14_00 ;
+  <https://w3id.org/saref#makesMeasurement> ex:Cow_Activity_2019_03_01-15_00 ;
+.
+ex:Cow_Group_A
+  rdf:type s4agri:AnimalGroup ;
+  s4agri:generates ex:MilkYield ;
+.
+ex:Cow_Group_B
+  rdf:type s4agri:AnimalGroup ;
+  s4agri:contains ex:Cow3 ;
+.
+ex:CropIntake
+  rdf:type owl:Class ;
+  rdfs:label "Crop intake"^^xsd:string ;
+  rdfs:subClassOf s4agri:Intake ;
+.
+ex:CropYield
+  rdf:type owl:Class ;
+  rdfs:comment "Produced crops (i.e. cultivated plant)"@en ;
+  rdfs:label "Crop Yield"^^xsd:string ;
+  rdfs:subClassOf s4agri:Yield ;
+  ;
+.
+
+ex:Cyperales
+  rdf:type obo:TAXRANK_0000003 ;
+  rdfs:label "Cyperales"^^xsd:string ;
+.
+ex:EatingActivitySensor
+  rdf:type owl:Class ;
+  rdfs:subClassOf <https://w3id.org/saref#Sensor> ;
+.
+ex:Eating_Activity_in_minutes_per__hour
+  rdf:type s4agri:Property ;
+.
+ex:EggYield
+  rdf:type owl:Class ;
+  rdfs:label "Egg Yield"^^xsd:string ;
+  rdfs:subClassOf s4agri:Yield ;
+.
+ex:FarmHolding
+  rdf:type owl:Class ;
+  rdfs:comment "An organization specialized in farming."^^xsd:string ;
+  rdfs:label "Farmer holding"^^xsd:string ;
+  rdfs:subClassOf org:Organization ;
+.
+ex:Farm_Jansen_and_Sons_Eindhoven
+  rdf:type geosp:Feature ;
+  rdf:type owl:NamedIndividual ;
+  s4agri:contains ex:Heated_Glass_Greenhouse ;
+  s4agri:contains ex:Milk_Cow_Barn ;
+  s4agri:contains ex:Parcel_East ;
+  s4agri:contains ex:Parcel_North ;
+  s4agri:contains ex:Parcel_South ;
+  s4agri:contains ex:Parcel_West ;
+.
+ex:Farmer
+  rdf:type owl:Class ;
+  rdfs:comment "A Person which is a farmer as profession"^^xsd:string ;
+  rdfs:label "Farmer"^^xsd:string ;
+  rdfs:subClassOf foaf:Person ;
+.
+ex:FarmingBuilding
+  rdf:type owl:Class ;
+  rdfs:comment "A building specialized for farming purposes."^^xsd:string ;
+  rdfs:label "Farming building"^^xsd:string ;
+  rdfs:subClassOf s4agri:Building ;
+.
+ex:Greenhouse
+  rdf:type owl:Class ;
+  rdfs:comment "A glass building in which crops that need protection from cold weather are grown."^^xsd:string ;
+  rdfs:label "Greenhouse"^^xsd:string ;
+  rdfs:subClassOf s4agri:Building ;
+.
+<http://ontology.tno.nl/examples/saref4agri-ex1#H._Jansen>
+  rdf:type ex:Farmer ;
+  s4agri:isMemberOf ex:Jansen_and_Sons ;
+  s4agri:hasName "Hendricus Jansen"@en ;
+.
+ex:Heated_Glass_Greenhouse
+  rdf:type ex:Greenhouse ;
+.
+ex:Humidity_Percentage
+  rdf:type owl:NamedIndividual ;
+.
+ex:Intake_Sugar_Corn
+  rdf:type ex:CropIntake ;
+.
+<http://ontology.tno.nl/examples/saref4agri-ex1#J._Jansen>
+  rdf:type ex:Farmer ;
+  s4agri:isMemberOf ex:Jansen_and_Sons ;
+  s4agri:hasName "Johannes Jansen"@en ;
+.
+ex:Jansen_and_Sons
+  rdf:type ex:FarmHolding ;
+  s4agri:managesFarm ex:Farm_Jansen_and_Sons_Eindhoven ;
+.
+ex:Kilogram
+  rdf:type saref:Property ;
+  rdf:type owl:NamedIndividual ;
+.
+ex:LactatingCow
+  rdf:type owl:Class ;
+  rdfs:comment "A domesticated cow specialized for the production of milk."^^xsd:string ;
+  rdfs:label "Milk cow"^^xsd:string ;
+  rdfs:subClassOf s4agri:Animal ;
+.
+
+
+ex:MeatYield
+  rdf:type owl:Class ;
+  rdfs:label "Meat Yield"^^xsd:string ;
+  rdfs:subClassOf s4agri:Yield ;
+  ;
+.
+
+
+ex:Milk
+  rdf:type ex:MilkYield ;
+  rdf:type owl:NamedIndividual ;
+.
+ex:MilkYield
+  rdf:type owl:Class ;
+  rdfs:label "Milk Yield"^^xsd:string ;
+  rdfs:subClassOf s4agri:Yield ;
+.
+ex:MilkYieldSensor
+  rdf:type ex:MilkingSensor ;
+  saref:measuresProperty ex:MilkYield ;
+  <https://w3id.org/saref#makesMeasurement> ex:Milk_Yield_2019-03-01_1 ;
+  <https://w3id.org/saref#makesMeasurement> ex:Milk_Yield_2019-03-01_2 ;
+  <https://w3id.org/saref#makesMeasurement> ex:Milk_Yield_2019-03-02_1 ;
+  <https://w3id.org/saref#makesMeasurement> ex:Milk_Yield_2019-03-02_2 ;
+  <https://w3id.org/saref#makesMeasurement> ex:Milk_Yield_2019-03-03_1 ;
+  <https://w3id.org/saref#makesMeasurement> ex:Milk_Yield_2019-03-03_2 ;
+.
+ex:Milk_Cow_Barn
+  rdf:type ex:FarmingBuilding ;
+.
+ex:Milk_Cow_Meat
+  rdf:type ex:MeatYield ;
+.
+ex:Milk_Yield_2019-03-01_1
+  rdf:type <https://w3id.org/saref#Measurement> ;
+  saref:hasFeatureOfInterest ex:Cow_Group_A ;
+  saref:hasValue "4,7"@en ;
+  saref:isMeasuredIn <http://www.wurvoc.org/vocabularies/om-1.8/Liter> ;
+  saref:relatesToProperty ex:MilkYield ;
+.
+ex:Milk_Yield_2019-03-01_2
+  rdf:type <https://w3id.org/saref#Measurement> ;
+  saref:hasFeatureOfInterest ex:Cow_Group_A ;
+  saref:hasValue "3,9"@en ;
+  saref:isMeasuredIn <http://www.wurvoc.org/vocabularies/om-1.8/Liter> ;
+  saref:relatesToProperty ex:MilkYield ;
+.
+ex:Milk_Yield_2019-03-02_1
+  rdf:type <https://w3id.org/saref#Measurement> ;
+  saref:hasFeatureOfInterest ex:Cow_Group_A ;
+  saref:hasValue "2,1"@en ;
+  saref:isMeasuredIn <http://www.wurvoc.org/vocabularies/om-1.8/Liter> ;
+  saref:relatesToProperty ex:MilkYield ;
+.
+ex:Milk_Yield_2019-03-02_2
+  rdf:type <https://w3id.org/saref#Measurement> ;
+  saref:hasFeatureOfInterest ex:Cow_Group_A ;
+  saref:hasValue "2,7"@en ;
+  saref:isMeasuredIn <http://www.wurvoc.org/vocabularies/om-1.8/Liter> ;
+  saref:relatesToProperty ex:MilkYield ;
+.
+ex:Milk_Yield_2019-03-03_1
+  rdf:type <https://w3id.org/saref#Measurement> ;
+  saref:hasFeatureOfInterest ex:Cow_Group_B ;
+  saref:hasValue "5,2"@en ;
+  saref:isMeasuredIn <http://www.wurvoc.org/vocabularies/om-1.8/Liter> ;
+  saref:relatesToProperty ex:MilkYield ;
+.
+ex:Milk_Yield_2019-03-03_2
+  rdf:type <https://w3id.org/saref#Measurement> ;
+  saref:hasFeatureOfInterest ex:Cow_Group_B ;
+  saref:hasValue "3,7"@en ;
+  saref:isMeasuredIn <http://www.wurvoc.org/vocabularies/om-1.8/Liter> ;
+  saref:relatesToProperty ex:MilkYield ;
+.
+ex:MilkingSensor
+  rdf:type owl:Class ;
+  rdfs:subClassOf <https://w3id.org/saref#Sensor> ;
+.
+ex:Milking_Machine
+  rdf:type <https://w3id.org/saref#Device> ;
+  rdfs:label "Milking Machine"^^xsd:string ;
+  <https://w3id.org/saref#consistsOf> ex:MilkYieldSensor ;
+.
+ex:Minutes
+  rdf:type saref:Time ;
+  rdf:type owl:NamedIndividual ;
+.
+ex:MovementActivitySensor
+  rdf:type owl:Class ;
+  rdfs:subClassOf <https://w3id.org/saref#Sensor> ;
+.
+ex:Parcel_East
+  rdf:type s4agri:Parcel ;
+  s4agri:contains ex:Sugar_Snaps_1 ;
+  s4agri:hasName "Field Frontyard"^^xsd:string ;
+  s4agri:receives ex:Compost_2019-02-16 ;
+.
+ex:Parcel_North
+  rdf:type s4agri:Parcel ;
+  s4agri:contains ex:Cow_Group_A ;
+  s4agri:hasName "Grazing Plot"^^xsd:string ;
+.
+ex:Parcel_South
+  rdf:type s4agri:Parcel ;
+.
+ex:Parcel_West
+  rdf:type s4agri:Parcel ;
+  s4agri:contains ex:Sweet_Corn_2 ;
+  s4agri:receives ex:Compost_2019-02-02 ;
+.
+<http://ontology.tno.nl/examples/saref4agri-ex1#Pisum_sativum_var._macrocarpon_Ser.>
+  rdf:type obo:TAXRANK_0000016 ;
+  rdfs:label "Pisum sativum var. macrocarpon Ser."^^xsd:string ;
+.
+ex:Plantae
+  rdf:type obo:TAXRANK_0000017 ;
+  rdfs:label "Plantae"^^xsd:string ;
+.
+ex:Rosanae_Fabales
+  rdf:type obo:TAXRANK_0000003 ;
+  rdfs:label "Rosanae Fabales"^^xsd:string ;
+.
+ex:Soil_Acidity
+  rdf:type s4agri:Property ;
+  rdf:type <https://w3id.org/saref#Property> ;
+  rdfs:label "Acidity"^^xsd:string ;
+.
+ex:Soil_Acidity_2019_03_04
+  rdf:type <https://w3id.org/saref#Measurement> ;
+  saref:hasFeatureOfInterest ex:Parcel_East ;
+  saref:hasValue "7.4"^^xsd:string ;
+  saref:isMeasuredIn <http://www.wurvoc.org/vocabularies/om-1.8/Acidity> ;
+  saref:relatesToProperty ex:Soil_Acidity ;
+.
+ex:Soil_Acidity_2019_03_05
+  rdf:type <https://w3id.org/saref#Measurement> ;
+  saref:hasFeatureOfInterest ex:Parcel_East ;
+  saref:hasValue "7.5"^^xsd:string ;
+  saref:isMeasuredIn <http://www.wurvoc.org/vocabularies/om-1.8/Acidity> ;
+  saref:relatesToProperty ex:Soil_Acidity ;
+.
+ex:Soil_Measurement_Deployment
+  rdf:type s4agri:Deployment ;
+  s4agri:hasDeploymentPeriod time:unitYear ;
+  s4agri:isDeployedAtSpace ex:Parcel_East ;
+  rdfs:label "Soil Measurement Deployment"^^xsd:string ;
+  ssn:deployedOnPlatform ex:Soil_Platform ;
+  ssn:deployedSystem ex:Soil_Sensor ;
+.
+ex:Soil_Platform
+  rdf:type s4agri:Platform ;
+  rdfs:label "Soil Platform"^^xsd:string ;
+.
+ex:Soil_Sensor
+  rdf:type <https://w3id.org/saref#Sensor> ;
+  saref:measuresProperty ex:Humidity_Percentage ;
+  saref:measuresProperty ex:Soil_Acidity ;
+  <https://w3id.org/saref#makesMeasurement> ex:Soil_Acidity_2019_03_04 ;
+  <https://w3id.org/saref#makesMeasurement> ex:Soil_Acidity_2019_03_05 ;
+.
+ex:Storage_Barn
+  rdf:type ex:FarmingBuilding ;
+.
+ex:Sugar_Corn_Yield
+  rdf:type s4agri:Yield ;
+.
+ex:Sugar_Snaps_1
+  rdf:type s4agri:Crop ;
+  obo:TAXRANK_1000000 <http://ontology.tno.nl/examples/saref4agri-ex1#Pisum_sativum_var._macrocarpon_Ser.> ;
+  obo:TAXRANK_1000000 ex:Plantae ;
+.
+ex:Sweet_Corn_1
+  rdf:type s4agri:Crop ;
+  obo:TAXRANK_1000000 ex:Plantae ;
+  obo:TAXRANK_1000000 ex:Rosanae_Fabales ;
+  obo:TAXRANK_1000000 <http://ontology.tno.nl/examples/saref4agri-ex1#Zea_mays_L.> ;
+.
+ex:Sweet_Corn_2
+  rdf:type s4agri:Crop ;
+  obo:TAXRANK_1000000 ex:Plantae ;
+  obo:TAXRANK_1000000 ex:Rosanae_Fabales ;
+  obo:TAXRANK_1000000 <http://ontology.tno.nl/examples/saref4agri-ex1#Zea_mays_L.> ;
+.
+ex:Vermicompost
+  rdf:type owl:NamedIndividual ;
+.
+<http://ontology.tno.nl/examples/saref4agri-ex1#Zea_mays_L.>
+  rdf:type obo:TAXRANK_0000006 ;
+  rdfs:label "Zea mays L."^^xsd:string ;
+.
+s4agri:Location
+  rdf:type owl:ObjectProperty ;
+.
+s4agri:hasID
+  rdf:type owl:ObjectProperty ;
+.
+s4agri:hasMember
+  rdf:type owl:ObjectProperty ;
+  rdfs:label "has member"^^xsd:string ;
+.
+s4agri:hasPlantDate
+  rdf:type owl:ObjectProperty ;
+.
+s4agri:hasSpace
+  rdf:type owl:ObjectProperty ;
+.
+s4agri:isProducedBy
+  rdf:type owl:ObjectProperty ;
+.
+
+s4agri:managesFarm
+  rdf:type owl:ObjectProperty ;
+
+.
+s4agri:receives
+  rdf:type owl:ObjectProperty ;
+.
+saref:hasFeatureOfInterest
+  owl:inverseOf saref:isFeatureOfInterestOf ;
+.
+<http://www.wurvoc.org/vocabularies/om-1.8/Acidity>
+  rdf:type <https://w3id.org/saref#UnitOfMeasure> ;
+  rdfs:comment "pH is a scale used to specify how acidic or basic a water-based solution is. Acidic solutions have a lower pH, basic solutions have a higher pH. At room temperature, pure water is neither acidic nor basic and has a pH of 7."^^xsd:string ;
+  rdfs:label "ph"^^xsd:string ;
+.
+<http://www.wurvoc.org/vocabularies/om-1.8/Liter>
+  rdf:type <https://w3id.org/saref#UnitOfMeasure> ;
+.
diff --git a/ontology/saref4agri.ttl b/ontology/saref4agri.ttl
new file mode 100644
index 0000000000000000000000000000000000000000..e8332b011c2ece7b0793fbfae2e9a3914756963b
--- /dev/null
+++ b/ontology/saref4agri.ttl
@@ -0,0 +1,1253 @@
+@prefix : <https://saref.etsi.org/saref4agri/> .
+@prefix owl: <http://www.w3.org/2002/07/owl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix xml: <http://www.w3.org/XML/1998/namespace> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix dcterms: <http://purl.org/dc/terms/>.
+@prefix vann:    <http://purl.org/vocab/vann/>.
+
+@base <https://saref.etsi.org/saref4agri/> .
+
+<https://saref.etsi.org/saref4agri/> rdf:type owl:Ontology ;
+  dcterms:description "This ontology extends the SAREF ontology for the Agricultural domain. This work has been developed in the context of the STF 534 (https://portal.etsi.org/STF/STFs/STFHomePages/STF534.aspx), which was established with the goal to create three SAREF extensions, one of them for the Agricultural domain."@en ;
+  dcterms:title "SAREF4AGRI: an extension of SAREF for the agriculture and food domain"@en ;
+  dcterms:created "2019-04-15"^^xsd:date ;
+  dcterms:creator <http://w3id.org/people/mpoveda>, 
+    <http://www.garcia-castro.com/foaf.rdf#me> ,
+    <https://www.linkedin.com/in/lauradaniele> ,
+    <https://www.linkedin.com/in/mderoode> ;
+  dcterms:contributor <https://www.researchgate.net/profile/Jack_Verhoosel> ;
+  dcterms:description "SAREF4AGRI is an extension of SAREF for the agriculture and food domain. SAREF4AGRI is specified and published by ETSI in the TS 103 410-6 associated to this ontology file. The list of use cases, standards and requirements that guided the creation of SAREF4AGRI are described in the associated ETSI TR 103 511."@en ;
+  dcterms:issued "2019-04-30"^^xsd:date ;
+  dcterms:license <https://forge.etsi.org/etsi-software-license> ;
+  dcterms:modified "2020-06-05"^^xsd:date ;
+  dcterms:publisher <https://www.etsi.org/> ;
+  dcterms:source <https://forge.etsi.org/rep/SAREF/saref4agri/> ;
+  rdfs:seeAlso <https://www.etsi.org/deliver/etsi_ts/103400_103499/10341006/01.01.01_60/ts_10341006v010101p.pdf> ;
+  vann:preferredNamespacePrefix "s4agri" ;
+  vann:preferredNamespaceUri "https://saref.etsi.org/saref4agri/" ;
+  owl:versionIRI <https://saref.etsi.org/saref4agri/v1.1.2/> ;
+  owl:versionInfo "v1.1.2" .
+
+#################################################################
+#    Annotation properties
+#################################################################
+
+###  http://purl.org/dc/elements/1.1/creator
+dcterms:creator rdf:type owl:AnnotationProperty .
+
+
+###  http://purl.org/dc/elements/1.1/description
+dcterms:description rdf:type owl:AnnotationProperty .
+
+
+###  http://purl.org/dc/elements/1.1/title
+dcterms:title rdf:type owl:AnnotationProperty .
+
+
+###  http://purl.org/dc/terms/contributor
+dcterms:contributor rdf:type owl:AnnotationProperty .
+
+
+###  http://purl.org/dc/terms/created
+dcterms:created rdf:type owl:AnnotationProperty .
+
+
+###  http://purl.org/dc/terms/creator
+dcterms:creator rdf:type owl:AnnotationProperty .
+
+
+###  http://purl.org/dc/terms/description
+dcterms:description rdf:type owl:AnnotationProperty .
+
+
+###  http://purl.org/dc/terms/issued
+dcterms:issued rdf:type owl:AnnotationProperty .
+
+
+###  http://purl.org/dc/terms/license
+dcterms:license rdf:type owl:AnnotationProperty .
+
+
+###  http://purl.org/dc/terms/modified
+dcterms:modified rdf:type owl:AnnotationProperty .
+
+
+###  http://purl.org/dc/terms/publisher
+dcterms:publisher rdf:type owl:AnnotationProperty .
+
+
+###  http://purl.org/dc/terms/source
+dcterms:source rdf:type owl:AnnotationProperty .
+
+
+###  http://purl.org/dc/terms/title
+dcterms:title rdf:type owl:AnnotationProperty .
+
+
+###  http://purl.org/vocab/vann/preferredNamespacePrefix
+vann:preferredNamespacePrefix rdf:type owl:AnnotationProperty .
+
+
+###  http://purl.org/vocab/vann/preferredNamespaceUri
+vann:preferredNamespaceUri rdf:type owl:AnnotationProperty .
+
+
+###  http://www.w3.org/2003/01/geo/wgs84_pos#alt
+<http://www.w3.org/2003/01/geo/wgs84_pos#alt> rdf:type owl:AnnotationProperty ;
+                                              rdfs:comment "The WGS84 altitude of a SpatialThing (decimal meters above the local reference ellipsoid)." ;
+                                              rdfs:label "altitude" ;
+                                              rdfs:domain <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> .
+
+
+###  http://www.w3.org/2003/01/geo/wgs84_pos#lat
+<http://www.w3.org/2003/01/geo/wgs84_pos#lat> rdf:type owl:AnnotationProperty ;
+                                              rdfs:comment "The WGS84 latitude of a SpatialThing (decimal degrees)." ;
+                                              rdfs:label "latitude" ;
+                                              rdfs:domain <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> .
+
+
+###  http://www.w3.org/2003/01/geo/wgs84_pos#location
+<http://www.w3.org/2003/01/geo/wgs84_pos#location> rdf:type owl:AnnotationProperty ;
+                                                   rdfs:subPropertyOf <http://xmlns.com/foaf/0.1/based_near> .
+
+
+###  http://www.w3.org/2003/01/geo/wgs84_pos#long
+<http://www.w3.org/2003/01/geo/wgs84_pos#long> rdf:type owl:AnnotationProperty ;
+                                               rdfs:comment "The WGS84 longitude of a SpatialThing (decimal degrees)." ;
+                                               rdfs:label "longitude" ;
+                                               rdfs:domain <http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> .
+
+
+###  http://www.w3.org/2004/02/skos/core#definition
+<http://www.w3.org/2004/02/skos/core#definition> rdf:type owl:AnnotationProperty .
+
+
+###  http://www.w3.org/2004/02/skos/core#prefLabel
+<http://www.w3.org/2004/02/skos/core#prefLabel> rdf:type owl:AnnotationProperty .
+
+
+###  http://www.w3.org/ns/prov#hadPrimarySource
+<http://www.w3.org/ns/prov#hadPrimarySource> rdf:type owl:AnnotationProperty .
+
+
+###  http://xmlns.com/foaf/0.1/based_near
+<http://xmlns.com/foaf/0.1/based_near> rdf:type owl:AnnotationProperty .
+
+
+#################################################################
+#    Datatypes
+#################################################################
+
+###  http://www.w3.org/2001/XMLSchema#date
+xsd:date rdf:type rdfs:Datatype .
+
+
+###  http://www.w3.org/2001/XMLSchema#duration
+xsd:duration rdf:type rdfs:Datatype .
+
+
+#################################################################
+#    Object Properties
+#################################################################
+
+###  http://purl.obolibrary.org/obo/TAXRANK_1000000
+<http://purl.obolibrary.org/obo/TAXRANK_1000000> rdf:type owl:ObjectProperty ;
+                                                 rdfs:label "has taxon rank"@en .
+
+
+###  http://www.opengis.net/ont/geosparql#hasGeometry
+<http://www.opengis.net/ont/geosparql#hasGeometry> rdf:type owl:ObjectProperty ;
+                                                   rdfs:domain <http://www.opengis.net/ont/geosparql#Feature> ;
+                                                   rdfs:range <http://www.opengis.net/ont/geosparql#Geometry> ;
+                                                   rdfs:comment "A spatial representation for a given feature."@en ;
+                                                   rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql#> ;
+                                                   rdfs:label "has geometry"@en .
+
+
+###  http://www.opengis.net/ont/geosparql#sfContains
+<http://www.opengis.net/ont/geosparql#sfContains> rdf:type owl:ObjectProperty ;
+                                                  rdfs:domain <http://www.opengis.net/ont/geosparql#SpatialObject> ;
+                                                  rdfs:range <http://www.opengis.net/ont/geosparql#SpatialObject> ;
+                                                  rdfs:comment "Exists if the subject SpatialObject spatially contains the object SpatialObject. DE-9IM: T*****FF*"@en ;
+                                                  rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ,
+                                                                   <http://www.opengis.net/spec/geosparql/1.0> ;
+                                                  rdfs:label "contains"@en .
+
+
+###  http://www.opengis.net/ont/geosparql#sfWithin
+<http://www.opengis.net/ont/geosparql#sfWithin> rdf:type owl:ObjectProperty ;
+                                                rdfs:domain <http://www.opengis.net/ont/geosparql#SpatialObject> ;
+                                                rdfs:range <http://www.opengis.net/ont/geosparql#SpatialObject> ;
+                                                rdfs:comment "Exists if the subject SpatialObject is spatially within the object SpatialObject. DE-9IM: T*F**F***"@en ;
+                                                rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ,
+                                                                 <http://www.opengis.net/spec/geosparql/1.0> ;
+                                                rdfs:label "within"@en .
+
+
+###  http://www.w3.org/2003/01/geo/wgs84_pos#location
+<http://www.w3.org/2003/01/geo/wgs84_pos#location> rdf:type owl:ObjectProperty .
+
+
+###  http://www.w3.org/ns/sosa/hosts
+<http://www.w3.org/ns/sosa/hosts> rdf:type owl:ObjectProperty ;
+                                  owl:inverseOf <http://www.w3.org/ns/sosa/isHostedBy> ;
+                                  rdfs:comment "Relation between a platform and the systems it hosts."@en ;
+                                  rdfs:isDefinedBy <http://www.w3.org/ns/sosa/> ;
+                                  rdfs:label "host"@en .
+
+
+###  http://www.w3.org/ns/sosa/isHostedBy
+<http://www.w3.org/ns/sosa/isHostedBy> rdf:type owl:ObjectProperty ;
+                                       rdfs:comment "Relation between a system and its hosting platform."@en ;
+                                       rdfs:isDefinedBy <http://www.w3.org/ns/sosa/> ;
+                                       rdfs:label "is hosted by"@en .
+
+
+###  http://www.w3.org/ns/ssn/deployedOnPlatform
+<http://www.w3.org/ns/ssn/deployedOnPlatform> rdf:type owl:ObjectProperty ;
+                                              owl:inverseOf <http://www.w3.org/ns/ssn/inDeployment> ;
+                                              rdfs:comment "Relation between a deployment and the platform(s) involved in the deployment."@en ;
+                                              rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ;
+                                              rdfs:label "deployed on platform"@en .
+
+
+###  http://www.w3.org/ns/ssn/deployedSystem
+<http://www.w3.org/ns/ssn/deployedSystem> rdf:type owl:ObjectProperty ;
+                                          owl:inverseOf <http://www.w3.org/ns/ssn/hasDeployment> ;
+                                          rdfs:comment "Relation between a deployment and the system deployed."@en ;
+                                          rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ;
+                                          rdfs:label "deployed system"@en .
+
+
+###  http://www.w3.org/ns/ssn/hasDeployment
+<http://www.w3.org/ns/ssn/hasDeployment> rdf:type owl:ObjectProperty ;
+                                         rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ;
+                                         rdfs:label "has deployment"@en .
+
+
+###  http://www.w3.org/ns/ssn/hasSubSystem
+<http://www.w3.org/ns/ssn/hasSubSystem> rdf:type owl:ObjectProperty ;
+                                        rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ;
+                                        rdfs:label "has subsystem"@en .
+
+
+###  http://www.w3.org/ns/ssn/inDeployment
+<http://www.w3.org/ns/ssn/inDeployment> rdf:type owl:ObjectProperty ;
+                                        rdfs:comment "Relation between a platform and the deployment(s) that takes place in the platform."@en ;
+                                        rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ;
+                                        rdfs:label "in deployment"@en .
+
+
+###  http://xmlns.com/foaf/0.1/member
+<http://xmlns.com/foaf/0.1/member> rdf:type owl:ObjectProperty ;
+                                   rdfs:label "member"@en .
+
+
+###  https://saref.etsi.org/saref4agri/contains
+:contains rdf:type owl:ObjectProperty ;
+          rdfs:subPropertyOf <http://www.opengis.net/ont/geosparql#sfContains> ;
+          owl:inverseOf :isContainedIn .
+
+
+###  https://saref.etsi.org/saref4agri/generates
+:generates rdf:type owl:ObjectProperty ;
+           rdfs:subPropertyOf <https://w3id.org/saref#hasProperty> ;
+           rdfs:comment "A relation to represent the yield generated by a Crop." ;
+           rdfs:label "generates"@en .
+
+
+###  https://saref.etsi.org/saref4agri/hasDeploymentPeriod
+:hasDeploymentPeriod rdf:type owl:ObjectProperty ;
+                     rdfs:comment "Relation to indicate the temporal duration or period of a deployment."@en ,
+                                  "has deployment period"@en ;
+                     rdfs:label "has deployment period" .
+
+
+###  https://saref.etsi.org/saref4agri/hasID
+:hasID rdf:type owl:ObjectProperty ;
+       rdfs:subPropertyOf owl:topObjectProperty ;
+       rdfs:range :ID ;
+       rdfs:comment "A relation to express the unique identifier of an animal." ;
+       rdfs:label "has id"@en .
+
+
+###  https://saref.etsi.org/saref4agri/hasMember
+:hasMember rdf:type owl:ObjectProperty ;
+           owl:inverseOf :isMemberOf ;
+           rdfs:comment "A relation to represent  the members of an AnimalGroup." ;
+           rdfs:label "has member" .
+
+
+###  https://saref.etsi.org/saref4agri/hasReceived
+:hasReceived rdf:type owl:ObjectProperty ;
+             owl:inverseOf :receives ;
+             rdfs:label "has received" .
+
+
+###  https://saref.etsi.org/saref4agri/isContainedIn
+:isContainedIn rdf:type owl:ObjectProperty ;
+               rdfs:label "is contained in"@en .
+
+
+###  https://saref.etsi.org/saref4agri/isDeployedAtSpace
+:isDeployedAtSpace rdf:type owl:ObjectProperty ;
+                   rdfs:comment "Relation to indicate the geographical componet of a deployment."@en ,
+                                "is deployed at space"@en ;
+                   rdfs:label "is deployed at space" .
+
+
+###  https://saref.etsi.org/saref4agri/isLocatedIn
+:isLocatedIn rdf:type owl:ObjectProperty ;
+             owl:inverseOf :isLocationOf ;
+             rdfs:comment "A relation to express the physical location of a saref4agri entity (e.g., an animal)" ;
+             rdfs:label "is located in" .
+
+
+###  https://saref.etsi.org/saref4agri/isLocationOf
+:isLocationOf rdf:type owl:ObjectProperty ;
+              rdfs:label "is location of" .
+
+
+###  https://saref.etsi.org/saref4agri/isMemberOf
+:isMemberOf rdf:type owl:ObjectProperty ;
+            rdfs:comment "A relation to express that an animal can be part of groups." ;
+            rdfs:label "is member of" .
+
+
+###  https://saref.etsi.org/saref4agri/managesFarm
+:managesFarm rdf:type owl:ObjectProperty ;
+             rdfs:label "manages farm"@en .
+
+
+###  https://saref.etsi.org/saref4agri/receives
+:receives rdf:type owl:ObjectProperty ;
+          rdfs:subPropertyOf <https://w3id.org/saref#hasProperty> ;
+          rdfs:comment "A relation to represent the intake/consumption of certain substances in a Crop." ;
+          rdfs:label "receives" .
+
+
+###  https://w3id.org/saref#accomplishes
+<https://w3id.org/saref#accomplishes> rdf:type owl:ObjectProperty ;
+                                      owl:inverseOf <https://w3id.org/saref#isAccomplishedBy> ;
+                                      rdfs:comment "A relationship between a certain entity (e.g., a device) and the task it accomplishes" ;
+                                      rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                      rdfs:label "accomplishes" .
+
+
+###  https://w3id.org/saref#actsUpon
+<https://w3id.org/saref#actsUpon> rdf:type owl:ObjectProperty ;
+                                  rdfs:comment "A relationship between a command and a state" ;
+                                  rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                  rdfs:label "acts upon" .
+
+
+###  https://w3id.org/saref#controlsProperty
+<https://w3id.org/saref#controlsProperty> rdf:type owl:ObjectProperty ;
+                                          rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                          rdfs:label "controls property"@en .
+
+
+###  https://w3id.org/saref#hasCommand
+<https://w3id.org/saref#hasCommand> rdf:type owl:ObjectProperty ;
+                                    owl:inverseOf <https://w3id.org/saref#isCommandOf> ;
+                                    rdfs:comment "A relationship between an entity (such as a function) and a command" ;
+                                    rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                    rdfs:label "has command" .
+
+
+###  https://w3id.org/saref#hasFeatureOfInterest
+<https://w3id.org/saref#hasFeatureOfInterest> rdf:type owl:ObjectProperty ;
+                                              owl:inverseOf <https://w3id.org/saref#isFeatureOfInterestOf> ;
+                                              rdfs:comment "Relation between a measurement and the feature of interest being measured."@en ;
+                                              rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                              rdfs:label "has feature of interest"@en .
+
+
+###  https://w3id.org/saref#hasFunction
+<https://w3id.org/saref#hasFunction> rdf:type owl:ObjectProperty ;
+                                     rdfs:comment "A relationship identifying the type of function of a device" ;
+                                     rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                     rdfs:label "has function" .
+
+
+###  https://w3id.org/saref#hasProperty
+<https://w3id.org/saref#hasProperty> rdf:type owl:ObjectProperty ;
+                                     owl:inverseOf <https://w3id.org/saref#isPropertyOf> ;
+                                     rdfs:comment "Relation between a feature of interest and its properties."@en ;
+                                     rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                     rdfs:label "has property"@en .
+
+
+###  https://w3id.org/saref#hasState
+<https://w3id.org/saref#hasState> rdf:type owl:ObjectProperty ;
+                                  rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                  rdfs:label "has state"@en .
+
+
+###  https://w3id.org/saref#isAccomplishedBy
+<https://w3id.org/saref#isAccomplishedBy> rdf:type owl:ObjectProperty ;
+                                          rdfs:comment "A relationship indentifying the task accomplished by a certain entity (e.g., a device)" ;
+                                          rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                          rdfs:label "is accomplished by" .
+
+
+###  https://w3id.org/saref#isCommandOf
+<https://w3id.org/saref#isCommandOf> rdf:type owl:ObjectProperty ;
+                                     rdfs:comment "A relationship between a command and a function." ;
+                                     rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                     rdfs:label "is command of" .
+
+
+###  https://w3id.org/saref#isControlledByDevice
+<https://w3id.org/saref#isControlledByDevice> rdf:type owl:ObjectProperty ;
+                                              rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                              rdfs:label "is controlled by device"@en .
+
+
+###  https://w3id.org/saref#isFeatureOfInterestOf
+<https://w3id.org/saref#isFeatureOfInterestOf> rdf:type owl:ObjectProperty ;
+                                               rdfs:comment "Relation betwwen a feature of interest and the measurments that are about it."@en ;
+                                               rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                               rdfs:label "is feature of interest of"@en .
+
+
+###  https://w3id.org/saref#isMeasuredByDevice
+<https://w3id.org/saref#isMeasuredByDevice> rdf:type owl:ObjectProperty ;
+                                            rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                            rdfs:label "is measured by device"@en .
+
+
+###  https://w3id.org/saref#isMeasuredIn
+<https://w3id.org/saref#isMeasuredIn> rdf:type owl:ObjectProperty ;
+                                      rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                      rdfs:label "is measured in"@en .
+
+
+###  https://w3id.org/saref#isPropertyOf
+<https://w3id.org/saref#isPropertyOf> rdf:type owl:ObjectProperty ;
+                                      rdfs:comment "Relation between a property and a feature of interest in which such property appears."@en ;
+                                      rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                      rdfs:label "is property of"@en .
+
+
+###  https://w3id.org/saref#makesMeasurement
+<https://w3id.org/saref#makesMeasurement> rdf:type owl:ObjectProperty ;
+                                          owl:inverseOf <https://w3id.org/saref#measurementMadeBy> ;
+                                          rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                          rdfs:label "makes measurement"@en .
+
+
+###  https://w3id.org/saref#measurementMadeBy
+<https://w3id.org/saref#measurementMadeBy> rdf:type owl:ObjectProperty ;
+                                           rdfs:comment "Relation between a measurement and the device that made it."@en ;
+                                           rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                           rdfs:label "measurement made by"@en .
+
+
+###  https://w3id.org/saref#measuresProperty
+<https://w3id.org/saref#measuresProperty> rdf:type owl:ObjectProperty ;
+                                          rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                          rdfs:label "measures property"@en .
+
+
+###  https://w3id.org/saref#relatesToMeasurement
+<https://w3id.org/saref#relatesToMeasurement> rdf:type owl:ObjectProperty ;
+                                              rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                              rdfs:label "relates to measurement"@en .
+
+
+###  https://w3id.org/saref#relatesToProperty
+<https://w3id.org/saref#relatesToProperty> rdf:type owl:ObjectProperty ;
+                                           rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                           rdfs:label "relates to property"@en .
+
+
+#################################################################
+#    Data properties
+#################################################################
+
+###  https://saref.etsi.org/saref4agri/hasBirthDate
+:hasBirthDate rdf:type owl:DatatypeProperty ;
+              rdfs:range xsd:dateTime ;
+              rdfs:comment "A relation to express the birth date of an animal." ;
+              rdfs:label "has birth date" .
+
+
+###  https://saref.etsi.org/saref4agri/hasDeathDate
+:hasDeathDate rdf:type owl:DatatypeProperty ;
+              rdfs:range xsd:dateTime ;
+              rdfs:comment "A relation to express the death date of an animal." ;
+              rdfs:label "has death date" .
+
+
+###  https://saref.etsi.org/saref4agri/hasHarvestDate
+:hasHarvestDate rdf:type owl:DatatypeProperty ;
+                rdfs:subPropertyOf owl:topDataProperty ;
+                rdfs:range xsd:dateTime ;
+                rdfs:comment "A relation to express the day the crop is harvested." ;
+                rdfs:label "has harvest date" .
+
+
+###  https://saref.etsi.org/saref4agri/hasName
+:hasName rdf:type owl:DatatypeProperty ;
+         rdfs:range xsd:string ;
+         rdfs:label "A relation to express the name of an entity (e.g.,animal)." ,
+                    "has name" .
+
+
+###  https://saref.etsi.org/saref4agri/hasPlantDate
+:hasPlantDate rdf:type owl:DatatypeProperty ;
+              rdfs:subPropertyOf owl:topDataProperty ;
+              rdfs:range xsd:dateTime ;
+              rdfs:comment "A relation to express the day the crop is planted." ;
+              rdfs:label "has plant date" .
+
+
+###  https://w3id.org/saref#hasDescription
+<https://w3id.org/saref#hasDescription> rdf:type owl:DatatypeProperty ;
+                                        rdfs:range xsd:string ;
+                                        rdfs:comment "A relationship providing a description of an entity (e.g., device)" ;
+                                        rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                        rdfs:label "has description"@en .
+
+
+###  https://w3id.org/saref#hasManufacturer
+<https://w3id.org/saref#hasManufacturer> rdf:type owl:DatatypeProperty ;
+                                         rdfs:range xsd:string ;
+                                         rdfs:comment "A relationship identifying the manufacturer of an entity (e.g., device)" ;
+                                         rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                         rdfs:label "has manufacturer" .
+
+
+###  https://w3id.org/saref#hasModel
+<https://w3id.org/saref#hasModel> rdf:type owl:DatatypeProperty ;
+                                  rdfs:range xsd:string ;
+                                  rdfs:comment "A relationship identifying the model of an entity (e.g., device)" ;
+                                  rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                  rdfs:label "has model" .
+
+
+###  https://w3id.org/saref#hasName
+<https://w3id.org/saref#hasName> rdf:type owl:DatatypeProperty ;
+                                 rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                 rdfs:label "has name"@en .
+
+
+###  https://w3id.org/saref#hasTimestamp
+<https://w3id.org/saref#hasTimestamp> rdf:type owl:DatatypeProperty ;
+                                      rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                      rdfs:label "has timestamp"@en .
+
+
+###  https://w3id.org/saref#hasValue
+<https://w3id.org/saref#hasValue> rdf:type owl:DatatypeProperty ;
+                                  rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                  rdfs:label "has value"@en .
+
+
+#################################################################
+#    Classes
+#################################################################
+
+###  http://purl.obolibrary.org/obo/TAXRANK_0000000
+<http://purl.obolibrary.org/obo/TAXRANK_0000000> rdf:type owl:Class ;
+                                                 rdfs:label "Taxon rank"@en .
+
+
+###  http://www.opengis.net/ont/geosparql#Feature
+<http://www.opengis.net/ont/geosparql#Feature> rdf:type owl:Class ;
+                                               rdfs:subClassOf <http://www.opengis.net/ont/geosparql#SpatialObject> ,
+                                                               [ rdf:type owl:Restriction ;
+                                                                 owl:onProperty <http://www.opengis.net/ont/geosparql#hasGeometry> ;
+                                                                 owl:allValuesFrom <http://www.opengis.net/ont/geosparql#Geometry>
+                                                               ] ;
+                                               owl:disjointWith <http://www.opengis.net/ont/geosparql#Geometry> ;
+                                               rdfs:comment "This class represents the top-level feature type. This class is equivalent to GFI_Feature defined in ISO 19156:2011, and it is superclass of all feature types."@en ;
+                                               rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ,
+                                                                <http://www.opengis.net/ont/gml> ;
+                                               rdfs:label "Feature"@en .
+
+
+###  http://www.opengis.net/ont/geosparql#Geometry
+<http://www.opengis.net/ont/geosparql#Geometry> rdf:type owl:Class ;
+                                                rdfs:subClassOf <http://www.opengis.net/ont/geosparql#SpatialObject> ;
+                                                rdfs:comment "The class represents the top-level geometry type. This class is equivalent to the UML class GM_Object defined in ISO 19107, and it is superclass of all geometry types."@en ;
+                                                rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ;
+                                                rdfs:label "Geometry"@en .
+
+
+###  http://www.opengis.net/ont/geosparql#SpatialObject
+<http://www.opengis.net/ont/geosparql#SpatialObject> rdf:type owl:Class ;
+                                                     rdfs:subClassOf [ rdf:type owl:Restriction ;
+                                                                       owl:onProperty <http://www.opengis.net/ont/geosparql#hasGeometry> ;
+                                                                       owl:allValuesFrom <http://www.opengis.net/ont/geosparql#Geometry>
+                                                                     ] ,
+                                                                     [ rdf:type owl:Restriction ;
+                                                                       owl:onProperty <http://www.opengis.net/ont/geosparql#sfContains> ;
+                                                                       owl:allValuesFrom <http://www.opengis.net/ont/geosparql#SpatialObject>
+                                                                     ] ,
+                                                                     [ rdf:type owl:Restriction ;
+                                                                       owl:onProperty <http://www.opengis.net/ont/geosparql#sfWithin> ;
+                                                                       owl:allValuesFrom <http://www.opengis.net/ont/geosparql#SpatialObject>
+                                                                     ] ,
+                                                                     [ rdf:type owl:Restriction ;
+                                                                       owl:onProperty <http://www.w3.org/2003/01/geo/wgs84_pos#location> ;
+                                                                       owl:allValuesFrom <http://www.w3.org/2003/01/geo/wgs84_pos#Point>
+                                                                     ] ;
+                                                     rdfs:comment "The class spatial-object represents everything that can have a spatial representation. It is superclass of feature and geometry."@en ;
+                                                     rdfs:isDefinedBy <http://www.opengis.net/ont/geosparql> ;
+                                                     rdfs:label "SpatialObject"@en .
+
+
+###  http://www.w3.org/2003/01/geo/wgs84_pos#Point
+<http://www.w3.org/2003/01/geo/wgs84_pos#Point> rdf:type owl:Class ;
+                                                rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Geometry> ;
+                                                rdfs:comment """ 
+Uniquely identified by lat/long/alt. i.e.
+
+spaciallyIntersects(P1, P2) :- lat(P1, LAT), long(P1, LONG), alt(P1, ALT),
+  lat(P2, LAT), long(P2, LONG), alt(P2, ALT).
+
+sameThing(P1, P2) :- type(P1, Point), type(P2, Point), spaciallyIntersects(P1, P2).
+  """ ,
+                                                             "A point, typically described using a coordinate system relative to Earth, such as WGS84." ;
+                                                rdfs:isDefinedBy <http://www.w3.org/2003/01/geo/wgs84_pos#> ;
+                                                rdfs:label "Point"@en .
+
+
+###  http://www.w3.org/2006/time#Instant
+<http://www.w3.org/2006/time#Instant> rdf:type owl:Class ;
+                                      rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ;
+                                      rdfs:comment "A temporal entity with zero extent or duration"@en ;
+                                      rdfs:isDefinedBy <http://www.w3.org/2006/time#> ;
+                                      rdfs:label "Instant"@en .
+
+
+###  http://www.w3.org/2006/time#Interval
+<http://www.w3.org/2006/time#Interval> rdf:type owl:Class ;
+                                       rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> ;
+                                       rdfs:comment "A temporal entity with an extent or duration"@en ;
+                                       rdfs:isDefinedBy <http://www.w3.org/2006/time#> ;
+                                       rdfs:label "Time interval"@en .
+
+
+###  http://www.w3.org/2006/time#TemporalEntity
+<http://www.w3.org/2006/time#TemporalEntity> rdf:type owl:Class ;
+                                             rdfs:comment "A temporal interval or instant."@en ;
+                                             rdfs:isDefinedBy <http://www.w3.org/2006/time#> ;
+                                             rdfs:label "Temporal entity"@en .
+
+
+###  http://www.w3.org/ns/sosa/Platform
+<http://www.w3.org/ns/sosa/Platform> rdf:type owl:Class ;
+                                     rdfs:comment "A Platform is an entity that hosts other entities, particularly Sensors, Actuators, Samplers, and other Platforms (definition taken from http://www.w3.org/ns/sosa/Platform)"@en ;
+                                     rdfs:isDefinedBy <http://www.w3.org/ns/sosa/> ;
+                                     rdfs:label "Platform"@en .
+
+
+###  http://www.w3.org/ns/ssn/Deployment
+<http://www.w3.org/ns/ssn/Deployment> rdf:type owl:Class ;
+                                      rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ;
+                                      rdfs:label "Deployment"@en .
+
+
+###  http://www.w3.org/ns/ssn/System
+<http://www.w3.org/ns/ssn/System> rdf:type owl:Class ;
+                                  rdfs:comment "System is a unit of abstraction for pieces of infrastructure that implement Procedures. A System may have components, its subsystems, which are other Systems. (Definition taken from http://www.w3.org/ns/ssn/System)"@en ;
+                                  rdfs:isDefinedBy <http://www.w3.org/ns/ssn/> ;
+                                  rdfs:label "System"@en .
+
+
+###  http://xmlns.com/foaf/0.1/Agent
+<http://xmlns.com/foaf/0.1/Agent> rdf:type owl:Class ;
+                                  rdfs:subClassOf [ rdf:type owl:Restriction ;
+                                                    owl:onProperty <http://xmlns.com/foaf/0.1/member> ;
+                                                    owl:someValuesFrom <http://xmlns.com/foaf/0.1/Agent>
+                                                  ] ;
+                                  rdfs:label "Agent"@en .
+
+
+###  http://xmlns.com/foaf/0.1/Person
+<http://xmlns.com/foaf/0.1/Person> rdf:type owl:Class ;
+                                   rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> ;
+                                   rdfs:label "Person"@en .
+
+
+###  https://schema.org/Organization
+<https://schema.org/Organization> rdf:type owl:Class ;
+                                  rdfs:subClassOf <http://xmlns.com/foaf/0.1/Agent> ;
+                                  rdfs:label "Organization"@en .
+
+
+###  https://saref.etsi.org/saref4agri/Animal
+:Animal rdf:type owl:Class ;
+        rdfs:subClassOf <https://w3id.org/saref#FeatureOfInterest> ,
+                        [ rdf:type owl:Restriction ;
+                          owl:onProperty <http://purl.obolibrary.org/obo/TAXRANK_1000000> ;
+                          owl:someValuesFrom <http://purl.obolibrary.org/obo/TAXRANK_0000000>
+                        ] ,
+                        [ rdf:type owl:Restriction ;
+                          owl:onProperty :isLocatedIn ;
+                          owl:someValuesFrom <http://www.opengis.net/ont/geosparql#Feature>
+                        ] ,
+                        [ rdf:type owl:Restriction ;
+                          owl:onProperty :isMemberOf ;
+                          owl:someValuesFrom :AnimalGroup
+                        ] ,
+                        [ rdf:type owl:Restriction ;
+                          owl:onProperty :hasID ;
+                          owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
+                          owl:onClass :ID
+                        ] ,
+                        [ rdf:type owl:Restriction ;
+                          owl:onProperty :hasBirthDate ;
+                          owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
+                          owl:onDataRange xsd:dateTime
+                        ] ,
+                        [ rdf:type owl:Restriction ;
+                          owl:onProperty :hasDeathDate ;
+                          owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
+                          owl:onDataRange xsd:dateTime
+                        ] ,
+                        [ rdf:type owl:Restriction ;
+                          owl:onProperty :hasName ;
+                          owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
+                          owl:onDataRange xsd:string
+                        ] ;
+        rdfs:comment "An individual and identifiable living organism that feeds on organic matter, typically having specialized sense organs and nervous system and able to respond rapidly to stimuli."@en ;
+        rdfs:label "Animal" .
+
+
+###  https://saref.etsi.org/saref4agri/AnimalGroup
+:AnimalGroup rdf:type owl:Class ;
+             rdfs:subClassOf <https://w3id.org/saref#FeatureOfInterest> ,
+                             [ rdf:type owl:Restriction ;
+                               owl:onProperty :hasMember ;
+                               owl:someValuesFrom :Animal
+                             ] ,
+                             [ rdf:type owl:Restriction ;
+                               owl:onProperty :isLocatedIn ;
+                               owl:someValuesFrom <http://www.opengis.net/ont/geosparql#Feature>
+                             ] ,
+                             [ rdf:type owl:Restriction ;
+                               owl:onProperty :hasName ;
+                               owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
+                               owl:onDataRange xsd:string
+                             ] ;
+             rdfs:comment "A collection of one or multiple animals."@en ;
+             rdfs:label "Animal Group" .
+
+
+###  https://saref.etsi.org/saref4agri/Building
+:Building rdf:type owl:Class ;
+          rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> ,
+                          [ rdf:type owl:Restriction ;
+                            owl:onProperty :contains ;
+                            owl:someValuesFrom :BuildingSpace
+                          ] ,
+                          [ rdf:type owl:Restriction ;
+                            owl:onProperty :hasName ;
+                            owl:maxCardinality "1"^^xsd:nonNegativeInteger
+                          ] ;
+          rdfs:comment "A building represents a structure that provides shelter for its occupants or contents and stands in one place. The building is also used to provide a basic element within the spatial structure hierarchy for the components of a building project (together with site, storey, and space)."@en ;
+          rdfs:label "Building" .
+
+
+###  https://saref.etsi.org/saref4agri/BuildingSpace
+:BuildingSpace rdf:type owl:Class ;
+               rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> ;
+               rdfs:comment "An entity used to define the physical spaces of the building. A building space contains devices or building objects."@en ;
+               rdfs:label "Building space"@en .
+
+
+###  https://saref.etsi.org/saref4agri/Crop
+:Crop rdf:type owl:Class ;
+      rdfs:subClassOf <https://w3id.org/saref#FeatureOfInterest> ,
+                      [ rdf:type owl:Restriction ;
+                        owl:onProperty <http://purl.obolibrary.org/obo/TAXRANK_1000000> ;
+                        owl:someValuesFrom <http://purl.obolibrary.org/obo/TAXRANK_0000000>
+                      ] ,
+                      [ rdf:type owl:Restriction ;
+                        owl:onProperty :hasHarvestDate ;
+                        owl:someValuesFrom xsd:dateTime
+                      ] ,
+                      [ rdf:type owl:Restriction ;
+                        owl:onProperty :hasPlantDate ;
+                        owl:someValuesFrom xsd:dateTime
+                      ] ;
+      rdfs:comment "A collection of cultivated plants that is grown on a large scale commercially, especially a cereal, fruit, or vegetable."@en ;
+      rdfs:label "Crop" .
+
+
+###  https://saref.etsi.org/saref4agri/Deployment
+:Deployment rdf:type owl:Class ;
+            rdfs:subClassOf <http://www.w3.org/ns/ssn/Deployment> ,
+                            [ rdf:type owl:Restriction ;
+                              owl:onProperty <http://www.w3.org/ns/ssn/deployedOnPlatform> ;
+                              owl:someValuesFrom <http://www.w3.org/ns/sosa/Platform>
+                            ] ,
+                            [ rdf:type owl:Restriction ;
+                              owl:onProperty <http://www.w3.org/ns/ssn/deployedSystem> ;
+                              owl:someValuesFrom <http://www.w3.org/ns/ssn/System>
+                            ] ,
+                            [ rdf:type owl:Restriction ;
+                              owl:onProperty :hasDeploymentPeriod ;
+                              owl:someValuesFrom <http://www.w3.org/2006/time#TemporalEntity>
+                            ] ,
+                            [ rdf:type owl:Restriction ;
+                              owl:onProperty :isDeployedAtSpace ;
+                              owl:someValuesFrom <http://www.opengis.net/ont/geosparql#SpatialObject>
+                            ] ;
+            rdfs:comment "Deployment"@en ,
+                         "The scenario, including temporal and spatial information, in which the systems and devices are installed."@en ;
+            rdfs:label "Deployment"@en .
+
+
+###  https://saref.etsi.org/saref4agri/EatingActivitySensor
+:EatingActivitySensor rdf:type owl:Class ;
+                      rdfs:subClassOf <https://w3id.org/saref#Sensor> ;
+                      rdfs:label "Eating activity sensor"@en .
+
+
+###  https://saref.etsi.org/saref4agri/Farm
+:Farm rdf:type owl:Class ;
+      rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> ,
+                      [ rdf:type owl:Restriction ;
+                        owl:onProperty :contains ;
+                        owl:someValuesFrom :Building
+                      ] ,
+                      [ rdf:type owl:Restriction ;
+                        owl:onProperty :contains ;
+                        owl:someValuesFrom :Parcel
+                      ] ,
+                      [ rdf:type owl:Restriction ;
+                        owl:onProperty :hasName ;
+                        owl:maxCardinality "1"^^xsd:nonNegativeInteger
+                      ] ;
+      rdfs:comment "A plot of land used for the scope of farming which can contain buildings and parcels."@en ;
+      rdfs:label "Farm" .
+
+
+###  https://saref.etsi.org/saref4agri/FarmHolding
+:FarmHolding rdf:type owl:Class ;
+             rdfs:subClassOf <https://schema.org/Organization> ,
+                             [ rdf:type owl:Restriction ;
+                               owl:onProperty :managesFarm ;
+                               owl:someValuesFrom :Farm
+                             ] ,
+                             [ rdf:type owl:Restriction ;
+                               owl:onProperty :hasName ;
+                               owl:allValuesFrom xsd:string
+                             ] ;
+             rdfs:comment "A class to decsribe a saref4agri farm holding as subcass of an org:Organization" ;
+             rdfs:label "Farm holding"@en .
+
+
+###  https://saref.etsi.org/saref4agri/Farmer
+:Farmer rdf:type owl:Class ;
+        rdfs:subClassOf <http://xmlns.com/foaf/0.1/Person> ,
+                        [ rdf:type owl:Restriction ;
+                          owl:onProperty :managesFarm ;
+                          owl:someValuesFrom :Farm
+                        ] ,
+                        [ rdf:type owl:Restriction ;
+                          owl:onProperty :hasName ;
+                          owl:allValuesFrom xsd:string
+                        ] ;
+        rdfs:comment "A class to decsribe a saref4agri farmer as subcass of a foaf:Person" ;
+        rdfs:label "Farmer"@en .
+
+
+###  https://saref.etsi.org/saref4agri/ID
+:ID rdf:type owl:Class ;
+    rdfs:label "ID" .
+
+
+###  https://saref.etsi.org/saref4agri/MilkingSensor
+:MilkingSensor rdf:type owl:Class ;
+               rdfs:subClassOf <https://w3id.org/saref#Sensor> ;
+               rdfs:label "Milking sensor"@en .
+
+
+###  https://saref.etsi.org/saref4agri/MovementActivitySensor
+:MovementActivitySensor rdf:type owl:Class ;
+                        rdfs:subClassOf <https://w3id.org/saref#Sensor> ;
+                        rdfs:label "Movement activity sensor"@en .
+
+
+###  https://saref.etsi.org/saref4agri/Parcel
+:Parcel rdf:type owl:Class ;
+        rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> ,
+                        [ rdf:type owl:Restriction ;
+                          owl:onProperty :contains ;
+                          owl:someValuesFrom :Crop
+                        ] ,
+                        [ rdf:type owl:Restriction ;
+                          owl:onProperty :hasName ;
+                          owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
+                          owl:onDataRange xsd:string
+                        ] ;
+        rdfs:comment "An area of land, which might be used for grazing animals or planting crops. The parcel is defined as an undividable logical area of land which contains homogeneous items."@en ;
+        rdfs:label "Parcel" .
+
+
+###  https://saref.etsi.org/saref4agri/Platform
+:Platform rdf:type owl:Class ;
+          rdfs:subClassOf <http://www.w3.org/ns/sosa/Platform> ;
+          rdfs:label "Platform" .
+
+
+###  https://saref.etsi.org/saref4agri/Pluviometer
+:Pluviometer rdf:type owl:Class ;
+             rdfs:subClassOf <https://w3id.org/saref#Sensor> ;
+             rdfs:comment "A sensor that measures the rain fall."@en ;
+             rdfs:label "Pluviometer"@en .
+
+
+###  https://saref.etsi.org/saref4agri/Soil
+:Soil rdf:type owl:Class ;
+      rdfs:subClassOf <https://w3id.org/saref#FeatureOfInterest> ;
+      rdfs:comment "Upper layer of the earth in which plants grow." ;
+      rdfs:label "Soil" .
+
+
+###  https://saref.etsi.org/saref4agri/SoilTensiometer
+:SoilTensiometer rdf:type owl:Class ;
+                 rdfs:subClassOf <https://w3id.org/saref#Sensor> ;
+                 rdfs:comment "A sensor that measures the soil moisture."@en ;
+                 rdfs:label "Soil tensiometer"@en .
+
+
+###  https://saref.etsi.org/saref4agri/Thermometer
+:Thermometer rdf:type owl:Class ;
+             rdfs:subClassOf <https://w3id.org/saref#Sensor> ;
+             rdfs:label "Thermometer"@en .
+
+
+###  https://saref.etsi.org/saref4agri/WateringGun
+:WateringGun rdf:type owl:Class ;
+             rdfs:subClassOf <https://w3id.org/saref#Actuator> ;
+             rdfs:comment "An actuator to irrigate an space."@en ;
+             rdfs:label "Watering gun"@en .
+
+
+###  https://saref.etsi.org/saref4agri/WateringSystem
+:WateringSystem rdf:type owl:Class ;
+                rdfs:subClassOf <http://www.w3.org/ns/ssn/System> ;
+                rdfs:label "Watering system"@en .
+
+
+###  https://saref.etsi.org/saref4agri/WateringValve
+:WateringValve rdf:type owl:Class ;
+               rdfs:subClassOf <https://w3id.org/saref#Actuator> ;
+               rdfs:label "Watering valve"@en .
+
+
+###  https://saref.etsi.org/saref4agri/WeatherStation
+:WeatherStation rdf:type owl:Class ;
+                rdfs:subClassOf <http://www.w3.org/ns/ssn/System> ,
+                                <https://w3id.org/saref#Sensor> ;
+                rdfs:comment "A sensor o system that measure weather conditions."@en ;
+                rdfs:label "Weather station"@en .
+
+
+###  https://saref.etsi.org/saref4agri/WeightSensor
+:WeightSensor rdf:type owl:Class ;
+              rdfs:subClassOf <https://w3id.org/saref#Sensor> ;
+              rdfs:label "Weight sensor"@en .
+
+
+###  https://w3id.org/saref#Actuator
+<https://w3id.org/saref#Actuator> rdf:type owl:Class ;
+                                  rdfs:subClassOf <https://w3id.org/saref#Device> ;
+                                  rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                  rdfs:label "Actuator"@en .
+
+
+###  https://w3id.org/saref#Command
+<https://w3id.org/saref#Command> rdf:type owl:Class ;
+                                 rdfs:subClassOf [ rdf:type owl:Restriction ;
+                                                   owl:onProperty <https://w3id.org/saref#actsUpon> ;
+                                                   owl:allValuesFrom <https://w3id.org/saref#State>
+                                                 ] ,
+                                                 [ rdf:type owl:Restriction ;
+                                                   owl:onProperty <https://w3id.org/saref#isCommandOf> ;
+                                                   owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
+                                                   owl:onClass <https://w3id.org/saref#Function>
+                                                 ] ,
+                                                 [ rdf:type owl:Restriction ;
+                                                   owl:onProperty <https://w3id.org/saref#hasDescription> ;
+                                                   owl:maxCardinality "1"^^xsd:nonNegativeInteger
+                                                 ] ;
+                                 rdfs:comment "A directive that a device must support to perform a certain function. A command may act upon a state, but does not necessarily act upon a state. For example, the ON command acts upon the ON/OFF state, but the GET command does not act upon any state, it simply gives a directive to retrieve a certain value. We propose here a list of commands that are relevant for the purpose of SAREF, but this list can be extended." ;
+                                 rdfs:label "Command" .
+
+
+###  https://w3id.org/saref#Device
+<https://w3id.org/saref#Device> rdf:type owl:Class ;
+                                rdfs:subClassOf <http://www.w3.org/ns/ssn/System> ;
+                                rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                rdfs:label "Device"@en .
+
+
+###  https://w3id.org/saref#FeatureOfInterest
+<https://w3id.org/saref#FeatureOfInterest> rdf:type owl:Class ;
+                                           rdfs:subClassOf [ rdf:type owl:Restriction ;
+                                                             owl:onProperty <https://w3id.org/saref#hasProperty> ;
+                                                             owl:allValuesFrom <https://w3id.org/saref#Property>
+                                                           ] ,
+                                                           [ rdf:type owl:Restriction ;
+                                                             owl:onProperty <https://w3id.org/saref#isFeatureOfInterestOf> ;
+                                                             owl:allValuesFrom <https://w3id.org/saref#Measurement>
+                                                           ] ;
+                                           rdfs:comment <https://w3id.org/saref#> ;
+                                           rdfs:label "Feature of interest"@en .
+
+
+###  https://w3id.org/saref#Function
+<https://w3id.org/saref#Function> rdf:type owl:Class ;
+                                  rdfs:subClassOf [ rdf:type owl:Restriction ;
+                                                    owl:onProperty <https://w3id.org/saref#hasCommand> ;
+                                                    owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
+                                                    owl:onClass <https://w3id.org/saref#Command>
+                                                  ] ;
+                                  rdfs:comment "The functionality necessary to accomplish the task for which a Device is designed. A device can be designed to perform more than one function. Functions can be structured in categories (subclasses) that reflect different points of view, for example, considering the specific application area for which a function can be used (e.g., light, temperature, motion, heat, power, etc.), or the capability that a function can support (e.g., receive, reply, notify, etc.), and so forth. " ;
+                                  rdfs:label "Function" .
+
+
+###  https://w3id.org/saref#Humidity
+<https://w3id.org/saref#Humidity> rdf:type owl:Class ;
+                                  rdfs:subClassOf <https://w3id.org/saref#Property> ;
+                                  rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a humidity unit" ;
+                                  rdfs:label "Humidiy"@en ,
+                                             "Humidity" .
+
+
+###  https://w3id.org/saref#Measurement
+<https://w3id.org/saref#Measurement> rdf:type owl:Class ;
+                                     rdfs:subClassOf [ rdf:type owl:Restriction ;
+                                                       owl:onProperty <https://w3id.org/saref#hasFeatureOfInterest> ;
+                                                       owl:allValuesFrom <https://w3id.org/saref#FeatureOfInterest>
+                                                     ] ,
+                                                     [ rdf:type owl:Restriction ;
+                                                       owl:onProperty <https://w3id.org/saref#isMeasuredIn> ;
+                                                       owl:allValuesFrom <https://w3id.org/saref#UnitOfMeasure>
+                                                     ] ,
+                                                     [ rdf:type owl:Restriction ;
+                                                       owl:onProperty <https://w3id.org/saref#relatesToProperty> ;
+                                                       owl:allValuesFrom <https://w3id.org/saref#Property>
+                                                     ] ,
+                                                     [ rdf:type owl:Restriction ;
+                                                       owl:onProperty <https://w3id.org/saref#isMeasuredIn> ;
+                                                       owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
+                                                       owl:onClass <https://w3id.org/saref#UnitOfMeasure>
+                                                     ] ,
+                                                     [ rdf:type owl:Restriction ;
+                                                       owl:onProperty <https://w3id.org/saref#relatesToProperty> ;
+                                                       owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
+                                                       owl:onClass <https://w3id.org/saref#Property>
+                                                     ] ,
+                                                     [ rdf:type owl:Restriction ;
+                                                       owl:onProperty <https://w3id.org/saref#hasTimestamp> ;
+                                                       owl:allValuesFrom xsd:dateTime
+                                                     ] ,
+                                                     [ rdf:type owl:Restriction ;
+                                                       owl:onProperty <https://w3id.org/saref#hasValue> ;
+                                                       owl:cardinality "1"^^xsd:nonNegativeInteger
+                                                     ] ,
+                                                     [ rdf:type owl:Restriction ;
+                                                       owl:onProperty <https://w3id.org/saref#hasValue> ;
+                                                       owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
+                                                       owl:onDataRange xsd:float
+                                                     ] ;
+                                     owl:disjointWith <https://w3id.org/saref#Property> ,
+                                                      <https://w3id.org/saref#UnitOfMeasure> ;
+                                     rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en ;
+                                     rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                     rdfs:label "Measurement"@en .
+
+
+###  https://w3id.org/saref#Property
+<https://w3id.org/saref#Property> rdf:type owl:Class ;
+                                  rdfs:subClassOf [ rdf:type owl:Restriction ;
+                                                    owl:onProperty <https://w3id.org/saref#isControlledByDevice> ;
+                                                    owl:allValuesFrom <https://w3id.org/saref#Device>
+                                                  ] ,
+                                                  [ rdf:type owl:Restriction ;
+                                                    owl:onProperty <https://w3id.org/saref#isMeasuredByDevice> ;
+                                                    owl:allValuesFrom <https://w3id.org/saref#Device>
+                                                  ] ,
+                                                  [ rdf:type owl:Restriction ;
+                                                    owl:onProperty <https://w3id.org/saref#isPropertyOf> ;
+                                                    owl:allValuesFrom <https://w3id.org/saref#FeatureOfInterest>
+                                                  ] ,
+                                                  [ rdf:type owl:Restriction ;
+                                                    owl:onProperty <https://w3id.org/saref#relatesToMeasurement> ;
+                                                    owl:allValuesFrom <https://w3id.org/saref#Measurement>
+                                                  ] ;
+                                  owl:disjointWith <https://w3id.org/saref#UnitOfMeasure> ;
+                                  rdfs:comment "An aspect of an entity that can be observable by a sensor."@en ,
+                                               "Anything that can be sensed, measured or controlled in households, common public buildings or offices. We propose here a list of properties that are relevant for the purpose of SAREF, but this list can be extended." ;
+                                  rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                  rdfs:label "Property"@en ,
+                                             "Property" .
+
+
+###  https://w3id.org/saref#Sensor
+<https://w3id.org/saref#Sensor> rdf:type owl:Class ;
+                                rdfs:subClassOf <https://w3id.org/saref#Device> ;
+                                rdfs:isDefinedBy <https://w3id.org/saref#> ;
+                                rdfs:label "Sensor"@en .
+
+
+###  https://w3id.org/saref#State
+<https://w3id.org/saref#State> rdf:type owl:Class ;
+                               rdfs:comment "The state in which a device can be found, e.g, ON/OFF/STANDBY, or ONLINE/OFFLINE. We propose here a list of states that are relevant for the purpose of SAREF, but this list can be extended." ;
+                               rdfs:label "State" .
+
+
+###  https://w3id.org/saref#Task
+<https://w3id.org/saref#Task> rdf:type owl:Class ;
+                              rdfs:subClassOf [ rdf:type owl:Restriction ;
+                                                owl:onProperty <https://w3id.org/saref#isAccomplishedBy> ;
+                                                owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
+                                                owl:onClass <https://w3id.org/saref#Device>
+                                              ] ;
+                              rdfs:comment "The goal for which a device is designed (from a user perspective). For example, a washing machine is designed for the task of washing. We propose here a list of tasks that are relevant for the purpose of SAREF, but this list can be extended." ;
+                              rdfs:label "Task" .
+
+
+###  https://w3id.org/saref#Temperature
+<https://w3id.org/saref#Temperature> rdf:type owl:Class ;
+                                     rdfs:subClassOf <https://w3id.org/saref#Property> ;
+                                     rdfs:comment "A saref:Property related to some measurements that are characterized by a certain value that is measured in a temperature unit (degree_Celsius, degree_Fahrenheit, or degree_kelvin)" ;
+                                     rdfs:label "Temperature"@en ,
+                                                "Temperature" .
+
+
+###  https://w3id.org/saref#Time
+<https://w3id.org/saref#Time> rdf:type owl:Class ;
+                              rdfs:subClassOf <https://w3id.org/saref#Property> ;
+                              rdfs:comment "A saref:Property that allows to specify the time concept in terms of instants or intervals according to the imported W3C Time ontology." ;
+                              rdfs:label "Time" .
+
+
+###  https://w3id.org/saref#UnitOfMeasure
+<https://w3id.org/saref#UnitOfMeasure> rdf:type owl:Class ;
+                                       rdfs:comment "The unit of measure is a standard for measurement of a quantity, such as a Property. For example,  Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of the Smart Appliances ontology, but this list can be extended."@en ,
+                                                    "The unit of measure is a standard for measurement of a quantity, such as a Property. For example,  Power is a property and Watt is a unit of power that represents a definite predetermined power: when we say 10 Watt, we actually mean 10 times the definite predetermined power called \"watt\". Our definition is based on the definition of unit of measure in the Ontology of units of Measure (OM). We propose here a list of some units of measure that are relevant for the purpose of SAREF, but this list can be extended, also using some other ontologies rather than the Ontology of units of Measure (OM)." ;
+                                       rdfs:isDefinedBy <http://www.wurvoc.org/vocabularies/om-1.6/Unit_of_measure> ,
+                                                        <https://w3id.org/saref#> ;
+                                       rdfs:label "Unit of measure"@en .
+
+
+#################################################################
+#    Individuals
+#################################################################
+
+###  http://dbpedia.org/resource/DBM
+<http://dbpedia.org/resource/DBM> rdf:type owl:NamedIndividual ,
+                                           <https://w3id.org/saref#UnitOfMeasure> ;
+                                  rdfs:label "decibel-milliwatts"@en .
+
+
+###  http://www.ontology-of-units-of-measure.org/resource/om-2/degreeCelsius
+<http://www.ontology-of-units-of-measure.org/resource/om-2/degreeCelsius> rdf:type owl:NamedIndividual ,
+                                                                                   <https://w3id.org/saref#UnitOfMeasure> ;
+                                                                          rdfs:label "degree Celsius"@en .
+
+
+###  http://www.ontology-of-units-of-measure.org/resource/om-2/millibar
+<http://www.ontology-of-units-of-measure.org/resource/om-2/millibar> rdf:type owl:NamedIndividual ,
+                                                                              <https://w3id.org/saref#UnitOfMeasure> ;
+                                                                     rdfs:label "millibar"@en .
+
+
+###  http://www.ontology-of-units-of-measure.org/resource/om-2/millimetre
+<http://www.ontology-of-units-of-measure.org/resource/om-2/millimetre> rdf:type owl:NamedIndividual ,
+                                                                                <https://w3id.org/saref#UnitOfMeasure> ;
+                                                                       rdfs:label "millimetre"@en .
+
+
+###  http://www.ontology-of-units-of-measure.org/resource/om-2/millivolt
+<http://www.ontology-of-units-of-measure.org/resource/om-2/millivolt> rdf:type owl:NamedIndividual ,
+                                                                               <https://w3id.org/saref#UnitOfMeasure> ;
+                                                                      rdfs:label "millivolt"@en .
+
+
+###  https://saref.etsi.org/saref4agri/AirTemperature
+:AirTemperature rdf:type owl:NamedIndividual ,
+                         <https://w3id.org/saref#Temperature> ;
+                rdfs:comment "The degree or intensity of heat present in the air." ;
+                rdfs:label "Air temperature"@en .
+
+
+###  https://saref.etsi.org/saref4agri/AmbientHumidity
+:AmbientHumidity rdf:type owl:NamedIndividual ,
+                          <https://w3id.org/saref#Humidity> ;
+                 rdfs:comment "The amount of water vapour in the air." ;
+                 rdfs:label "Ambient huidity"@en ,
+                            "Ambient humidity"@en .
+
+
+###  https://saref.etsi.org/saref4agri/IrrigationWater
+:IrrigationWater rdf:type owl:NamedIndividual ,
+                          <https://w3id.org/saref#Property> ;
+                 rdfs:comment "The amount of water falling in the soil by irrigation methods." ;
+                 rdfs:label "Irrigation water"@en .
+
+
+###  https://saref.etsi.org/saref4agri/PlantGrowthStage
+:PlantGrowthStage rdf:type owl:NamedIndividual ,
+                           <https://w3id.org/saref#Property> ;
+                  rdfs:comment "The level or stage of growth of the plant." ;
+                  rdfs:label "Plant growth stage"@en .
+
+
+###  https://saref.etsi.org/saref4agri/Precipitation
+:Precipitation rdf:type owl:NamedIndividual ,
+                        <https://w3id.org/saref#Property> ;
+               rdfs:comment "The amount of water falling in the soil by natural process (e.g. rain)." ;
+               rdfs:label "Precipitation"@en .
+
+
+###  https://saref.etsi.org/saref4agri/SoilMoisture
+:SoilMoisture rdf:type owl:NamedIndividual ,
+                       <https://w3id.org/saref#Property> ;
+              rdfs:comment "The amount of water or humidity contained in the soil." ;
+              rdfs:label "Soil moisture"@en .
+
+
+###  https://saref.etsi.org/saref4agri/SoilTemperature
+:SoilTemperature rdf:type owl:NamedIndividual ,
+                          <https://w3id.org/saref#Temperature> ;
+                 rdfs:comment "The degree or intensity of heat present in the soil." ;
+                 rdfs:label "Soil temperature"@en .
+
+
+#################################################################
+#    Annotations
+#################################################################
+
+<http://www.w3.org/2003/01/geo/wgs84_pos#location> rdfs:comment """The relation between something and the point, 
+ or other geometrical thing in space, where it is.  For example, the realtionship between
+ a radio tower and a Point with a given lat and long.
+ Or a relationship between a park and its outline as a closed arc of points, or a road and
+ its location as a arc (a sequence of points).
+ Clearly in practice there will be limit to the accuracy of any such statement, but one would expect
+ an accuracy appropriate for the size of the object and uses such as mapping .
+ """ ;
+                                                   rdfs:label "location"@en .
+
+
+:Intake rdfs:comment "The amount of food or other substance taken into the body of an animal or into the soil."@en ;
+        rdfs:label "Intake"@en .
+
+
+:Yield rdfs:comment "The produced amount of food for animals or of agricultural products."@en ;
+       rdfs:label "Yield"@en .
+
+
+###  Generated by the OWL API (version 5.1.9) https://github.com/owlcs/owlapi/
\ No newline at end of file
diff --git a/requirements/requirements.csv b/requirements/requirements.csv
new file mode 100644
index 0000000000000000000000000000000000000000..4c590323e5e04fd1ca9e132311c57fcfd6edc1b1
--- /dev/null
+++ b/requirements/requirements.csv
@@ -0,0 +1 @@
+Id;Category;Requirement
\ No newline at end of file
diff --git a/tests/tests.csv b/tests/tests.csv
new file mode 100644
index 0000000000000000000000000000000000000000..e5dcc77698883c17e1c0c7e2e5e64420b7af82c4
--- /dev/null
+++ b/tests/tests.csv
@@ -0,0 +1 @@
+Id;Requirement;Category;Test