Network Working Group M. Nottingham Internet-Draft D. Beckett Intended status: Informational June 30, 2008 Expires: January 1, 2009 AtomTriples: Embedding RDF Statements in Atom draft-nottingham-atomtriples-00 Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on January 1, 2009. Abstract This specification describes AtomTriples, a set of Atom extension elements for embedding RDF statements in Atom documents (both element and feed), and declaring how they can be derived from existing content. Nottingham & Beckett Expires January 1, 2009 [Page 1] Internet-Draft AtomTriples June 2008 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Notational Conventions . . . . . . . . . . . . . . . . . . . . 3 3. Embedded Statements . . . . . . . . . . . . . . . . . . . . . . 3 3.1. The at:md Element . . . . . . . . . . . . . . . . . . . . . 4 3.2. The subject Attribute . . . . . . . . . . . . . . . . . . . 4 4. Derived Statements . . . . . . . . . . . . . . . . . . . . . . 4 4.1. The at:feedmap Element . . . . . . . . . . . . . . . . . . 5 4.2. The at:entrymap Element . . . . . . . . . . . . . . . . . . 5 4.3. The at:map Element . . . . . . . . . . . . . . . . . . . . 5 5. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 7 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7 8. Normative References . . . . . . . . . . . . . . . . . . . . . 7 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . . 7 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7 Intellectual Property and Copyright Statements . . . . . . . . . . 8 Nottingham & Beckett Expires January 1, 2009 [Page 2] Internet-Draft AtomTriples June 2008 1. Introduction This specification describes AtomTriples, a set of Atom [RFC4287] extension elements for embedding RDF [W3C.WD-rdf-syntax-grammar-20031010] statements in Atom documents (both element and feed), as well as declaring how they can be derived from existing content. Statements can be embedded directly as RDF/XML using the at:md element at the feed or entry level. Additionally, a feed can declare that specific Atom elements (or extensions) can be parsed into RDF statements using the at:feedmap element (for metadata attached to a feed) or an at:entrymap element (for metadata attached to entries). The semantics of a property that appears in both places (e.g., in a feed-level at:md as well as derived from a at:feedmap) is undefined; presumably, they would be added to the model as two separate statements. Likewise, the mechanics of combining metadata from multiple instances of the same entry, or from multiple feed documents, is out of the scope of this specification. 2. Notational Conventions The key words "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 [RFC2119]. All XML elements in this specification use the the namespace URI [W3C.REC-xml-names-19990114] "http://purl.org/syndication/atomtriples/1". In this document, that URI is mapped to the "at" prefix. Unless specified otherwise, AtomTriples elements MAY contain foreign markup, which SHOULD be handled according as it is in the Atom syndication format. 3. Embedded Statements RDF statements can be directly embedded in Atom feeds and entries as RDF/XML using the at:md element. Nottingham & Beckett Expires January 1, 2009 [Page 3] Internet-Draft AtomTriples June 2008 3.1. The at:md Element The at:md element MAY occur as a child of atom:feed or atom:entry, and contains any number of RDF statements which MUST serialised as RDF/XML. It MAY occur in a given context any number of times. The subject of these statements is, by default, the value of the atom:id element in the same context (atom:element or atom:feed). However, this behaviour MAY be overridden by specifying the subject attribute. After the subject is determined, the contents SHOULD be processed as a propertyEltList in [W3C.WD-rdf-syntax-grammar-20031010]. 3.2. The subject Attribute When present, the subject attribute indicates how to derive the RDF subject of statements sourced from the element it is attached to. It MUST contain a URI which MUST be interpreted as a link relation; the first such occurrence of an atom:link element in the same context as its parent element with that relation (in lexical order) will indicate the URI to use as the subject. For example, Atom-Powered Robots Run Amok urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a 2003-12-13T18:30:02Z Some text. indicates that the subject of statements in this entry is "http://example.org/2003/12/13/atom03" (because Atom links default to the "alternate" relation). This specification does not define the semantics of the subject attribute when a suitable link cannot be found. 4. Derived Statements Atom documents can declare mappings of existing content to RDF Nottingham & Beckett Expires January 1, 2009 [Page 4] Internet-Draft AtomTriples June 2008 statements using the at:feedmap and at:entrymap elements. 4.1. The at:feedmap Element The at:feedmap element MAY occur as a child of atom:feed, and MUST NOT occur more than once. It MAY contain any number of at:map elements which indicate mappings for feed-level element contents to statements, within the scope of the feed document it occurs in. 4.2. The at:entrymap Element The at:entrymap element MAY occur as a child of atom:feed, and MAY occur as the child of atom:entry in an Atom Entry Document. It MUST NOT occur more than once, and MAY contain any number of at:map elements which indicate mappings for entry-level element contents to statements, within the scope of the document it occurs in. 4.3. The at:map Element The at:map element indicates how an element in a given context (either feed or entry, depending on use) maps to RDF statements. Its content MUST be an XML QName, and indicates the element that is being mapped. It MUST have a property attribute that MUST be a URI, which associates the element in the appropriate context with the given RDF property. For example, atom:title indicates that the atom:title element's content should be mapped to the http://purl.org/dc/elements/1.1/title property. Given the entry http://example.com/a Test and the map above as a child of at:entrymap, the following triple would be implied; "Test" . The exact URI to use as the subject of the statements derived by mapping is, by default, the value of the atom:id element in the same context. However, this behaviour MAY be overridden by specifying the subject attribute. Nottingham & Beckett Expires January 1, 2009 [Page 5] Internet-Draft AtomTriples June 2008 By default, the content of the given element will be converted to an RDF Literal if it contains no markup, and to an XML Literal if it does. This behaviour may be modified by future revisions of this specification. 5. Example Example Feed 2003-12-13T18:30:02Z John Doe urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6 atom:title atom:title Atom-Powered Robots Run Amok urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a 2003-12-13T18:30:02Z Some text. Nottingham & Beckett Expires January 1, 2009 [Page 6] Internet-Draft AtomTriples June 2008 6. Security Considerations The security considerations for these extensions are the union of those that apply to processing both Atom and RDF. 7. IANA Considerations This document has no actions for IANA. 8. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC4287] Nottingham, M. and R. Sayre, "The Atom Syndication Format", RFC 4287, December 2005. [W3C.REC-xml-names-19990114] Bray, T., Hollander, D., and A. Layman, "Namespaces in XML", W3C REC REC-xml-names-19990114, January 1999. [W3C.WD-rdf-syntax-grammar-20031010] Beckett, D., "RDF/XML Syntax Specification (Revised)", W3C LastCall WD-rdf-syntax-grammar-20031010, October 2003. Appendix A. Acknowledgements The authors would like to thank Hong Zhang for his help and feedback; they take all responsibility for errors and omissions. Authors' Addresses Mark Nottingham Email: mnot@pobox.com URI: http://www.mnot.net/ Dave Beckett Email: dave@dajobe.org URI: http://www.dajobe.org/ Nottingham & Beckett Expires January 1, 2009 [Page 7] Internet-Draft AtomTriples June 2008 Full Copyright Statement Copyright (C) The IETF Trust (2008). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Nottingham & Beckett Expires January 1, 2009 [Page 8]