The Ordered List Ontology

Over the last weeks, I co-developed the Ordered List Ontology. This is an ontology for describing ordered lists, which are also know as sequences. This concept is the result of a discussion about how to model playlists (especially of music tracks) and was proposed by Samer A. Abdallah.

The Ordered List Ontology - concepts and relations

It consists of two concepts – olo:OrderedList and olo:Slot. That means an ordered list is a composite of all slots, which are part of this ordered list (related by the property olo:slot). Although, the Ordered List Ontology is OWL based, the ontology also provides “backward” compatibility to the RDFS world.
The initial and primary access method to single slots in an ordered list should be olo:index, because this property represents the fixed index of a slot in an ordered list. Thereby, the property olo:length relates to the length of an ordered list, the number of included slots. The secondary access method is its (currently) optional iterator olo:next as shortcut to the next slot in the list. The items, which are arranged in an ordered list, are associated by the property olo:item to a slot.
Since, the Ordered List Ontology won’t restrict its users in how they have to apply the ontology, all properties also have an inverse property. These are explicitly defined for inverse properties, which introduce also a new meaning (olo:ordered_list, olo:previous), and anonymous defined for the rest of the inverse properties.

The Ordered List Ontology - Playlist example

An use case of the Ordered List Ontology is for example a music playlist (see also RDF and N3 for downloadable representations of this example). This example is illustrated in the graphic above and in the RDF/Turtle representation below.
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 (mo: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.

@prefix xsd: <http://www.w3.org/2001/XMLSchema#&gt; .
@prefix dc: <http://purl.org/dc/elements/1.1/&gt; .
@prefix olo: <http://purl.org/ontology/olo/core#&gt; .
@prefix mo: <http://purl.org/ontology/mo/&gt; .
@prefix ex: <http://example.org/&gt; .
 
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&gt; ;
   olo:length 2 ;
   olo:slot [
   a olo:Slot ;
      olo:index 1 ;
   olo:item ex:SexMachine
   ] ;
   olo:slot [
   a 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&gt; .
 
ex:GoodFoot a mo:Track ;
   dc:title "Good Foot"^^xsd:string .

Please feel free to reuse the Ordered List Ontology also for your own projects (let me know your use cases 😉 ). Comments, suggestions and critics are also very welcome.

Cheers,

Bob

PS: Thanks to all people, which helped the Ordered List Ontology to what it is now (Samer A. Abdallah, Kurt Jacobson, Yves Raimond, Mats Skillingstad, Aldo Gangemi, …)

*) Of course, one could also sub class olo:OrderedList for a more specific playlist concept

Advertisements

About zazi0815

believe in music to survive (for further information check out the gravatar profile, please)
This entry was posted in announcement and tagged , , , , , , , , , . Bookmark the permalink.

3 Responses to The Ordered List Ontology

  1. Pingback: Tweets that mention The Ordered List Ontology | Some More Individual -- Topsy.com

  2. Pingback: The Play Back Ontology | Some More Individual

  3. Pingback: The Recommendation Ontology | Some More Individual

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s