@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 rmle: <https://w3id.org/imec/rml/ns/extensions#> .
@prefix rmlt: <http://semweb.mmlab.be/ns/rml-target#> .
@prefix formats: <http://www.w3.org/ns/formats/> .

:source_000 rdf:type rml:LogicalSource ;
	rdfs:label "ls_persons" ;
	rml:source "data.csv" ;
	rml:referenceFormulation ql:CSV .

:map_persons_000 rml:logicalSource :source_000 ;
	rdf:type rr:TriplesMap ;
	rdfs:label "persons" ;
	rr:subjectMap :s_000 ;
	rr:predicateObjectMap :pom_000 .

:s_000 rdf:type rr:SubjectMap ;
	rr:template "http://example.org/{firstname}_{lastname}" ;
	rmle:logicalTargetMap :logicalTargetMap_000 .

:logicalTargetMap_000 rdf:type rmle:LogicalTargetMap ;
	rr:template "generated_lt_person_target_{firstname}_{lastname}_000" .

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

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

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

:map_generated_logical_target_tm_000 rdf:type rr:TriplesMap ;
	rdfs:label "dynamic_target_mapping_person_target" ;
	rml:logicalSource :source_000 ;
	rr:subjectMap :s_001 ;
	rr:predicateObjectMap :pom_001, :pom_002 .

:s_001 rdf:type rr:SubjectMap ;
	rr:template "generated_lt_person_target_{firstname}_{lastname}_000" ;
	rr:class rmlt:LogicalTarget ;
	rml:logicalTarget rmle:ThisMapping .

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

:pm_001 rdf:type rr:PredicateMap ;
	rr:constant rmlt:target .

:om_001 rdf:type rr:ObjectMap ;
	rr:template "generated_t_person_target_{firstname}_{lastname}_000" ;
	rr:termType rr:IRI .

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

:pm_002 rdf:type rr:PredicateMap ;
	rr:constant rmlt:serialization .

:om_002 rdf:type rr:ObjectMap ;
	rr:constant formats:Turtle ;
	rr:termType rr:IRI .

:map_generated_target_tm_000 rdf:type rr:TriplesMap ;
	rdfs:label "dynamic_target_mapping_person_target" ;
	rml:logicalSource :source_000 ;
	rr:subjectMap :s_002 ;
	rr:predicateObjectMap :pom_003 .

:s_002 rdf:type rr:SubjectMap ;
	rr:template "generated_t_person_target_{firstname}_{lastname}_000" ;
	rr:class rmlt:Target, void:Dataset ;
	rml:logicalTarget rmle:ThisMapping .

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

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

:om_003 rdf:type rr:ObjectMap ;
	rr:template "file://{firstname}_{lastname}.ttl" ;
	rr:termType rr:Literal .

