The Ordered List Ontology 0.72

Namespace Document 23 July 2010

This version:
http://purl.org/ontology/olo/20100723/orderedlistontology.html (OWL, N3)
Latest version:
http://purl.org/ontology/olo/core# (OWL, N3)
Previous version:
http://purl.org/ontology/olo/20100720/orderedlistontology.html (OWL, N3)
Authors:
Samer A. Abdallah (Centre for Digital Music, Queen Mary, University of London),
Bob Ferris (SMI)
Sourceforge Ordered List Ontology repository
Source code, examples, graphics, ...
Sourceforge SMI ontologies mailing list
Browse Archives
Wordpress Ordered List Ontology at SMI
Announcements, descriptions, use cases, ...
  SMI Webspace Index
Ontologies, vocabularies, tools, applications, ...

Valid XHTML + RDFa Creative Commons License This work is licensed under a Creative Commons Attribution License. This copyright applies to the Ordered List Ontology Specification and accompanying documentation in RDF. Regarding underlying technology, the Ordered List Ontology uses W3C's RDF technology, an open Web standard that can be freely used by anyone.


Abstract

The Ordered List Ontology Specification provides basic concepts and properties for describing ordered lists as semantic graph. This document contains a RDFa description of the Ordered List Ontology as proposed by Samer A. Abdallah and some additional information and examples.

Status of This Document

The template of this specification is derived from the FOAF Vocabulary Specification, which was created by Dan Brickley and Libby Miller, and the Music Ontology Specification, which was created by Yves Raimond. It was modified and extended by Bob Ferris. Furthermore, a modified and extended version of Danbri's SpecGen version was used to generate most of the RDFa statements of the Ordered List Ontology for this specification (see here for SpecGen version 6 by Bob Ferris).

This document is created by combining the RDFS/OWL machine-readable Ordered List Ontology with a human-readable HTML representation that includes RDFa annotations. Future versions may incorporate multilingual translations of term definitions. The RDF/XML version of the specification is also available directly from the namespace URI. RDF/N3 representations could be access via the links above.

The authors welcome comments on this document, preferably via the author's email addresses.

Table of Contents

The Ordered List Ontology at a glance

The olo:OrderedList concept as graph with relations:

The ordered list concept as graph with relations

An a-z index of Ordered List Ontology terms, by class (categories or types) and by property.

Classes: | OrderedList | Slot |

Properties: | index | item | length | next | ordered_list | previous | slot |

Example

A graphic of a simple example of an use case of the Ordered List Ontology - a music playlist:

The Ordered List Ontology - music playlist example

RDF/Turtle representation of a simple example of an use case of the Ordered List Ontology - a music playlist (see also RDF and N3 for downloadable representations of this example):

@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 .	

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.

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

Introduction: Ordered List Ontology Basics

What's the Ordered List Ontology for?

There is a need to describe typed ordered lists or sequences of information resources. The existing approach in the RDF vocabulary, rdf:Seq, has some drawbacks regarding defining explicitly a range for items of a sequence and to query them efficiently with SPARQL, because every slot of a sequence is related by a separate property of the form rdf:_N, where N is a positive integer number, e.g. rdf:_1 (cf. RDF Vocabulary Description Language 1.0: RDF Schema and RDF Semantics ). That’s why, I co-designed the Ordered List Ontology according to a proposal made by Samer A. Abdallah. This ontology should overcome the drawbacks of the existing ordered list modelling approach by enabling more semantics to describe sequences of information resources.
As one can see in graphic 'olo:OrderedList concept as graph with relations', the Ordered List Ontology 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.
On the basis of the ordered list concept defined in the Ordered List Ontology one can define more specific ordered list definitions, e.g. for media playlist (see the Play Back Ontology) or ranked recommendations (see the Recommendation Ontology).

Background

TODO

The Ordered List Ontology and Standards

TODO

TODO

The Ordered List Ontology Description

This specification serves as the Ordered List Ontology "namespace document". As such it describes the Ordered List Ontology and the terms (RDF classes and properties) that constitute it, so that Semantic Web applications can use those terms in a variety of RDF-compatible document formats and applications.

This document presents the Ordered List Ontology as a Semantic Web or Ontology. The Ordered List Ontology is pretty simple, pragmatic and designed to allow simultaneous deployment and extension. The Ordered List Ontology is intended for widescale use, but its authors make no commitments regarding its suitability for any particular purpose.

Evolution and Extension of the Ordered List Ontology

The Ordered List Ontology is identified by the namespace URI 'http://purl.org/ontology/olo/core#'. Revisions and extensions of the Ordered List Ontology are conducted through edits to this document, which by convention is accessible in the Web via the namespace URI. For practical and deployment reasons, note that we do not update the namespace URI as the vocabulary matures.

The evolution of the Ordered List Ontology is best considered in terms of the stability of individual vocabulary terms, rather than the specification as a whole. As terms stabilise in usage and documentation, they progress through the categories 'unstable', 'testing' and 'stable'. Older terms are marked 'archaic' which allows the possibility of older forms to become modern again.

The Ordered List Ontology cross-reference: Listing the Ordered List Ontology Classes and Properties

The Ordered List Ontology introduces the following classes and properties. There is a link at the top of this document to the RDF/XML and RDF/N3 versions.

Classes: | OrderedList | Slot |

Properties: | index | item | length | next | ordered_list | previous | slot |

Classes and Properties (full detail)


Classes

Class: olo:OrderedList

Ordered List - An ordered list with a given length an indexed items.
Status: stable
Properties include: length slot
Used with: ordered_list
Sub class of owl:Thing
Restriction(s): The property olo:length must be set exactly 1 time(s)
OWL Class
RDFS Class

[#] [back to top]


Class: olo:Slot

Slot - A slot in an ordered list with a fixed index.
Status: stable
Properties include: ordered_list next index item previous
Used with: next slot previous
Sub class of owl:Thing
Restriction(s): The property olo:ordered_list must be set at most 1 time(s)
The property olo:next must be set at most 1 time(s)
The property olo:previous must be set at most 1 time(s)
The property olo:index must be set exactly 1 time(s)
OWL Class
RDFS Class

[#] [back to top]


Properties

Property: olo:index

has index - An index of a slot in an ordered list.
Status: stable
Domain: Slot
Range: xsd:positiveInteger
RDF Property
Datatype Property
Functional Property

[#] [back to top]


Property: olo:item

has item - An item of a slot in an ordered list.
Status: stable
Domain: Slot
RDF Property

[#] [back to top]


Property: olo:length

has length - The length of an ordered list.
Status: stable
Domain: Ordered List
Range: xsd:nonNegativeInteger
RDF Property
Datatype Property
Functional Property

[#] [back to top]


Property: olo:slot

has slot - A slot in an ordered list.
Status: stable
Domain: Ordered List
Range: Slot
Has inverse property has ordered list
RDF Property
Object Property

[#] [back to top]


Property: olo:ordered_list

has ordered list - An ordered list of an slot.
Status: testing
Domain: Slot
Range: Ordered List
Inverse property of has slot
RDF Property
Functional Property

[#] [back to top]


External Vocabulary References

The description of the terms in the Ordered List Ontology 'dictionary' make reference to classes and properties elsewhere. This section of the Ordered List Ontology specification provides a placeholder reference for any Ordered List Ontology mention of externally defined terms. For example, sometimes we might say that Ordered List Ontology property has a domain or range of an externally defined class, or that a Ordered List Ontology class is a sub-class of an external class, or 'disjoint with' such a class (ie. has no common members). Such claims help fix the intended meaning of Ordered List Ontology terms in relationship to other 'peer' vocabularies. Currently, the Ordered List Ontology sub classes:

owl:Thing
The class extension of owl:Thing is the set of all individuals.

Status Vocabulary

Each term in the Ordered List Ontology is annotated with properties from the SemWeb Vocab Status Ontology

Note that this mechanism is itself somewhat experimental and evolvin. The definitions of 'stable', 'unstable', 'archaic' and 'testing' cannot be defined as global absolutes, but only in relationship to the practices, expectations and social structures around some vocabulary. For their use in the Ordered List Ontology, future versions of this specification could usefully offer more detail about what to expect from a term labelled 'stable'.

vs:term_status
The vs:term_status property indicates the status of a vocabulary term, one of 'stable','unstable','testing' or 'archaic'.

Acknowledgments

I would like to thank very much Samer A. Abdallah (!), Yves Raimond, Kurt Jacbson and Aldo Gangemi to help to establish this multiple purpose ordered list ontology. Furthermore, Dan Brickley and Libby Miller to provide the basis for this specification.

Recent Changes

=========================
Version 0.72 (July 2010)
=========================
 * MODIFIED: removed owl:ObjectProperty type and owl:inverseOf from olo:item
 * MODIFIED: olo:Slot - removed restriction on olo:item

=========================
Version 0.71 (July 2010)
=========================

 * MODIFIED: added owl:DatatypeProperty to rdf:type of olo:index
 * MODIFIED: added owl:DatatypeProperty to rdf:type of olo:length
 * REMOVED: anonymous defined inverse properties from olo:index and olo:length
 
=========================
Version 0.7 (July 2010)
=========================
 * MODIFIED: olo:OrderedList and olo:Slot now sub class of owl:Thing
 * MODIFIED: olo:OrderedList and olo:Slot now of the type rdf:Class and owl:Class
 * MODIFIED: every property is now also of the type rdf:Property

=========================
Version 0.6 (June 2010)
=========================
 * CHANGED: base URI to http://purl.org/ontology/olo/core#
 * FIXED: bad typo of owl:inverseOf
 * ADDED: olo:previous as explicit inverse property of olo:next
 * ADDED: olo:ordered_list as explicit inverse property of olo:slot
 * MODIFIED: correct setting of restrictions now (used owl:Restriction)
 * REMOVED: owl:someValuesFrom from olo:length + olo:index
 
=========================
Version 0.5 (June 2010)
=========================
 * MODIFIED: olo:item - removed rdfs:range.
 * MODIFIED: dc:date - used xsd:dateTime datatype.
 * MODIFIED: changed foaf:maker to dc:creator.
 * REMOVED: DCTerms and FOAF from owl:imports.
  
=========================
Version 0.4 (June 2010)
=========================
 * MODIFIED: olo:length - back to rdfs:range xsd:nonNegativeInteger.
 * MODIFIED: olo:length + olo:index now with owl:someValuesFrom.

=========================
Version 0.3 (June 2010)
=========================
 * ADDED: olo:next - to associate the next slot of a slot in an ordered list.
 * MODIFIED: olo:length - to enable a single length association to an ordered list.
 * MODIFIED: olo:length - rdfs:range xsd:positiveInteger.
 * MODIFIED: olo:index - to enable a single index association to a slot in an ordered list.
 * MODIFIED: anonymous inverse property of olo:slot to rdfs:type owl:FunctionalProperty.

=========================
Version 0.2 (June 2010)
=========================
 * MODIFIED: olo:index - rdfs:range to xsd:positiveInteger
 * MODIFIED: olo:length - rdfs:range to nongativeInteger

=========================
Version 0.1 (June 2010)
=========================
 * ADDED: olo:OrderedList - a concept for ordered lists
 * ADDED: olo:Slot - a slot in an ordered list
 * ADDED: olo:slot - associates an ordered list to its slots
 * ADDED: olo:length - the length of an ordered list
 * ADDED: olo:index - an index of a slot in an ordered list
 * ADDED: olo:item - an item of an slot in an ordered list