RDFa-deployed Multimedia Metadata (ramm.x) Specification

ramm.x logo

2007-08-10

This version:
http://sw.joanneum.at/rammx/spec/
Latest version:
http://sw.joanneum.at/rammx/spec/
Revision:
$Id: index.html 112 2007-08-18 19:51:52Z ham $
Editors:
Michael Hausenblas - JOANNEUM RESEARCH
Werner Bailer - JOANNEUM RESEARCH
Creative Commons Attribution 3.0 License

This work is licensed under the Creative Commons Attribution 3.0 License.

Valid XHTML + RDFa

ramm.x relies heavily on W3C's RDFa technology, an open Web standard that can be freely used by anyone.

RDF Resource Description Framework Metadata Icon

To obtain the metadata of this specification, follow the RDFa extractor link, a service provided by Dave Beckett.

The visual layout and structure of this specification was adapted from the FOAF Vocabulary Specification by Dan Brickley and Libby Miller,
and the SIOC Core Ontology Specification by Uldis Bojars and John G. Breslin, respectively.


Abstract

The RDFa-deployed Multimedia Metadata (ramm.x) specification provides a framework for deploying multimedia metadata on the Semantic Web. ramm.x is an enabling technology allowing for delivery of media asset descriptions with existing multimedia metadata formats as MPEG-7, Exif, ID3, etc. on the Semantic Web. This specification builds upon RDFa, a concrete serialisation syntax of the core Semantic Web data model RDF as the deployment format. Further, ramm.x utilises formalisations of multimedia metadata formats, this is to say RDF-based schemas of the formats for the actual descriptions.

This document contains a description of the ramm.x vocabulary, and its operational semantics, along with examples. Further ramm.x extensions are outlined, and the usage of ramm.x with other vocabularies, as SIOC is described.


Status of this document

NOTE: This section describes the status of this document at the time of its publication. Other documents may supersede this document.

This is the initial draft of the ramm.x specification. Suggestions are welcome; please send comments to rammx-spec@googlegroups.com.

Table of contents


1. Introduction

In a perfect world, where everyone uses RDF to represent metadata on the Web, ramm.x would certainly be of no big use. As a matter of fact, we—at least from the Semantic Web point-of-view—do not live in a perfect world. There exists an array of existing multimedia metadata formats that have been used for years in diverse applications. However, when one is after using these formats in the context of the Semantic Web, the options are limited. What is basically missing is a framework that allows existing multimedia metadata hooking into the Semantic Web.

RDFa-deployed Multimedia Metadata (ramm.x) is such a framework. This specification aims at enabling existing multimedia metadata formats to enter the Semantic Web. It targets at self-descriptive media asset descriptions allowing to apply the follow-your-nose principle [FYN].

Many multimedia metadata formats [MM Voc], as Exif, MusicBrainz, MPEG-7, etc. are available to describe—on various levels—what a multimedia asset is about, who has produced it and so on. With the dissemination of User Generated Content, a need for deploying these metadata in (conventional) HTML pages found in blogs, Wikis, etc. arises. To enable the deployment of multimedia metadata on the (Semantic) Web (2.0)—or Web 3.0 for the matter—one valid approach is to use the RDF data model providing a generic data model for an arbitrary metadata format. The step of RDFizing is called 'formalisation', in our context. To actually deliver the metadata along with the content being served, a new W3C Semantic Web standard—RDFa [RDFa Primer]—is utilised together with a light-weight vocabulary to allow an agent to determine the formalisation steps, perform validation, and retrieve further information.

1.1 Guide

To become familiar with ramm.x, it is recommended to have a look at the following resources.

1.2 Terminology and notation

The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC 2119].

Namespace URIs of the general form "http://www.example.com/" represent some application-dependent or context-dependent URI as defined in [RFC 2396].

The XML Namespace URI that MUST be used by implementations of this specification is http://sw.joanneum.at/rammx/ns#.

These are the ontology namespaces referenced in the ramm.x specification:

PrefixXML NamespaceSpecification
dc http://purl.org/dc/elements/1.1/ The Dublin Core Metadata Element Set
dcterms http://purl.org/dc/terms/ Other Dublin Core Elements and Element Refinements
foaf http://xmlns.com/foaf/0.1/ Friend of a Friend (FOAF) Vocabulary
ramm http://sw.joanneum.at/rammx/ns#. ramm.x Core Vocabulary
sioc http://rdfs.org/sioc/ns# SIOC Core Ontology
skos http://www.w3.org/2004/02/skos/core# SKOS Core Vocabulary
xsd http://www.w3.org/2001/XMLSchema# XML Schema (Datatypes)

2. Overview

This specification comprises design provisions for deploying RDF-based metadata along with a vocabulary.

The index of the ramm.x vocabulary, by class and by property, is given below. All the terms are hyperlinked to their detailed description for quick reference.

Classes: | Container | Formalisation | MediaAsset | MediaAssetDescription |

Properties: | deployedIn | hasDescription | nativeDescription | formalDescription | fromRDF | schemaURI | toRDF | using |

The ramm.x vocabulary is depicted in Fig. 1.

ramm.x vocabulary at a glance

Fig. 1: The ramm.x vocabulary.

2.1 Example

A simple application of ramm.x is ramm.exif, the Exif [Exif] instantiation of ramm.x. The example still image in Fig. 2 contains embedded Exif metadata. Using the RDFizer service http://www.kanzaki.com/test/exif2rdf, an RDF/XML representation of the Exif metadata (cf. exif_example.rdf) can be obtained.

A sample still image with embedded Exif metadata

Fig. 2: A sample still image with embedded Exif metadata.

Using ramm.exif embedded in an XHTML document (exif_example.html, extracted RDF from exif_example.html) yields the following simple, but full example:

 <div about="#exif_formal" href="[ramm:Formalisation]" rel="rdf:type"> 
   <span rel="ramm:schemaURI" href="http://www.kanzaki.com/ns/exif" />
   <span rel="ramm:toRDF" href="http://www.kanzaki.com/test/exif2rdf" />
 </div>

 <div about="#sample_mad" href="[ramm:MediaAssetDescriptionByRef]" rel="rdf:type">
   <span about="http://sw.joanneum.at/rammx/spec/example/exif_example.jpg" 
         href="[ramm:MediaAsset]" rel="rdf:type">
     <img src="http://sw.joanneum.at/rammx/spec/example/exif_example.jpg" alt="An example still image." style="border: solid black 1px;" />			 
     <span rel="ramm:hasDescription" href="#sample_mad" />		
     <p property="dc:title" datatype="xsd:string">An example still image.</p>	
   </span>	  
   <span property="dcterms:created" content="2007-07-22T22:23:00Z" datatype="xsd:date" />    
   <span rel="ramm:nativeDescription" href="http://sw.joanneum.at/rammx/spec/example/exif_example.jpg" />  
   <span rel="ramm:using" href="#exif_formal" />
 </div>

NOTE: An RDF/N3 serialisation of the XHTML+RDFa content is available for convenience reasons as well: exif_example_ramm_exif.rdf .

This example introduces the basics of ramm.x; it comprises the following components: a media asset and its media asset description (MAD), and a formalisation.

In simple words, the code snippet above tells us that there is a media asset (http://sw.joanneum.at/rammx/spec/example/exif_example.jpg), which we identify [URI terminology] by its URL. The media asset has a description #sample_mad refering to the native Exif metadata embedded in http://sw.joanneum.at/rammx/spec/example/exif_example.jpg. Using the formalisation #exif_formal, the full formal description can be obtained. The formal description conforms to the schema http://www.kanzaki.com/ns/exif, and can be generated using http://www.kanzaki.com/test/exif2rdf.

2.2 Aims and Objectives

The ramm.x specification and its accompanying documents have three core objectives:

To achieve the desired results, the following design principles are being applied in the ramm.x framework:

3. Vocabulary and Semantics

In this section the ramm.x vocabulary, along with an informal description of its semantics is introduced.

3.1 The ramm.x vocabulary description

The ramm.x vocabulary comprises four modelling primitives (classes): media asset, media asset description (MAD), formalisation, and container. In the following these terms and their rational is described.

MediaAsset

A media asset, MediaAsset, is an information resource as of [httpRange-14], hence we use the URL of a media asset to identify the media asset itself, cf. also [URI declaration] and [URI terminology].

MediaAssetDescription (MAD)

Media asset descriptions, MediaAssetDescription (MAD), are the pivot element for bridging the gap between a multimedia metadata format in its native representation and the formalised version usable on the Semantic Web. Each MAD points excatly to one native description (URL of the native metadata document), and uses exactly one formalisation (see below). Optional there might be a formalised version of the description available as weel.

Formalisations

A formalisation, Formalisation, is an explicit representation of the formalisation (or RDFizing) process regarding a schema (in RDF-S, OWL, etc.). It provides for URLs pointing to converter services from and to a RDF-based representation, along with the respective schema.

Container

A container, Container, is a logical unit used to bundle MAD. It acts as host for MAD to enable the following.

Although a container is a handy thing to have, it is an optional element. A fallback rule exists, whicht states that in case no container is present explicitly, the page in which the MAD is embedded is the container.

3.2 Operational Semantics

Not all of the semantics can be covered with the ramm.x ontology.

fullDesc, container fallback

4. Cross-reference for the ramm.x vocabulary

The following classes and properties are introduced by ramm.x; see the ramm.x vocabulary in RDFS/OWL for more details.

Class: ramm:Container

Container - A container hosts at least one MAD, and acts as a physical collection proxy to allow the assignment of common properties (e.g. licenses, etc.).

in-range-of: ramm:deployedIn
in-domain-of: N.N.

A container may be a whole document (e.g. an XHTML document) or a fragment of it, as a div.

[back to vocabulary index]


Class: ramm:Formalisation

Formalisation - Formalisation is a description of where and how a multimedia metadata format is mapped to a formal, i.e. RDF-based representation.

in-range-of: ramm:using
in-domain-of: ramm:fromRDF ramm:schemaURI ramm:toRDF

A formalisation actually is the explicit representation of the formalisation process used.

[back to vocabulary index]


Class: ramm:MediaAsset

MediaAsset - The media asset is an information resource as of [httpRange-14], which we identify by its URL.

in-range-of:
in-domain-of: ramm:hasDescription

A media asset may be everything the host language (as HTML) allows to be represented.

[back to vocabulary index]


Class: ramm:MediaAssetDescription

MediaAssetDescription - MediaAssetDescription is the abstract class for media asset descriptions.

in-range-of: ramm:hasDescription
in-domain-of: ramm:deployedIn ramm:nativeDescription ramm:using

A MAD acts as a pivot for the actual description, i.e. the native description and its formalisation.

[back to vocabulary index]


Property: ramm:deployedIn

deployedIn - The container, the media asset description belongs to.

OWL Type:ObjectProperty
Domain:ramm:MediaAssetDescription
Range:ramm:Container

[back to vocabulary index]


Property: ramm:hasDescription

hasDescription - A reference to the actual media asset description.

Cardinality:1
OWL Type:ObjectProperty
Domain:ramm:MediaAsset
Range:ramm:MediaAssetDescription

[back to vocabulary index]


Property: ramm:formalDescription

formalDescription - The URL, where the (full, already RDFised) metadata is available. The metadata at the URL specified is typically a serialised RDF document (RDF/XML, N3, Triple, etc.) or a SPARQL-endpoint.

OWL Type:DataTypeProperty
Domain:ramm:MediaAssetDescription
Range:xsd:anyURI

[back to vocabulary index]


Property: ramm:fromRDF

fromRDF - The service URI that performs the mapping from RDF; to convert back to the native multimedia metadata format.

OWL Type:DataTypeProperty
Domain:ramm:Formalisation
Range:xsd:anyURI

[back to vocabulary index]


Property: ramm:nativeDescription

nativeDescription - The URL, where the (full) native metadata is available. The metadata at the URL specified might be a standalone document (as a MPEG-7 document) or embedded in the media asset itself (as in case of Exif).

Cardinality:1
OWL Type:DataTypeProperty
Domain:ramm:MediaAssetDescription
Range:xsd:anyURI

[back to vocabulary index]


Property: ramm:schemaURI

schemaURI - The URI that states the formalisation mapping, i.e. the RDF-S/OWL document containing the mapping information.

Cardinality:1
OWL Type:DataTypeProperty
Domain:ramm:Formalisation
Range:xsd:anyURI

[back to vocabulary index]


Property: ramm:toRDF

toRDF - The service URI that performs the mapping to RDF; to convert from the native multimedia metadata format to an RDF-based representation.

Cardinality:1
OWL Type:DataTypeProperty
Domain:ramm:Formalisation
Range:xsd:anyURI

[back to vocabulary index]


Property: ramm:using

using - The formalisation description used; referring to a formalisation.

Cardinality:1
OWL Type:ObjectProperty
Domain:ramm:MediaAssetDescription
Range:ramm:Formalisation

[back to vocabulary index]


5. ramm.x extensions

To keep the ramm.x core specification as light-weight, hence implementable as possible, so called extensions are defined (as of ISSUE 4). An extension might be proposed regarding any of the following layers:

Extensions of the vocabulary.
Further classes and/or properties are added to support more complex use cases, as Use Case 6; to support this use case, the so called STreaming Extension INterface (ramm.stein) is proposed.
Templates.
For reusability and convenience reasons, parts of the specification might be provided as template. Take for example a formalisation. For known formalisations, as found in Section 4 of [MM Voc], a template collection can be provided.

All extensions are defined in a separate specification. A ramm.x-aware Agent MUST support the core specification (this document) and MAY support any of the extensions defined in the ramm.x extensions specification.

6. Usage with other vocabularies

There are certainly situations where using ramm.x is not appropriate. It is therefore suggested to use well-known and already available vocabularies as Dublin Core, FOAF, SIOC etc. together with ramm.x; be it to express global metadata as a date (dc:date), or specific, but non-multimedial aspects, as representing a blog post sioc:Post.

Let us revisit the Exif example from above and put it into another context—a blog comment, talking about the available metadata.

 <div about="#exif_formal" href="[ramm:Formalisation]" rel="rdf:type"> 
   <span rel="ramm:schemaURI" href="http://www.kanzaki.com/ns/exif" />
   <span rel="ramm:toRDF" href="http://www.kanzaki.com/test/exif2rdf" />
 </div>

 <div about="#sample_mad" href="[ramm:MediaAssetDescriptionByRef]" rel="rdf:type">
   <span about="http://sw.joanneum.at/rammx/spec/example/exif_example.jpg" 
         href="[ramm:MediaAsset]" rel="rdf:type">
     <img src="http://sw.joanneum.at/rammx/spec/example/exif_example.jpg" alt="An example still image." style="border: solid black 1px;" />			 
     <span rel="ramm:hasDescription" href="#sample_mad" />		
     <p property="dc:title" datatype="xsd:string">An example still image.</p>	
   </span>	  
   <span property="dcterms:created" content="2007-07-22T22:23:00Z" datatype="xsd:date" />    
   <span rel="ramm:nativeDescription" href="http://sw.joanneum.at/rammx/spec/example/exif_example.jpg" />  
   <span rel="ramm:using" href="#exif_formal" />
 </div>

<div href="http://rdfs.org/sioc/types#BlogPost" rel="rdf:type" about="http://rammx.blogspot.com/2007/08/exif-example">
  A nice picture 
  <span about="http://sw.joanneum.at/rammx/spec/example/exif_example.jpg">
   <a href="http://sw-app.org/mic.xhtml#i" rel="dc:creator">I</a>
   took in Venice.
  </span>	
</div> 
 

Another possibility arises when one has part of the metadata already available in an RDF-based vocabulary, as hAudio/RDFa.

7. Acknowledgements

We gratefully acknowledge the work of the RDF in XHTML Taskforce, and the Multimedia Semantics Incubator Group, respectively.

Thanks to Roberto Garcia and Niklas Lindström for their comments.

8. References

[Exif]
Standard of Japan Electronics and Information Technology Industries Association, "Exchangeable image file format for digital still cameras: Exif Version 2.2". http://www.digicamsoft.com/exif22/exif22/html/exif22_1.htm.
[FYN]
W3C ESWiki, "FollowLinksForMoreInformation". http://esw.w3.org/topic/FollowLinksForMoreInformation.
[httpRange-14]
TAG's issue list, issue 14, see http://www.w3.org/2001/tag/issues.html?type=1#httpRange-14.
[MM Voc]
M. Hausenblas, S. Boll, T. Bürger, O. Celma, C. Halaschek-Wiener, E. Mannens, and R. Troncy, "Multimedia Vocabularies on the Semantic Web", W3C Incubator Group Report, W3C Multimedia Semantics Incubator Group, 2007. http://www.w3.org/2005/Incubator/mmsem/XGR-vocabularies/.
[ramm.x Use Cases]
W. Bailer, "Use Cases - RDFa-deployed Multimedia Metadata (ramm.x)", Working Draft, ramm.x Working Group, 2007. http://sw.joanneum.at/rammx/usecases.
[RDFa Primer]
B. Adida and M. Birbeck, "RDFa Primer 1.0 - Embedding RDF in XHTML", W3C Working Draft 12 March 2007, W3C RDF in XHTML Taskforce, 2007. http://www.w3.org/TR/2007/WD-xhtml-rdfa-primer-20070312/.
[RFC 2119]
S. Bradner, "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, Harvard University, March 1997, http://www.ietf.org/rfc/rfc2119.txt.
[RFC 2396]
T. Berners-Lee et al., "Uniform Resource Identifiers (URI): Generic Syntax", RFC 2396, Internet Engineering Task Force, August 1998, http://www.ietf.org/rfc/rfc2396.txt.
[Semantic Web]
W3C Semantic Web Activity http://www.w3.org/2001/sw/.
[URI declaration]
D. Booth, "URI Declaration Versus Use", 2007. http://dbooth.org/2007/uri-decl/.
[URI terminology]
J. Black, "Terminology again: was RDF's curious literals", post in semantic-web@w3.org , 2007. http://lists.w3.org/Archives/Public/semantic-web/2007Aug/0013.html.

Change Log

The following list described the changes made to this document since the previous version.

michael.hausenblas@joanneum.at