@rmlio/yarrrml-parser
Version:
Parse YARRRML descriptions into RML RDF statements
594 lines (437 loc) • 15.7 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 : <https://betweenourworlds.org/generation-rule/> .
@prefix afn: <https://betweenourworlds.org/function/> .
@prefix bow: <https://betweenourworlds.org/ontology/> .
@prefix dbo: <http://dbpedia.org/ontology/> .
:source_000 rdf:type rml:LogicalSource ;
rdfs:label "anime_source" ;
rml:source "anime-0.json" ;
rml:iterator "$.data[*]" ;
rml:referenceFormulation ql:JSONPath .
:source_001 rdf:type rml:LogicalSource ;
rdfs:label "stream_source" ;
rml:source "anime-streams-0.json" ;
rml:iterator "$.[*]" ;
rml:referenceFormulation ql:JSONPath .
:source_002 rdf:type rml:LogicalSource ;
rdfs:label "episode_source" ;
rml:source "anime-episodes-0.json" ;
rml:iterator "$.[*]" ;
rml:referenceFormulation ql:JSONPath .
:source_003 rdf:type rml:LogicalSource ;
rdfs:label "season_source" ;
rml:source "anime-seasons-0.json" ;
rml:iterator "$.[*]" ;
rml:referenceFormulation ql:JSONPath .
:map_anime_000 rml:logicalSource :source_000 ;
rdf:type rr:TriplesMap ;
rdfs:label "anime" ;
rr:subjectMap :s_000 ;
rr:predicateObjectMap :pom_000, :pom_001, :pom_002, :pom_003, :pom_004, :pom_005, :pom_006, :pom_007, :pom_008, :pom_009, :pom_010, :pom_011, :pom_012, :pom_013, :pom_014, :pom_016 .
:s_000 rdf:type rr:SubjectMap ;
rr:template "https://betweenourworlds.org/anime/{attributes.slug}" .
:pom_000 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_000 ;
rr:objectMap :om_000, :om_001, :om_002, :om_003, :om_004 .
:pm_000 rdf:type rr:PredicateMap ;
rr:constant rdf:type .
:om_000 rdf:type rr:ObjectMap ;
rr:constant "http://dbpedia.org/ontology/Work" ;
rr:termType rr:IRI .
:om_001 rdf:type rr:ObjectMap ;
rr:constant "http://dbpedia.org/ontology/Cartoon" ;
rr:termType rr:IRI .
:om_002 rdf:type rr:ObjectMap ;
rr:constant "http://dbpedia.org/ontology/Anime" ;
rr:termType rr:IRI .
:om_003 rdf:type rr:ObjectMap ;
rr:constant "http://schema.org/Thing" ;
rr:termType rr:IRI .
:om_004 rdf:type rr:ObjectMap ;
rr:constant "http://schema.org/CreativeWork" ;
rr:termType rr:IRI .
:pom_001 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_001, :pm_002, :pm_003 ;
rr:objectMap :om_005 .
:pm_001 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/name> .
:pm_002 rdf:type rr:PredicateMap ;
rr:constant rdfs:label .
:pm_003 rdf:type rr:PredicateMap ;
rr:constant dbo:title .
:om_005 rdf:type rr:ObjectMap ;
rml:reference "attributes.canonicalTitle" ;
rr:termType rr:Literal .
:pom_002 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_004, :pm_005, :pm_006 ;
rr:objectMap :om_006 .
:pm_004 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/name> .
:pm_005 rdf:type rr:PredicateMap ;
rr:constant rdfs:label .
:pm_006 rdf:type rr:PredicateMap ;
rr:constant dbo:title .
:om_006 rdf:type rr:ObjectMap ;
rml:reference "attributes.titles.en" ;
rr:termType rr:Literal ;
rml:languageMap :language_000 .
:language_000 rr:constant "en" .
:pom_003 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_007, :pm_008, :pm_009 ;
rr:objectMap :om_007 .
:pm_007 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/name> .
:pm_008 rdf:type rr:PredicateMap ;
rr:constant rdfs:label .
:pm_009 rdf:type rr:PredicateMap ;
rr:constant dbo:title .
:om_007 rdf:type rr:ObjectMap ;
rml:reference "attributes.titles.en_jp" ;
rr:termType rr:Literal ;
rml:languageMap :language_001 .
:language_001 rr:constant "ja" .
:pom_004 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_010, :pm_011, :pm_012 ;
rr:objectMap :om_008 .
:pm_010 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/name> .
:pm_011 rdf:type rr:PredicateMap ;
rr:constant rdfs:label .
:pm_012 rdf:type rr:PredicateMap ;
rr:constant dbo:title .
:om_008 rdf:type rr:ObjectMap ;
rml:reference "attributes.titles.ja_jp" ;
rr:termType rr:Literal ;
rml:languageMap :language_002 .
:language_002 rr:constant "ja" .
:pom_005 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_013, :pm_014 ;
rr:objectMap :om_009 .
:pm_013 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/numberOfEpisodes> .
:pm_014 rdf:type rr:PredicateMap ;
rr:constant dbo:numberOfEpisodes .
:om_009 rdf:type rr:ObjectMap ;
rml:reference "attributes.episodeCount" ;
rr:termType rr:Literal .
:pom_006 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_015 ;
rr:objectMap :om_010, :om_011 .
:pm_015 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/contentRating> .
:om_010 rdf:type rr:ObjectMap ;
rml:reference "attributes.ageRating" ;
rr:termType rr:Literal .
:om_011 rdf:type rr:ObjectMap ;
rml:reference "attributes.ageRatingGuide" ;
rr:termType rr:Literal .
:pom_007 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_016 ;
rr:objectMap :om_012 .
:pm_016 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/image> .
:om_012 rdf:type rr:ObjectMap ;
rml:reference "attributes.coverImage.original" ;
rr:termType rr:Literal ;
rr:datatype <http://schema.org/URL> .
:pom_008 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_017 ;
rr:objectMap :om_013 .
:pm_017 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/endDate> .
:om_013 rdf:type rr:ObjectMap ;
rml:reference "attributes.endDate" ;
rr:termType rr:Literal ;
rr:datatype <http://schema.org/Date> .
:pom_009 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_018 ;
rr:objectMap :om_014 .
:pm_018 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/startDate> .
:om_014 rdf:type rr:ObjectMap ;
rml:reference "attributes.startDate" ;
rr:termType rr:Literal ;
rr:datatype <http://schema.org/Date> .
:pom_010 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_019, :pm_020 ;
rr:objectMap :om_015 .
:pm_019 rdf:type rr:PredicateMap ;
rr:constant rdfs:comment .
:pm_020 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/description> .
:om_015 rdf:type rr:ObjectMap ;
rml:reference "attributes.synopsis" ;
rr:termType rr:Literal .
:pom_011 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_021 ;
rr:objectMap :om_016 .
:pm_021 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/mainEntityOfPage> .
:om_016 rdf:type rr:ObjectMap ;
rr:template "https://kitsu.io/anime/{attributes.slug}" ;
rr:termType rr:Literal ;
rr:datatype <http://schema.org/URL> .
:pom_012 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_022 ;
rr:objectMap :om_017 .
:pm_022 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/mainEntityOfPage> .
:om_017 rdf:type rr:ObjectMap ;
rml:reference "otherWebsites" ;
rr:termType rr:Literal ;
rr:datatype <http://schema.org/URL> .
:pom_013 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_023 ;
rr:objectMap :om_018 .
:pm_023 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/mainEntityOfPage> .
:om_018 rdf:type rr:ObjectMap ;
rml:reference "streams" ;
rr:termType rr:Literal ;
rr:datatype <http://schema.org/URL> .
:pom_014 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_024 ;
rr:objectMap :om_019 .
:pm_024 rdf:type rr:PredicateMap ;
rr:constant rdf:type .
:om_019 rdf:type fnml:FunctionTermMap ;
rr:termType rr:IRI ;
fnml:functionValue :fn_000 .
:fn_000 rml:logicalSource :source_000 ;
rr:predicateObjectMap :pomexec_000, :pom_015 .
:pomexec_000 rr:predicateMap :pmexec_000 ;
rr:objectMap :omexec_000 .
:pmexec_000 rr:constant fno:executes .
:omexec_000 rr:constant "https://betweenourworlds.org/function/getClass" ;
rr:termType rr:IRI .
:pom_015 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_025 ;
rr:objectMap :om_020 .
:pm_025 rdf:type rr:PredicateMap ;
rr:constant afn:value .
:om_020 rdf:type rr:ObjectMap ;
rml:reference "attributes.subtype" ;
rr:termType rr:Literal .
:pom_016 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_026 ;
rr:objectMap :om_040 .
:pm_026 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/trailer> .
:map_trailer_000 rml:logicalSource :source_000 ;
rdf:type rr:TriplesMap ;
rdfs:label "trailer" ;
rr:subjectMap :s_001 ;
rr:predicateObjectMap :pom_017, :pom_018 .
:s_001 rdf:type rr:SubjectMap ;
rr:template "https://betweenourworlds.org/trailer/{attributes.slug}" .
:pom_017 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_027 ;
rr:objectMap :om_021, :om_022, :om_023, :om_024 .
:pm_027 rdf:type rr:PredicateMap ;
rr:constant rdf:type .
:om_021 rdf:type rr:ObjectMap ;
rr:constant "http://schema.org/VideoObject" ;
rr:termType rr:IRI .
:om_022 rdf:type rr:ObjectMap ;
rr:constant "http://schema.org/Thing" ;
rr:termType rr:IRI .
:om_023 rdf:type rr:ObjectMap ;
rr:constant "http://schema.org/CreativeWork" ;
rr:termType rr:IRI .
:om_024 rdf:type rr:ObjectMap ;
rr:constant "http://schema.org/MediaObject" ;
rr:termType rr:IRI .
:pom_018 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_028 ;
rr:objectMap :om_025 .
:pm_028 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/url> .
:om_025 rdf:type rr:ObjectMap ;
rr:template "https://www.youtube.com/watch?v={attributes.youtubeVideoId}" ;
rr:termType rr:Literal .
:map_stream_000 rml:logicalSource :source_001 ;
rdf:type rr:TriplesMap ;
rdfs:label "stream" ;
rr:subjectMap :s_002 ;
rr:predicateObjectMap :pom_019, :pom_020, :pom_021, :pom_023 .
:s_002 rdf:type rr:SubjectMap ;
rr:template "https://betweenourworlds.org/stream/{slug}-{service}" .
:pom_019 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_029 ;
rr:objectMap :om_026 .
:pm_029 rdf:type rr:PredicateMap ;
rr:constant rdf:type .
:om_026 rdf:type rr:ObjectMap ;
rr:constant "https://betweenourworlds.org/ontology/Stream" ;
rr:termType rr:IRI .
:pom_020 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_030 ;
rr:objectMap :om_027 .
:pm_030 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/url> .
:om_027 rdf:type rr:ObjectMap ;
rml:reference "url" ;
rr:termType rr:Literal ;
rr:datatype <http://schema.org/URL> .
:pom_021 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_031 ;
rr:objectMap :om_028 .
:pm_031 rdf:type rr:PredicateMap ;
rr:constant bow:providedBy .
:om_028 rdf:type fnml:FunctionTermMap ;
rr:termType rr:IRI ;
fnml:functionValue :fn_001 .
:fn_001 rml:logicalSource :source_001 ;
rr:predicateObjectMap :pomexec_001, :pom_022 .
:pomexec_001 rr:predicateMap :pmexec_001 ;
rr:objectMap :omexec_001 .
:pmexec_001 rr:constant fno:executes .
:omexec_001 rr:constant "https://betweenourworlds.org/function/getStreamAgent" ;
rr:termType rr:IRI .
:pom_022 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_032 ;
rr:objectMap :om_029 .
:pm_032 rdf:type rr:PredicateMap ;
rr:constant afn:value .
:om_029 rdf:type rr:ObjectMap ;
rml:reference "service" ;
rr:termType rr:Literal .
:pom_023 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_033 ;
rr:objectMap :om_041 .
:pm_033 rdf:type rr:PredicateMap ;
rr:constant bow:object .
:map_episode_000 rml:logicalSource :source_002 ;
rdf:type rr:TriplesMap ;
rdfs:label "episode" ;
rr:subjectMap :s_003 ;
rr:predicateObjectMap :pom_024, :pom_025, :pom_026, :pom_027, :pom_028, :pom_029 .
:s_003 rdf:type rr:SubjectMap ;
rr:template "https://betweenourworlds.org/episode/{anime_slug}-{attributes.number}" .
:pom_024 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_034 ;
rr:objectMap :om_030, :om_031, :om_032 .
:pm_034 rdf:type rr:PredicateMap ;
rr:constant rdf:type .
:om_030 rdf:type rr:ObjectMap ;
rr:constant "http://schema.org/Episode" ;
rr:termType rr:IRI .
:om_031 rdf:type rr:ObjectMap ;
rr:constant "http://schema.org/CreativeWork" ;
rr:termType rr:IRI .
:om_032 rdf:type rr:ObjectMap ;
rr:constant "http://schema.org/Thing" ;
rr:termType rr:IRI .
:pom_025 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_035, :pm_036, :pm_037 ;
rr:objectMap :om_033 .
:pm_035 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/name> .
:pm_036 rdf:type rr:PredicateMap ;
rr:constant rdfs:label .
:pm_037 rdf:type rr:PredicateMap ;
rr:constant dbo:title .
:om_033 rdf:type rr:ObjectMap ;
rml:reference "attributes.canonicalTitle" ;
rr:termType rr:Literal .
:pom_026 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_038 ;
rr:objectMap :om_034 .
:pm_038 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/episodeNumber> .
:om_034 rdf:type rr:ObjectMap ;
rml:reference "attributes.relativeNumber" ;
rr:termType rr:Literal ;
rr:datatype <http://schema.org/Integer> .
:pom_027 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_039, :pm_040 ;
rr:objectMap :om_035 .
:pm_039 rdf:type rr:PredicateMap ;
rr:constant rdfs:comment .
:pm_040 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/description> .
:om_035 rdf:type rr:ObjectMap ;
rml:reference "attributes.synopsis" ;
rr:termType rr:Literal .
:pom_028 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_041 ;
rr:objectMap :om_042 .
:pm_041 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/partOfSeason> .
:pom_029 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_042 ;
rr:objectMap :om_043 .
:pm_042 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/about> .
:map_season_000 rml:logicalSource :source_003 ;
rdf:type rr:TriplesMap ;
rdfs:label "season" ;
rr:subjectMap :s_004 ;
rr:predicateObjectMap :pom_030, :pom_031, :pom_032 .
:s_004 rdf:type rr:SubjectMap ;
rr:template "https://betweenourworlds.org/season/{anime.slug}-{seasonNumber}" .
:pom_030 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_043 ;
rr:objectMap :om_036, :om_037, :om_038 .
:pm_043 rdf:type rr:PredicateMap ;
rr:constant rdf:type .
:om_036 rdf:type rr:ObjectMap ;
rr:constant "http://schema.org/Season" ;
rr:termType rr:IRI .
:om_037 rdf:type rr:ObjectMap ;
rr:constant "http://schema.org/CreativeWork" ;
rr:termType rr:IRI .
:om_038 rdf:type rr:ObjectMap ;
rr:constant "http://schema.org/Thing" ;
rr:termType rr:IRI .
:pom_031 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_044 ;
rr:objectMap :om_039 .
:pm_044 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/seasonNumber> .
:om_039 rdf:type rr:ObjectMap ;
rml:reference "seasonNumber" ;
rr:termType rr:Literal ;
rr:datatype <http://schema.org/Integer> .
:pom_032 rdf:type rr:PredicateObjectMap ;
rr:predicateMap :pm_045 ;
rr:objectMap :om_044 .
:pm_045 rdf:type rr:PredicateMap ;
rr:constant <http://schema.org/about> .
:om_040 rdf:type rr:ObjectMap ;
rr:parentTriplesMap :map_trailer_000 ;
rr:joinCondition :jc_000 .
:jc_000 rr:child "attributes.slug" ;
rr:parent "attributes.slug" .
:om_041 rdf:type rr:ObjectMap ;
rr:parentTriplesMap :map_anime_000 ;
rr:joinCondition :jc_001 .
:jc_001 rr:child "slug" ;
rr:parent "attributes.slug" .
:om_042 rdf:type rr:ObjectMap ;
rr:parentTriplesMap :map_season_000 ;
rr:joinCondition :jc_002, :jc_003 .
:jc_002 rr:child "attributes.seasonNumber" ;
rr:parent "seasonNumber" .
:jc_003 rr:child "anime_id" ;
rr:parent "anime.id" .
:om_043 rdf:type rr:ObjectMap ;
rr:parentTriplesMap :map_anime_000 ;
rr:joinCondition :jc_004 .
:jc_004 rr:child "anime_id" ;
rr:parent "id" .
:om_044 rdf:type rr:ObjectMap ;
rr:parentTriplesMap :map_anime_000 ;
rr:joinCondition :jc_005 .
:jc_005 rr:child "anime.id" ;
rr:parent "id" .