W3C

RDFa Lite 1.1

W3C Recommendation 07 June 2012

This version:
http://www.w3.org/TR/2012/REC-rdfa-lite-20120607/
Latest published version:
http://www.w3.org/TR/rdfa-lite/
Previous version:
http://www.w3.org/TR/2012/PR-rdfa-lite-20120508/
Editor:
Manu Sporny, Digital Bazaar, Inc.

Please refer to the errata for this document, which may include some normative corrections.

This document is also available in these non-normative formats: Diff from Proposed Recommendation, PostScript version, and PDF version.

The English version of this specification is the only normative version. Non-normative translations may also be available.


Abstract

RDFa Lite is a minimal subset of RDFa, the Resource Description Framework in attributes, consisting of a few attributes that may be used to express machine-readable data in Web documents like HTML, SVG, and XML. While it is not a complete solution for advanced data markup tasks, it does work for most day-to-day needs and can be learned by most Web authors in a day.

Status of This Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

This document has been reviewed by W3C Members, by software developers, and by other W3C groups and interested parties, and is endorsed by the Director as a W3C Recommendation. It is a stable document and may be used as reference material or cited from another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its widespread deployment. This enhances the functionality and interoperability of the Web.

This document is the culmination of a series of discussions between the World Wide Web Consortium, including the RDF Web Applications Working Group, the Vocabularies Community Group, the HTML Working Group, and the sponsors of the schema.org initiative, including Google, Yahoo!, Microsoft, and Yandex. It has recieved review from representatives in these organizations and enjoys consensus at this point in time. There were no changes made during the Proposed Recommendation period. The implementation report used by the director to transition to Recommendation has been made available.

This document was published by the W3C RDF Web Applications Working Group as a Recommendation. If you wish to make comments regarding this document, please send them to [email protected] (subscribe, archives). All feedback is welcome.

This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

Table of Contents

1. Introduction

This section is non-normative.

The full RDFa syntax [RDFA-CORE] provides a number of basic and advanced features that enable authors to express fairly complex structured data, such as relationships among people, places, and events in an HTML or XML document. Some of these advanced features may make it difficult for authors, who may not be experts in structured data, to use RDFa. This lighter version of RDFa is a gentler introduction to the world of structured data, intended for authors that want to express fairly simple data in their web pages. The goal is to provide a minimal subset that is easy to learn and will work for 80% of authors doing simple data markup.

2. The Attributes

This section is non-normative.

RDFa Lite consists of five simple attributes; vocab, typeof, property, resource, and prefix. RDFa 1.1 Lite is completely upwards compatible with the full set of RDFa 1.1 attributes. This means that if an author finds that RDFa Lite isn't powerful enough, transitioning to the full version of RDFa is just a matter of adding the more powerful RDFa attributes into the existing RDFa Lite markup.

2.1 vocab, typeof, and property

RDFa, like Microformats [MICROFORMATS] and Microdata [MICRODATA], enables us to talk about things on the Web such that a machine can understand what we are saying. Typically when we talk about a thing, we use a particular vocabulary to talk about it. So, if you wanted to talk about People, the vocabulary that you would use would specify terms like name and telephone number. When we want to mark up things on the Web, we need to do something very similar, which is specify which vocabulary that we are going to be using. Here is a simple example that specifies a vocabulary that we intend to use to markup things in the paragraph:

<p vocab="http://schema.org/">
   My name is Manu Sporny and you can give me a ring via 1-800-555-0199.
</p>

In this example we have specified that we are going to be using the vocabulary that can be found at http://schema.org/. This is a vocabulary that has been released by major search engine companies to talk about common things on the Web that Search Engines care about – things like People, Places, Reviews, Recipes, and Events. Once we have specified the vocabulary, we need to specify the type of the thing that we're talking about. In this particular case we are talking about a Person, which can be marked up like so:

<p vocab="http://schema.org/" typeof="Person">
   My name is Manu Sporny and you can give me a ring via 1-800-555-0199.
</p>

Now all we need to do is specify which properties of that person we want to point out to the search engine. In the following example, we mark up the person's name, phone number and web page. Both text and URLs can be marked up with RDFa Lite. In the following example, pay particular attention to the types of data that are being pointed out to the search engine, which are highlighted in blue:

<p vocab="http://schema.org/" typeof="Person">
   My name is
   <span property="name">Manu Sporny</span>
   and you can give me a ring via
   <span property="telephone">1-800-555-0199</span>
   or visit 
   <a property="url" href="http://manu.sporny.org/">my homepage</a>.
</p>

Now, when somebody types in “phone number for Manu Sporny” into a search engine, the search engine can more reliably answer the question directly, or point the person searching to a more relevant Web page.

2.2 resource

If you want Web authors to be able to talk about each thing on your page, you need to create an identifier for each of these things. Just like we create identifiers for parts of a page using the id attribute in HTML, you can create identifiers for things described on a page using the resource attribute:

<p vocab="http://schema.org/" resource="#manu" typeof="Person">
   My name is
   <span property="name">Manu Sporny</span>
   and you can give me a ring via
   <span property="telephone">1-800-555-0199</span>.
   <img property="image" src="http://manu.sporny.org/images/manu.png" />
</p>

If we assume that the markup above can be found at http://example.org/people, then the identifier for the thing is the address, plus the value in the resource attribute. Therefore, the identifier for the thing on the page would be: http://example.org/people#manu. This identifier is also useful if you want to talk about that same thing on another Web page. By identifying all things on the Web using a unique Uniform Resource Locator (URL), we can start building a Web of things. Companies building software for the Web can use this Web of things to answer complex questions like: "What is Manu Sporny's phone number and what does he look like?".

2.3 prefix

In some cases, a vocabulary may not have all of the terms an author needs when describing their thing. The last feature in RDFa 1.1 Lite that some authors might need is the ability to specify more than one vocabulary. For example, if we are describing a Person and we need to specify that they have a favorite animal, we could do something like the following:

<p vocab="http://schema.org/" prefix="ov: http://open.vocab.org/terms/" resource="#manu" typeof="Person">
   My name is
   <span property="name">Manu Sporny</span>
   and you can give me a ring via
   <span property="telephone">1-800-555-0199</span>.
   <img property="image" src="http://manu.sporny.org/images/manu.png" />
   My favorite animal is the <span property="ov:preferredAnimal">Liger</span>.
</p>

The example assigns a short-hand prefix to the Open Vocabulary (ov) and uses that prefix to specify the preferredAnimal vocabulary term. Since schema.org doesn't have a clear way of expressing a favorite animal, the author instead depends on this alternate vocabulary to get the job done.

RDFa 1.1 Lite also pre-defines a number of useful and popular prefixes, such as dc, foaf, and schema. This ensures that even if authors forget to declare the popular prefixes, that their structured data will continue to work. A full list of pre-declared prefixes can be found in the initial context document for RDFa 1.1.

If you would like to learn more about what is possible with RDFa Lite, including an introduction to the data model, please read the section on RDFa Lite in the RDFa Primer [RDFA-PRIMER].

3. 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].

3.1 Document Conformance

In order for a document to be labeled as a conforming RDFa Lite 1.1 document:

If additional non-RDFa Lite attributes are used from the RDFa Core 1.1 specification, the document must be referred to as a conforming RDFa 1.1 document. All conforming RDFa Lite 1.1 documents may be referred to as conforming RDFa 1.1 documents.

A. References

A.1 Normative references

[RDFA-CORE]
Shane McCarron; et al. RDFa Core 1.1: Syntax and processing rules for embedding RDF through attributes. 7 June 2012. W3C Recommendation. URL: http://www.w3.org/TR/2012/REC-rdfa-core-20120607/
[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

A.2 Informative references

[MICRODATA]
Ian Hickson. Microdata 2011. W3C Working Draft. URL: http://www.w3.org/TR/microdata/
[MICROFORMATS]
Tantek Çelik; et. al. Microformats 2011. The Microformats Community. URL: http://microformats.org/about
[RDFA-PRIMER]
Ben Adida, Ivan Herman, Manu Sporny. RDFa Primer. 07 June 2012. W3C Note. URL: http://www.w3.org/TR/2012/NOTE-rdfa-primer-20120607