The Music Ontology Specification provides main concepts and properties for describing music (i.e. artists, albums, tracks, but also performances, arrangements, etc.) on the Semantic Web.
Properties: puid, djmix_of, performer, track number, release_status, image, produced sound, trmid, instrument, freedownload, movement number, preview, produced, want_item, supporting_musician, remix_of, myspace, has_track, genre, produced work, manifestation, used in performance, remixer, musicmoz, listened, musicbrainz, translation_of, compiled, sampled version, produced score, recorded as, sampled version of, member_of, onlinecommunity, recorded sound, publisher, discogs, isrc, sampled, publishingLocation, published as, free download, publication of, engineer, release_type, conductor, exchange_item, produces sound, olga, tempo, producer, encodes, djmixed_by, time, singer, available_as, review, imdb, encoding, key, paid download, listener, arrangement of, similar_to, djmixed, paiddownload, collaborated_with, download, compiler, biography, produces signal, uses work, arranged in, sample_rate, item, bpm, channels, track, composer, opus, preview download, sampler, sampled version of, sell_item, wikipedia, possess_item, performed, fanpage, medley_of, compilation_of, mashup_of, other_release_of, discography, produced signal, remaster_of, recorded in, homepage, bits per sample, used in recording, performance of, licence, tribute_to, remixed, amazon_asin, signal time, event homepage, has_movement, records, mailorder, published, composed in, track num, product of composition, uses sound, engineered, contains_sample_from, conducted, performed in and member
Classes: CD, Medium, ReleaseStatus, Composition, ED2K, DAT, published libretto, MusicGroup, Label, MD, MagneticTape, Lyrics, Instrumentation, record, musical manifestation, DCC, Orchestration, Signal, Performance, Festival, Release type, Arrangement, Show, CorporateBody, Track, Torrent, Recording, Genre, published lyrics, DVDA, SoloMusicArtist, MusicArtist, Score, MusicalExpression, Movement, SACD, MusicalItem, analog signal, Vinyl, published score, audio file, MusicalWork, Instrument, Stream, Libretto, Sound and digital signal
The whole music playlist is an olo:OrderedList* instance and could be annotated with further editoral metadata, e.g. a title, a description and a creator. Each track of the music playlist is embedded into an olo:Slot instance. The music playlist has a fixed length (olo:length) and each slot has a fixed index (olo:index) in the ordered list it belongs to. 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 mo: <http://purl.org/ontology/mo/> .
@prefix ex: <http://example.org/> .
ex:FunkyPlaylist a olo:OrderedList ;
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 ;
olo:slot [
olo:index 1 ;
olo:item ex:SexMachine
] ;
olo:slot [
olo:index 2 ;
olo: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 .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 .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 .This examples shows, how a co:Counter instance could be used as a play back counter for a specific music track (here of the type mo:Track). Each time, when this specific music track was played, a co:ScrobbleEvent instance was created and linked to its playback counter with the property co:event_counter. 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 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#> .
ex:PlayBackCounter a co:Counter ;
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 ;
co: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: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:event_counter ex:PlayBackCounter .