Copyright © 2007 by JOANNEUM RESEARCH, Austria.
This work is licensed under the Creative Commons Attribution 3.0 License.
ramm.x relies heavily on W3C's RDFa technology, an open Web standard that can be freely used by anyone.
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.
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.
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.
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.
To become familiar with ramm.x, it is recommended to have a look at the following resources.
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:
| Prefix | XML Namespace | Specification |
|---|---|---|
| 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) |
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.
Fig. 1: The ramm.x vocabulary.
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.
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.
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:
In this section the ramm.x vocabulary, along with an informal description of its semantics is introduced.
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.
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].
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.
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.
A container, Container, is a logical unit used to bundle MAD. It acts as host for MAD to enable the following.
cc:license is
attached and hence all contained MAD inherit this property;
<div> element), or even an external location.
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.
Not all of the semantics can be covered with the ramm.x ontology.
fullDesc, container fallback
The following classes and properties are introduced by ramm.x; see the ramm.x vocabulary in RDFS/OWL for more details.
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.
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.
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.
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.
deployedIn - The container, the media asset description belongs to.
| OWL Type: | ObjectProperty |
|---|---|
| Domain: | ramm:MediaAssetDescription |
| Range: | ramm:Container |
hasDescription - A reference to the actual media asset description.
| Cardinality: | 1 |
|---|---|
| OWL Type: | ObjectProperty |
| Domain: | ramm:MediaAsset |
| Range: | ramm:MediaAssetDescription |
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 |
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 |
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 |
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 |
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 |
using - The formalisation description used; referring to a formalisation.
| Cardinality: | 1 |
|---|---|
| OWL Type: | ObjectProperty |
| Domain: | ramm:MediaAssetDescription |
| Range: | ramm:Formalisation |
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:
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.
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.
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.
The following list described the changes made to this document since the previous version.