diff --git a/afarcloud-aim-rml-mapping.ttl b/afarcloud-aim-rml-mapping.ttl
new file mode 100644
index 0000000000000000000000000000000000000000..cbc8ba90f9e40b85e18f08f0beebd267db904506
--- /dev/null
+++ b/afarcloud-aim-rml-mapping.ttl
@@ -0,0 +1,201 @@
+@prefix geof: <http://www.opengis.net/def/function/geosparql/>.
+@prefix map: <#>.
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+#@prefix ogc: <http://www.opengis.net/ont/geosparql#>.
+@prefix geo:   <http://www.opengis.net/ont/geosparql#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
+@prefix rr: <http://www.w3.org/ns/r2rml#>.
+@prefix rrx: <http://www.w3.org/ns/r2rml-ext#>.
+@prefix rrxf: <http://www.w3.org/ns/r2rml-ext/functions/def/>.
+@prefix strdf: <http://strdf.di.uoa.gr/ontology#>.
+#@prefix vocab: <ontology#>.
+@prefix iso19150-2: <http://def.seegrid.csiro.au/isotc211/iso19150/-2/2012/basic#> .
+@prefix foodie: <http://foodie-cloud.com/model/foodie#> .
+@prefix foodie-cz: <http://foodie-cloud.com/model/foodie-cz#> .
+@prefix foodie-es: <http://foodie-cloud.com/model/foodie-es#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
+@prefix owl:   <http://www.w3.org/2002/07/owl#> .
+@prefix skos:  <http://www.w3.org/2004/02/skos/core#> .
+@prefix virtrdf: <http://www.openlinksw.com/schemas/virtrdf#> .
+@prefix rml: <http://semweb.mmlab.be/ns/rml#> .
+@prefix ql: <http://semweb.mmlab.be/ns/ql#> .
+@prefix schema: <http://schema.org/>.
+@prefix locn:	<http://www.w3.org/ns/locn#>.
+@prefix rev: <http://purl.org/stuff/rev#>.
+@prefix sf: <http://www.opengis.net/ont/sf#>.
+@prefix sosa: <http://www.w3.org/ns/sosa/> .
+@prefix qudt: <http://qudt.org/schema/qudt/> .
+@prefix dc: <http://purl.org/dc/terms/> .
+@prefix afc: <http://www.w3id.org/afarcloud/>.
+
+<#Feature> a rr:TriplesMap;
+rml:logicalSource [
+     rml:source "./example-input-obs.json";
+     rml:referenceFormulation ql:JSONPath;
+     rml:iterator "$"];
+
+rr:subjectMap [ 
+     rr:class geo:Feature; 
+     rr:template "http://www.w3id.org/afarcloud/poi?lat={sensorData.latitude}&amp;long={sensorData.longitude}"];
+
+rr:predicateObjectMap [
+	rr:predicateMap [ rr:constant geo:hasGeometry ];
+	rr:objectMap [
+      rr:termType rr:IRI;
+			rr:template "http://www.w3id.org/afarcloud/pCoord?lat={sensorData.latitude}&amp;long={sensorData.longitude}"
+	]
+];
+.
+
+<#geometry> a rr:TriplesMap;
+rml:logicalSource [
+     rml:source "./example-input-obs.json";
+     rml:referenceFormulation ql:JSONPath;
+     rml:iterator "$"];
+
+rr:subjectMap [ 
+     rr:class sf:Point; 
+     rr:template "http://www.w3id.org/afarcloud/pCoord?lat={sensorData.latitude}&amp;long={sensorData.longitude}"];
+
+rr:predicateObjectMap [
+	rr:predicateMap [ rr:constant geo:asWKT ];
+	rr:objectMap [
+		rr:datatype  virtrdf:Geometry;
+		rr:template "POINT({sensorData.longitude} {sensorData.latitude})"
+	]
+];
+.
+
+<#sensor> a rr:TriplesMap;
+rml:logicalSource [
+     rml:source "./example-input-obs.json";
+     rml:referenceFormulation ql:JSONPath;
+     rml:iterator "$"];
+
+rr:subjectMap [ 
+     rr:class afc:AfarcloudSensors , afc:SoilSensor; 
+     rr:template "urn:afc:AS03:cropsManagement:RISE:{sensorData.resourceType}:{sensorData.resourceId}"];
+
+.
+
+<#observations> a rr:TriplesMap;
+rml:logicalSource [
+     rml:source "./example-input-obs.json";
+     rml:referenceFormulation ql:JSONPath;
+     rml:iterator "$.multiVariableObservationData.observations[*]"];
+
+rr:subjectMap [ 
+     rr:class sosa:Observation; 
+     rr:template "urn:afc:observation:{observedProperty}:{resultTime}"];
+
+rr:predicateObjectMap [
+	rr:predicateMap [ rr:constant sosa:observedProperty ];
+	rr:objectMap [
+      rr:termType rr:IRI;
+			rr:template "http://www.w3id.org/afarcloud/{observedProperty}"
+		]
+];
+
+rr:predicateObjectMap [
+	rr:predicateMap [ rr:constant sosa:resultTime ];
+	rr:objectMap [
+		rr:datatype  xsd:dateTime;
+		rml:reference "resultTime";
+	]
+];
+
+rr:predicateObjectMap [
+	rr:predicateMap [ rr:constant sosa:hasResult ];
+	rr:objectMap [
+      rr:termType rr:IRI;
+			rr:template "urn:afc:observation:{observedProperty}:{resultTime}:q1"
+		]
+];
+
+rr:predicateObjectMap [
+	rr:predicateMap [ rr:constant sosa:hasFeatureOfInterest ];
+     rr:objectMap [
+
+          #rr:termType rr:IRI;
+		#	rr:template "urn:{$.sensorData.latitude}"
+		
+      rr:parentTriplesMap <#Feature> ;
+      rr:joinCondition [
+        rr:child "resultTime";
+        rr:parent "sensorData.resultTime";
+      ];
+    ]
+];
+
+rr:predicateObjectMap [
+	rr:predicateMap [ rr:constant sosa:madeBySensor ];
+     rr:objectMap [
+      rr:parentTriplesMap <#sensor> ;
+      rr:joinCondition [
+        rr:child "resultTime";
+        rr:parent "sensorData.resultTime";
+      ];
+    ]
+];
+.
+	
+
+<#observations_results_units>
+rml:logicalSource [
+     rml:source "./example-input-obs.json";
+     rml:referenceFormulation ql:JSONPath;
+     rml:iterator "$.multiVariableObservationData.observations[*]"];
+
+rr:subjectMap [ 
+     rr:class qudt:QuantityValue; 
+     rr:template "urn:afc:observation:{observedProperty}:{resultTime}:q1"];
+
+rr:predicateObjectMap [
+	rr:predicateMap [ rr:constant qudt:numericValue ];
+	rr:objectMap [
+		rr:datatype  xsd:int;
+		rml:reference "result.value";
+	]
+];
+
+rr:predicateObjectMap [
+	rr:predicateMap [ rr:constant dc:identifier ];
+	rr:objectMap [
+	  rr:termType rr:Literal;
+		rr:template "{observedProperty}:{resultTime}:q1"
+	]
+];
+
+rr:predicateObjectMap [
+	rr:predicateMap [ rr:constant qudt:unit ];	
+     rr:objectMap [
+      rr:parentTriplesMap <#units> ;
+      rr:joinCondition [
+        rr:child "observedProperty";
+        rr:parent "observedProperty";
+      ];
+    ]
+];
+
+.
+
+<#units> a rr:TriplesMap;
+rml:logicalSource [
+     rml:source "./example-input-obs.json";
+     rml:referenceFormulation ql:JSONPath;
+     rml:iterator "$.sensorData.observations[*]"];
+
+rr:subjectMap [ 
+     rr:class qudt:Unit; 
+	#rr:termType rr:BlankNode
+     #rr:termType rr:IRI;
+     #rr:termType rr:Literal;
+	rr:template "{uom}"
+	]
+.