Chris@0: @prefix map: . Chris@0: @prefix db: <> . Chris@0: @prefix dc: . Chris@0: @prefix vocab: . Chris@0: @prefix tl: . Chris@0: @prefix event: . Chris@0: @prefix foaf: . Chris@0: @prefix rdf: . Chris@0: @prefix rdfs: . Chris@0: @prefix xsd: . Chris@0: @prefix d2rq: . Chris@0: @prefix time: . Chris@0: @prefix mo: . Chris@0: @prefix d2r: . Chris@0: @prefix bio: . Chris@0: Chris@0: <> a d2r:Server; Chris@0: rdfs:label "DBTune Server, powered by D2R"; Chris@0: d2r:baseURI ; Chris@0: d2r:port 2020; Chris@0: d2r:documentMetadata [ Chris@0: rdfs:comment "This D2R server deals with RDF dumps of some creative-commons music libraries"; Chris@0: ]; Chris@0: . Chris@0: Chris@0: map:database a d2rq:Database; Chris@0: d2rq:jdbcDriver "com.mysql.jdbc.Driver"; Chris@0: d2rq:jdbcDSN "jdbc:mysql://localhost/magnatune?autoReconnect=true"; Chris@0: d2rq:username "yves"; Chris@0: d2rq:password "$0Me4nT!c"; Chris@0: #d2rq:resultSizeLimit 500; Chris@0: . Chris@0: Chris@0: Chris@0: Chris@0: #Tuning the mapping to match the music ontology Chris@0: Chris@0: # TRACK Chris@0: map:magnatune_song a d2rq:ClassMap; Chris@0: d2rq:dataStorage map:database; Chris@0: d2rq:uriPattern "track/@@magnatune_song_info.songid@@"; Chris@0: d2rq:class mo:Track; Chris@0: . Chris@0: map:magnatune_song_trackname a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_song; Chris@0: d2rq:property dc:title; Chris@0: d2rq:column "magnatune_song_info.trackname"; Chris@0: d2rq:datatype xsd:string; Chris@0: . Chris@0: map:magnatune_song_tracklabel a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_song; Chris@0: d2rq:property rdfs:label; Chris@0: d2rq:column "magnatune_song_info.trackname"; Chris@0: d2rq:datatype xsd:string; Chris@0: . Chris@0: map:magnatune_song_tracknum a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_song; Chris@0: d2rq:property mo:track_number; Chris@0: d2rq:column "magnatune_song_info.tracknum"; Chris@0: d2rq:datatype xsd:int; Chris@0: . Chris@0: map:magnatune_song_download a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_song; Chris@0: d2rq:property mo:available_as; Chris@0: d2rq:uriColumn "magnatune_song_info.download_mp3"; Chris@0: . Chris@0: map:magnatune_song_buy a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_song; Chris@0: d2rq:property mo:paid_download; Chris@0: d2rq:uriColumn "magnatune_song_info.buy"; Chris@0: . Chris@0: map:magnatune_song_creator a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_song; Chris@0: d2rq:property foaf:maker; Chris@0: d2rq:uriPattern "artist/@@magnatune_song_info.page@@"; Chris@0: . Chris@0: map:magnatune_song_date a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_song; Chris@0: d2rq:property dc:created; Chris@0: d2rq:column "magnatune_song_info.launchdate"; Chris@0: d2rq:datatype xsd:date; Chris@0: . Chris@0: Chris@0: # ALBUM Chris@0: map:magnatune_album a d2rq:ClassMap; Chris@0: d2rq:dataStorage map:database; Chris@0: d2rq:uriPattern "album/@@magnatune_song_info.albumsku@@"; Chris@0: d2rq:class mo:Record; Chris@0: . Chris@0: map:magnatune_hastrack a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_album; Chris@0: d2rq:property mo:track; Chris@0: d2rq:uriPattern "track/@@magnatune_song_info.songid@@"; Chris@0: . Chris@0: map:magnatune_albumname a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_album; Chris@0: d2rq:property dc:title; Chris@0: d2rq:column "magnatune_song_info.albumname"; Chris@0: d2rq:datatype xsd:string; Chris@0: . Chris@0: map:magnatune_publishinglocation a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_album; Chris@0: d2rq:property mo:publishing_location; Chris@0: d2rq:uriPattern "http://dbpedia.org/resource/@@magnatune_song_info.country@@"; Chris@0: . Chris@0: map:magnatune_albumlabel a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_album; Chris@0: d2rq:property rdfs:label; Chris@0: d2rq:column "magnatune_song_info.albumname"; Chris@0: d2rq:datatype xsd:string; Chris@0: . Chris@0: map:magnatune_album_creator a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_album; Chris@0: d2rq:property foaf:maker; Chris@0: d2rq:uriPattern "artist/@@magnatune_song_info.page@@"; Chris@0: . Chris@0: Chris@0: # ARTIST Chris@0: map:magnatune_artist a d2rq:ClassMap; Chris@0: d2rq:dataStorage map:database; Chris@0: d2rq:uriPattern "artist/@@magnatune_song_info.page@@"; Chris@0: d2rq:class mo:MusicArtist; Chris@0: . Chris@0: map:magnatune_artistname a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_artist; Chris@0: d2rq:property foaf:name; Chris@0: d2rq:column "magnatune_song_info.artist"; Chris@0: d2rq:datatype xsd:string; Chris@0: . Chris@0: map:magnatune_artistlabel a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_artist; Chris@0: d2rq:property rdfs:label; Chris@0: d2rq:column "magnatune_song_info.artist"; Chris@0: d2rq:datatype xsd:string; Chris@0: . Chris@0: map:magnatune_artistdesc a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_artist; Chris@0: d2rq:property dc:description; Chris@0: d2rq:column "magnatune_song_info.artistdesc"; Chris@0: d2rq:datatype xsd:string; Chris@0: . Chris@0: map:magnatune_artistbio a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_artist; Chris@0: d2rq:property bio:olb; Chris@0: d2rq:column "magnatune_song_info.bio"; Chris@0: d2rq:datatype xsd:string; Chris@0: . Chris@0: map:magnatune_artistimg a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_artist; Chris@0: d2rq:property foaf:img; Chris@0: d2rq:uriColumn "magnatune_song_info.bandphoto"; Chris@0: . Chris@0: map:magnatune_artisthp a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_artist; Chris@0: d2rq:property foaf:homepage; Chris@0: d2rq:uriColumn "magnatune_song_info.home"; Chris@0: . Chris@0: map:magnatune_basednear a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_artist; Chris@0: d2rq:property foaf:based_near; Chris@0: d2rq:uriPattern "http://dbpedia.org/resource/@@magnatune_song_info.country@@"; Chris@0: . Chris@0: Chris@0: Chris@0: # SIGNAL Chris@0: map:magnatune_signal a d2rq:ClassMap; Chris@0: d2rq:dataStorage map:database; Chris@0: d2rq:uriPattern "signal/@@magnatune_song_info.songid@@"; Chris@0: d2rq:class mo:Signal; Chris@0: . Chris@0: map:magnatune_signallabel a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_signal; Chris@0: d2rq:property rdfs:label; Chris@0: d2rq:pattern "signal @@magnatune_song_info.songid@@"; Chris@0: d2rq:datatype xsd:string; Chris@0: . Chris@0: map:magnatune_publi a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_signal; Chris@0: d2rq:property mo:published_as; Chris@0: d2rq:uriPattern "track/@@magnatune_song_info.songid@@"; Chris@0: . Chris@0: map:magnatune_signaltime a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_signal; Chris@0: d2rq:property mo:time; Chris@0: d2rq:uriPattern "timeinterval/@@magnatune_song_info.songid@@"; Chris@0: . Chris@0: Chris@0: # TIME INTERVAL Chris@0: map:magnatune_time_interval a d2rq:ClassMap; Chris@0: d2rq:dataStorage map:database; Chris@0: d2rq:uriPattern "timeinterval/@@magnatune_song_info.songid@@"; Chris@0: d2rq:class time:Interval; Chris@0: . Chris@0: map:magnatune_tilabel a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_time_interval; Chris@0: d2rq:property rdfs:label; Chris@0: d2rq:pattern "time interval @@magnatune_song_info.songid@@"; Chris@0: d2rq:datatype xsd:string; Chris@0: . Chris@0: map:magnatune_ti a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_time_interval; Chris@0: d2rq:property tl:duration; Chris@0: d2rq:pattern "PT@@magnatune_song_info.seconds@@S"; Chris@0: d2rq:datatype xsd:duration; Chris@0: . Chris@0: map:magnatune_tl a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_time_interval; Chris@0: d2rq:property tl:onTimeLine; Chris@0: d2rq:uriPattern "timeline/@@magnatune_song_info.songid@@"; Chris@0: . Chris@0: Chris@0: # RELATIVE TIME LINE Chris@0: map:magnatune_timeline a d2rq:ClassMap; Chris@0: d2rq:dataStorage map:database; Chris@0: d2rq:uriPattern "timeline/@@magnatune_song_info.songid@@"; Chris@0: d2rq:class tl:RelativeTimeLine; Chris@0: . Chris@0: map:magnatune_tllabel a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_timeline; Chris@0: d2rq:property rdfs:label; Chris@0: d2rq:pattern "timeline @@magnatune_song_info.songid@@"; Chris@0: d2rq:datatype xsd:string; Chris@0: . Chris@0: Chris@0: Chris@0: # PERFORMANCE Chris@0: map:magnatune_performance a d2rq:ClassMap; Chris@0: d2rq:dataStorage map:database; Chris@0: d2rq:uriPattern "performance/@@magnatune_song_info.songid@@"; Chris@0: d2rq:class mo:Performance; Chris@0: . Chris@0: map:magnatune_perflabel a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_performance; Chris@0: d2rq:property rdfs:label; Chris@0: d2rq:pattern "performance @@magnatune_song_info.songid@@"; Chris@0: d2rq:datatype xsd:string; Chris@0: . Chris@0: map:magnatune_perfcomment a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_performance; Chris@0: d2rq:property rdfs:comment; Chris@0: d2rq:pattern "I wonder it it is really useful for now, but it can be an anchor point for further information"; Chris@0: d2rq:datatype xsd:string; Chris@0: . Chris@0: map:magnatune_recordedAs a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_performance; Chris@0: d2rq:property mo:recorded_as; Chris@0: d2rq:uriPattern "signal/@@magnatune_song_info.songid@@"; Chris@0: . Chris@0: map:magnatune_place a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_performance; Chris@0: d2rq:property event:place; Chris@0: d2rq:uriPattern "http://dbpedia.org/resource/@@magnatune_song_info.country@@"; # there is also .citystate Chris@0: . Chris@0: map:magnatune_performer a d2rq:PropertyBridge; Chris@0: d2rq:belongsToClassMap map:magnatune_performance; Chris@0: d2rq:property mo:performer; Chris@0: d2rq:uriPattern "artist/@@magnatune_song_info.page@@"; Chris@0: .