@prefix rr: <http://www.w3.org/ns/r2rml#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix fnml: <http://semweb.mmlab.be/ns/fnml#> .
@prefix fno: <https://w3id.org/function/ontology#> .
@prefix d2rq: <http://www.wiwiss.fu-berlin.de/suhl/bizer/D2RQ/0.1#> .
@prefix void: <http://rdfs.org/ns/void#> .
@prefix dc: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rml: <http://semweb.mmlab.be/ns/rml#> .
@prefix ql: <http://semweb.mmlab.be/ns/ql#> .
@prefix : <http://mapping.example.com/> .
@prefix transit: <http://vocab.org/transit/terms/> .
@prefix wgs84_pos: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
@prefix gn: <http://www.geonames.org/ontology#> .
@prefix geosp: <http://www.telegraphis.net/ontology/geography/geography#> .

:source_000 rdf:type rml:LogicalSource ;
	rdfs:label "sourceVenue" ;
	rml:source "src/test/resources/example3/Venue.json" ;
	rml:iterator "$" ;
	rml:referenceFormulation ql:JSONPath .

:map_AirportMapping_000 rml:logicalSource :source_001 ;
	rdf:type rr:TriplesMap ;
	rdfs:label "AirportMapping" ;
	rr:subjectMap :s_000 ;
	rr:predicateObjectMap :pom_000, :pom_001, :pom_002 .

:source_001 rdf:type rml:LogicalSource ;
	rml:source "src/test/resources/example3/Airport.csv" ;
	rml:referenceFormulation ql:CSV .

:s_000 rdf:type rr:SubjectMap ;
	rr:template "http://airport.example.com/{id}" .

:pom_000 rdf:type rr:PredicateObjectMap ;
	rr:predicateMap :pm_000 ;
	rr:objectMap :om_000 .

:pm_000 rdf:type rr:PredicateMap ;
	rr:constant rdf:type .

:om_000 rdf:type rr:ObjectMap ;
	rr:constant "http://vocab.org/transit/terms/Stop" ;
	rr:termType rr:IRI .

:pom_001 rdf:type rr:PredicateObjectMap ;
	rr:predicateMap :pm_001 ;
	rr:objectMap :om_009 .

:pm_001 rdf:type rr:PredicateMap ;
	rr:constant transit:service .

:pom_002 rdf:type rr:PredicateObjectMap ;
	rr:predicateMap :pm_002 ;
	rr:objectMap :om_010 .

:pm_002 rdf:type rr:PredicateMap ;
	rr:constant wgs84_pos:location .

:map_BusMapping_000 rml:logicalSource :source_002 ;
	rdf:type rr:TriplesMap ;
	rdfs:label "BusMapping" ;
	rr:subjectMap :s_001 ;
	rr:predicateObjectMap :pom_003, :pom_004 .

:source_002 rdf:type rml:LogicalSource ;
	rml:source "src/test/resources/example3/Transport.xml" ;
	rml:iterator "/transport/bus" ;
	rml:referenceFormulation ql:XPath .

:s_001 rdf:type rr:SubjectMap ;
	rr:template "http://trans.example.com/busses/{@id}" .

:pom_003 rdf:type rr:PredicateObjectMap ;
	rr:predicateMap :pm_003 ;
	rr:objectMap :om_001 .

:pm_003 rdf:type rr:PredicateMap ;
	rr:constant rdf:type .

:om_001 rdf:type rr:ObjectMap ;
	rr:constant "http://vocab.org/transit/terms/Service" ;
	rr:termType rr:IRI .

:pom_004 rdf:type rr:PredicateObjectMap ;
	rr:predicateMap :pm_004 ;
	rr:objectMap :om_011 .

:pm_004 rdf:type rr:PredicateMap ;
	rr:constant transit:stop .

:map_BusStopMapping_000 rml:logicalSource :source_003 ;
	rdf:type rr:TriplesMap ;
	rdfs:label "BusStopMapping" ;
	rr:subjectMap :s_002 ;
	rr:predicateObjectMap :pom_005, :pom_006 .

:source_003 rdf:type rml:LogicalSource ;
	rml:source "src/test/resources/example3/Transport.xml" ;
	rml:iterator "/transport/bus/route/stop" ;
	rml:referenceFormulation ql:XPath .

:s_002 rdf:type rr:SubjectMap ;
	rr:template "http://trans.example.com/stops/{@id}" .

:pom_005 rdf:type rr:PredicateObjectMap ;
	rr:predicateMap :pm_005 ;
	rr:objectMap :om_002 .

:pm_005 rdf:type rr:PredicateMap ;
	rr:constant rdf:type .

:om_002 rdf:type rr:ObjectMap ;
	rr:constant "http://vocab.org/transit/terms/Stop" ;
	rr:termType rr:IRI .

:pom_006 rdf:type rr:PredicateObjectMap ;
	rr:predicateMap :pm_006 ;
	rr:objectMap :om_003 .

:pm_006 rdf:type rr:PredicateMap ;
	rr:constant rdfs:label .

:om_003 rdf:type rr:ObjectMap ;
	rml:reference "." ;
	rr:termType rr:Literal .

:map_VenueMapping_000 rml:logicalSource :source_000 ;
	rdf:type rr:TriplesMap ;
	rdfs:label "VenueMapping" ;
	rr:subjectMap :s_003 ;
	rr:predicateObjectMap :pom_007, :pom_008, :pom_009, :pom_010 .

:s_003 rdf:type rr:SubjectMap ;
	rr:template "http://loc.example.com/city/{$.location.city}" .

:pom_007 rdf:type rr:PredicateObjectMap ;
	rr:predicateMap :pm_007 ;
	rr:objectMap :om_004 .

:pm_007 rdf:type rr:PredicateMap ;
	rr:constant rdf:type .

:om_004 rdf:type rr:ObjectMap ;
	rr:constant "http://schema.org/City" ;
	rr:termType rr:IRI .

:pom_008 rdf:type rr:PredicateObjectMap ;
	rr:predicateMap :pm_008 ;
	rr:objectMap :om_012 .

:pm_008 rdf:type rr:PredicateMap ;
	rr:constant wgs84_pos:location .

:pom_009 rdf:type rr:PredicateObjectMap ;
	rr:predicateMap :pm_009 ;
	rr:objectMap :om_005 .

:pm_009 rdf:type rr:PredicateMap ;
	rr:constant geosp:onContinent .

:om_005 rdf:type rr:ObjectMap ;
	rml:reference "$.location.continent" ;
	rr:termType rr:Literal .

:pom_010 rdf:type rr:PredicateObjectMap ;
	rr:predicateMap :pm_010 ;
	rr:objectMap :om_006 .

:pm_010 rdf:type rr:PredicateMap ;
	rr:constant gn:countryCode .

:om_006 rdf:type rr:ObjectMap ;
	rml:reference "$.location.country" ;
	rr:termType rr:Literal .

:map_LocationMapping_000 rml:logicalSource :source_000 ;
	rdf:type rr:TriplesMap ;
	rdfs:label "LocationMapping" ;
	rr:subjectMap :s_004 ;
	rr:predicateObjectMap :pom_011, :pom_012 .

:s_004 rdf:type rr:SubjectMap ;
	rr:template "http://loc.example.com/latlong/{$.venue.latitude},{$.venue.longitude}" .

:pom_011 rdf:type rr:PredicateObjectMap ;
	rr:predicateMap :pm_011 ;
	rr:objectMap :om_007 .

:pm_011 rdf:type rr:PredicateMap ;
	rr:constant wgs84_pos:lat .

:om_007 rdf:type rr:ObjectMap ;
	rml:reference "$.venue.latitude" ;
	rr:termType rr:Literal .

:pom_012 rdf:type rr:PredicateObjectMap ;
	rr:predicateMap :pm_012 ;
	rr:objectMap :om_008 .

:pm_012 rdf:type rr:PredicateMap ;
	rr:constant wgs84_pos:long .

:om_008 rdf:type rr:ObjectMap ;
	rml:reference "$.venue.longitude" ;
	rr:termType rr:Literal .

:om_009 rdf:type rr:ObjectMap ;
	rr:parentTriplesMap :map_BusMapping_000 ;
	rr:joinCondition :jc_000 .

:jc_000 rr:child "bus" ;
	rr:parent "@id" .

:om_010 rdf:type rr:ObjectMap ;
	rr:parentTriplesMap :map_VenueMapping_000 ;
	rr:joinCondition :jc_001 .

:jc_001 rr:child "city" ;
	rr:parent "$.location.city" .

:om_011 rdf:type rr:ObjectMap ;
	rr:parentTriplesMap :map_BusStopMapping_000 .

:om_012 rdf:type rr:ObjectMap ;
	rr:parentTriplesMap :map_LocationMapping_000 ;
	rr:joinCondition :jc_002 .

:jc_002 rr:child "$.location.city" ;
	rr:parent "$.location.city" .

