@rmlio/yarrrml-parser
Version:
Parse YARRRML descriptions into RML RDF statements
52 lines (41 loc) • 1.59 kB
text/turtle
@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 ex: <http://example.com/> .
:rules_000 rdf:type void:Dataset ;
dc:contributor :person_000, :person_001 ;
void:exampleResource :map_person_000 .
:person_000 dc:contributor foaf:Person ;
rdfs:label "John Doe" ;
foaf:mbox <mailto:john@doe.com> .
:person_001 dc:contributor foaf:Person ;
rdfs:label "Jane Doe" ;
foaf:homepage <https://janedoe.com> .
:map_person_000 rml:logicalSource :source_000 ;
rdf:type rr:TriplesMap ;
rdfs:label "person" ;
rr:subjectMap :s_000 ;
rr:predicateObjectMap :pom_000 .
:source_000 rdf:type rml:LogicalSource ;
rml:source "data.json" ;
rml:iterator "$.persons[*]" ;
rml:referenceFormulation ql:JSONPath .
:s_000 rdf:type rr:SubjectMap ;
rr:template "http://example.com/{firstname}" .
: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://example.com/Person" ;
rr:termType rr:IRI .