114

Play Back Ontology


The Play Back Ontology specification provides basic concepts and properties for describing a concepts that are related to the play back domain, e.g. an playlist, play back count and skip counter, on/ for the Semantic Web.

Examples

Add another example.

Music Playlist with Association Statements

This examples shows a music playlist described with the help of the Play Back Ontology, Ordered List Ontology and Association Ontology. The playlist itself is modelled as pbo:Playlist instance and is annotated with further editoral metadata, e.g. a title, a description and a creator, and has a fixed length (olo:length) that represents the number of slots this specific ordered list (olo:OrderedList) instance consist of. Each slot is modelled as pbo:PlaylistSlot instance to ensure that only some media items ( bibo:Document or frbr:Endeavour based concepts) are in the playlist. This is especially realized by the range restriction of pbo:playlist_item. In the example this items are mo:Track instances. The playlist has two association statements related by sim:association. The first one (ex:ZazisAssocation) is modelled as an association to a specific occasion, which is related by ao:occasion. Furthermore, this association includes (music) genre (ao:genre) and mood (ao:mood) categorisations as simple string typed literals. The second association statement (ex:BobsAssociationInUse) is an ao:LikeableAssociation instance that includes (ao:included_association) a reuseable association statement (ex:BobsAssociation). As the domain specific (but abstract) association relations – ao:genre, ao:mood, ao:occasion – have no range, sub properties with specific ranges could be created from them (e.g. mo:genre for music genres/styles (this isn’t currently the case)). To illustrate this use case, the example includes a specific mo:Genre instance (ex:Funk) to ex:BobsAssociation. Finally, because ex:BobsAssociationInUse is a likeable association statement in the context of the described music playlist (ex:FunkyPlaylist), other people could expressed that they like this association – as it is done in the example by using the relation ao:likeminded – or they are able to feedback (e.g. rev:Feedback) or rate (rev:rating) it. more…

@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
@prefix dc:      <http://purl.org/dc/elements/1.1/> .
@prefix olo:     <http://purl.org/ontology/olo/core#> .
@prefix pbo:     <http://purl.org/ontology/pbo/core#> .
@prefix ao:      <http://purl.org/ontology/ao/core#> .
@prefix mo:      <http://purl.org/ontology/mo/> .
@prefix ex:      <http://example.org/> .
@prefix sim:     <http://purl.org/ontology/similarity/> .
 
ex:FunkyPlaylist a pbo:Playlist ;
   dc:title "Funky Playlist"^^xsd:string ;
   dc:description "A playlist full of funky legends"^^xsd:string ;
   dc:creator <http://foaf.me/zazi#me> ;
   olo:length 2 ;
   sim:association ex:ZazisAssociation ;
   sim:association ex:BobsAssociationInUse ;
   pbo:playlist_slot [   
      olo:index 1 ;
      pbo:playlist_item ex:SexMachine
   ] ;
   pbo:playlist_slot [
      olo:index 2 ;
      pbo:playlist_item ex:GoodFoot
   ] .
 
ex:SexMachine a mo:Track ;
   dc:title "Sex Machine"^^xsd:string ;
   dc:creator <http://dbpedia.org/resource/James_Brown> .
 
ex:GoodFoot a mo:Track ;
   dc:title "Good Foot"^^xsd:string .	
 
ex:ZazisAssociation a sim:Association ;
   dc:creator <http://foaf.me/zazi#me> ;
   ao:genre "Funk"^^xsd:string ;
   ao:mood "party"^^xsd:string ;
   ao:occasion "my birthday party 2008"^^xsd:string .
 
ex:BobsAssociation a sim:Association ;
   dc:creator <http://foaf.me/zazi#me> ;
   ao:genre ex:Funk ;
   ao:mood "happy"^^xsd:string ;
   ao:occasion "good feeling music"^^xsd:string .
 
ex:BobsAssociationInUse a ao:LikeableAssociation ;
   ao:included_association ex:BobsAssociation ;
   ao:likeminded <http://moustaki.org/foaf.rdf#moustaki> .
 
ex:Funk a mo:Genre .

Play Back and Skip Counter Example

This examples shows, how co:Counter could be specified as a play back counter (pbo:PlayBackCounter) and as a skip counter (pbo:SkipCounter) for a specific music track (here of the type mo:Track), related by the property pbo:media_object. Each time, when this specific music track was played, a co:ScrobbleEvent instance was created and linked to its play back counter with the property co:event_counter. This happened also, when this specific music track was skipped. The only difference is that such an event is related to its skip counter pbo:SkipCounter. To describe a scrobble events more in detail (besides event:time and event:agent), one can add properties such as co:application (to describe the application, which is related to the scrobbling activity, e.g. ex:iTunes) or co:device (to describe the device, which is related to the scrobbling activity, e.g. ex:MyPC). more…

@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
@prefix dc:      <http://purl.org/dc/elements/1.1/> .
@prefix co:      <http://purl.org/ontology/co/core#> .
@prefix pbo:     <http://purl.org/ontology/pbo/core#> .
@prefix mo:      <http://purl.org/ontology/mo/> .
@prefix ex:      <http://example.org/> .
@prefix event:   <http://purl.org/NET/c4dm/event.owl#> .
@prefix time:    <http://www.w3.org/2006/time#> .
@prefix am:      <http://vocab.deri.ie/am#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
 
ex:PlayBackCounter a pbo:PlayBackCounter ;
   dc:title "Play Back Counter"^^xsd:string ;
   dc:creator <http://foaf.me/zazi#me> ;
   dc:description "A play back counter of a specific music track"^^xsd:string ;
   co:count "2"^^xsd:integer ;
   pbo:media_object ex:SexMachine .
 
ex:SkipCounter a pbo:SkipCounter ;
   dc:title "Skip Counter"^^xsd:string ;
   dc:creator <http://foaf.me/zazi#me> ;
   dc:description "A skip counter of a specific music track"^^xsd:string ;
   co:count "1"^^xsd:integer ;
   pbo:media_object ex:SexMachine .	  
 
ex:SexMachine a mo:Track ;
   dc:title "Sex Machine"^^xsd:string ;
   dc:creator <http://dbpedia.org/resource/James_Brown> .
 
ex:SexMachineSE1 a co:ScrobbleEvent ;
   event:time [
      a time:Instant ;
      time:inXSDDateTime "2010-07-15T11:21:52+01:00"^^xsd:dateTime 
      ] ;
   event:agent <http://foaf.me/zazi#me> ; 
   co:application ex:iTunes ;
   co:device ex:MyPC ;
   co:event_counter ex:PlayBackCounter .
 
ex:SexMachineSE2 a co:ScrobbleEvent ;
   event:time [
      a time:Instant ;
      time:inXSDDateTime "2010-07-15T11:27:52+01:00"^^xsd:dateTime
      ] ;
   event:agent <http://foaf.me/zazi#me> ; 
   co:application ex:iTunes ;
   co:device ex:MyPC ;
   co:event_counter ex:PlayBackCounter .
 
ex:SexMachineSE3 a co:ScrobbleEvent ;
   event:time [
      a time:Instant ;
      time:inXSDDateTime "2010-07-15T11:35:52+01:00"^^xsd:dateTime
      ] ;
   event:agent <http://foaf.me/zazi#me> ; 
   co:application ex:iTunes ;
   co:device ex:MyPC ;
   co:event_counter ex:SkipCounter .
 
ex:iTunes a am:Application .
 
ex:MyPC a owl:Thing .