Atom+RDFa 1.1

A formulation for embedding RDFa 1.1 in Atom 1.0 feeds.

Unofficial Draft 21 May 2012

Editor:
Toby Inkster, Invited Expert

Abstract

This is the abstract for your specification.

Status of This Document

This document is merely a public working draft of a potential specification. It has no official standing of any kind and does not represent the support or consensus of any standards organisation.

Table of Contents

1. Introduction

This section is non-normative.

Atom+RDFa 1.1 is a specification for generating and processing RDFa 1.1 data in Atom 1.0 documents. It is inspired by Yahoo!'s DataRSS specification [DATARSS], and aims to retain compatibility with this where practical. It also aims to preserve the native semantics of Atom 1.0 documents.

An example Atom+RDFa document is shown below.

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"
  xmlns:rdfa="http://www.w3.org/ns/rdfa#"
  xmlns:dc="http://purl.org/dc/terms/"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
  xmlns:foaf="http://xmlns.com/foaf/0.1/">

  <title>Example Feed</title>
  <link rel="self" href="http://example.org/"/>
  <updated>2003-12-13T18:30:02Z</updated>
  <author>
    <name>John Doe</name>
  </author>
  <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id>

  <entry>
    <title>Atom-Powered Robots Run Amok</title>
    <link rel="self" href="http://example.org/2003/12/13/atom03"/>
    <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
    <updated>2003-12-13T18:30:02Z</updated>
    <summary>Some text.</summary>
    <rdfa:meta property="dc:dateCopyrighted" content="2003-12-11" datatype="xsd:date" />
    <rdfa:meta rel="dc:rightsHolder">
      <rdfa:meta typeof="foaf:Person" property="foaf:name" content="John Doe" />
    </rdfa:meta>
  </entry>

</feed>

This is equivalent to the following RDF data, shown in Turtle [TURTLE]:

@prefix dc:   <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rel:  <http://www.iana.org/assignments/relation/> .
@prefix xsd:  <http://www.w3.org/2001/XMLSchema#> .

_:feed rel:self <http://example.org/> .

_:entry rel:self <http://example.org/2003/12/13/atom03> ;
    dc:dateCopyrighted "2003-12-11"^^xsd:date ;
    dc:rightsHolder _:r .

_:r a foaf:Person ;
    foaf:name "John Doe" .

2. Conformance Requirements

2.1 Conformance

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key words must, must not, required, should, should not, recommended, may, and optional in this specification are to be interpreted as described in [RFC2119].

2.2 Atom+RDFa 1.1 Processor Conformance

A conforming Atom+RDFa 1.1 processor must either fully process Atom+RDFa 1.1 according to the RDFa Core 1.1 [RDFA-CORE] with the extensions defined in section 3. Additional RDFa Processing Rules (even if that document is non-conforming according to section 2.3 Atom+RDFa 1.1 Document Conformance), or refuse to process the document at all (for instance if the XML is not well-formed).

2.3 Atom+RDFa 1.1 Document Conformance

All conformant Atom+RDFa 1.1 resources must be conformant to Atom 1.0 [RFC4287].

This specification allows any attribute defined in RDFa Core 1.1 [RDFA-CORE], to appear on any of the following elements:

  1. On extension elements (non-Atom namespace) which are the direct children of <feed>, and on elements which are the descendents of those.
  2. On extension elements (non-Atom namespace) which are the direct children of <entry>, and on elements which are the descendents of those.
  3. On elements that are descendants of Atom <content> elements which do not have a type attribute with value text or html.

2.3.2 The <rdfa:meta> Element

This specification defines a namespaced element <rdfa:meta> which allows any RDFa attribute to appear on it, as well as xml:base and xml:lang. The <rdfa:meta> element may be used as a child element of:

  1. <feed>
  2. <entry>
  3. <rdfa:meta> (That is, they may be nested to an aribtrary depth.)

This element has localname "meta" and namespace URI http://www.w3.org/ns/rdfa#.

This element is defined purely for convenience — RDFa is not limited to being used on this element only, and may also be used on other elements as detailed above.

3. Additional RDFa Processing Rules

Documents conforming to the rules in this specification are processed according to RDFa Core 1.1 [RDFA-CORE] with the following extensions:

In Atom 1.0, rel defaults to "alternate".

3.1 Reasoning

4. Native Atom Semantics

This section is non-normative.

@@TODO - maybe expand upon this section?

AtomOWL [AWOL] describes a mapping from Atom 1.0 syntax to an RDF vocabulary. This section provides guidelines for merging a graph produced from this mapping, with the Atom+RDFa 1.1 output graph.

5. DataRSS

This section is non-normative.

Yahoo! published a specification for RDFa in Atom called "DataRSS". That specification is no longer available from the DataRSS website, but many of its design decisions influenced Atom+RDFa 1.1. Indeed, the concept of predefined prefixes in RDFa Core 1.1 owes much to DataRSS.

An Atom+RDFa 1.1 processor may be used to process DataRSS by adding the DataRSS Context [DATACONTEXT] to its initial context.

6. Relax NG Compact Schema

@@TODO - provide a schema for Atom+RDFa

A. Acknowledgements

Many thanks to Robin Berjon for making our lives so much easier with his cool tool.

B. References

B.1 Normative references

[RDFA-CORE]
Shane McCarron; et al. RDFa Core 1.1: Syntax and processing rules for embedding RDF through attributes.26 October 2010. W3C Working Draft. URL: http://www.w3.org/TR/2010/WD-rdfa-core-20101026
[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Internet RFC 2119. URL: http://www.ietf.org/rfc/rfc2119.txt
[RFC4287]
M. Nottingham, R. Sayre. The Atom Syndication Format December 2005. Internet RFC 4287. URL: http://www.ietf.org/rfc/rfc4287.txt
[XML10-4e]
C. M. Sperberg-McQueen; et al. Extensible Markup Language (XML) 1.0 (Fourth Edition). 16 August 2006. W3C Recommendation. URL: http://www.w3.org/TR/2006/REC-xml-20060816/
[XMLBASE]
Jonathan Marsh, Richard Tobin. XML Base (Second Edition). 28 January 2009. W3C Recommendation. URL: http://www.w3.org/TR/2009/REC-xmlbase-20090128/

B.2 Informative references

[AWOL]
D. Ayers, H. Story. AtomOwl Vocabulary Specification 6 June 2006. Namespace Document. URL: http://bblfish.net/work/atom-owl/2006-06-06/AtomOwl.html
[DATACONTEXT]
T. Inkster. DataRSS Initial Context 21 May 2012. URL: http://buzzword.org.uk/2011/Atom_plus_RDFa/context/datarss.html
[DATARSS]
Yahoo! SearchMonkey Guide, Appendix A. DataRSS Specification. URL: http://developer.yahoo.com/searchmonkey/smguide/datarss.html. As of 2012, this page is no longer available at its original URL, but can be read via the Internet Archive at http://web.archive.org/web/20110510141355/http://developer.yahoo.com/searchmonkey/smguide/datarss.html.
[REL-REG]
Internet Assigned Numbers Authority. Link Relation Types. Registry under expert review. URL: http://www.iana.org/assignments/link-relations/link-relations.xml#link-relations-1
[TURTLE]
David Beckett, Tim Berners-Lee. Turtle: Terse RDF Triple Language January 2008. W3C Team Submission. URL: http://www.w3.org/TeamSubmission/turtle/