Skip to content
Snippets Groups Projects
Select Git revision
  • main
1 result

afarcloud-aim-rml-mapping.ttl

Blame
  • Forked from AFARCLOUD_PUBLIC / demeter
    26 commits behind the upstream repository.
    afarcloud-aim-rml-mapping.ttl 5.81 KiB
    @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}"
    	]
    .