UNPKG

@rmlio/yarrrml-parser

Version:

Parse YARRRML descriptions into RML RDF statements

594 lines (437 loc) 15.7 kB
@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" .