| RDF in Attributes | |
|---|---|
| Abbreviation | RDFa |
| Status | Published |
| Year started | 2004 |
| Editors | Ben Adida, Mark Birbeck |
| Base standards | RDF |
| Related standards | RDF Schema,OWL |
| Domain | Semantic Web |
| Website | www |
RDFa orResource Description Framework in Attributes[1] is aW3C Recommendation that adds a set ofattribute-level extensions toHTML,XHTML and various XML-based document types for embedding richmetadata within web documents. TheResource Description Framework (RDF) data-model mapping enables the use of RDFs for embedding RDFsubject-predicate-object expressions within XHTML documents. RDFa also enables the extraction of RDF model triples by compliantuser agents.
The RDFa community runs awiki website to host tools, examples, and tutorials.[2]
RDFa was first proposed byMark Birbeck in the form of aW3C note entitledXHTML and RDF,[3] which was then presented to the Semantic Web Interest Group[4] at the W3C's 2004 Technical Plenary.[5] Later that year the work became part of the sixth public Working Draft of XHTML 2.0.[6][7]Although it is generally assumed that RDFa was originally intended only for XHTML 2, in fact the purpose of RDFa was always to provide a way to add metadata toany XML-based language. Indeed, one of the earliest documents bearing theRDF/A Syntax name has the sub-titleA collection of attributes for layering RDF on XML languages.[8] The document was written by Mark Birbeck andSteven Pemberton, and was made available for discussion on October 11, 2004.
In April 2007 the XHTML 2 Working Group produced a module to support RDF annotation within the XHTML 1 family.[9] As an example, it included an extended version of XHTML 1.1 dubbedXHTML+RDFa 1.0. Although described as not representing an intended direction in terms of a formal markup language from the W3C, limited use of the XHTML+RDFa 1.0DTD did subsequently appear on the public Web.[10]
October 2007 saw the first public Working Draft of a document entitledRDFa in XHTML: Syntax and Processing.[11] This superseded and expanded upon the April draft; it contained rules for creating an RDFa parser, as well as guidelines for organizations wishing to make practical use of the technology.
In October 2008 RDFa 1.0 reached recommendation status.[12]
RDFa 1.1 reached recommendation status in June 2012.[13] It differs from RDFa 1.0 in that it no longer relies on the XML-specific namespace mechanism. Therefore, it is possible to use RDFa 1.1 with non-XML document types such as HTML 4 or HTML 5. Details can be found in an appendix to HTML 5.[14]
An additionalRDFa 1.1 Primer document was last updated 17 March 2015.[1] (The first public Working Draft dates back to 10 March 2006.[15])
There are some main well-defined variants of the basic concepts, that are used as reference and as abbreviation to the W3C standards.
RDFa was defined in 2008 with the "RDFa in XHTML: Syntax and Processing" Recommendation.[16] Its first application was to be amodule of XHTML.
The HTML applications remained,"a collection of attributes and processing rules for extending XHTML to support RDF" expanded to HTML5, are now expressed in a specialized standard, the "HTML+RDFa" (the last is"HTML+RDFa 1.1 - Support for RDFa in HTML4 and HTML5"[17]).
The"HTML+RDFa" syntax of 2008 was also termed"RDFa 1.0", so, there is no "RDFa Core 1.0" standard.In general this 2008'sRDFa 1.0 is used with the oldXHTML standards (as long asRDFa 1.1 is used with XHTML5 and HTML5).
Is the first generic (for HTML and XML) RDFa standard; the "RDFa Core 1.1" is in the Third Edition, since 2015.[18]
RDFa Lite is a W3C Recommendation (1.0 and 1.1) since 2009,[19] where it is described as follows:[20]
RDFa Lite is minimal subset of RDFa ... consisting of a few attributes that may be used to expressmachine-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.
RDFa Lite consists of five attributes: vocab, typeof, property, resource, and prefix.[20] RDFa 1.1 Lite is upwards compatible with RDFa 1.1.[20]
In 2009 the W3C was positioned[21] to retainRDFa Lite as unique and definitive standard alternative toMicrodata.[22] The position was confirmed with the publication of the HTML5 Recommendation in 2014.
The essence of RDFa is to provide a set of attributes that can be used to carry metadata in an XML language (hence the 'a' in RDFa).
These attributes are:
There are five "principles of interoperable metadata" met by RDFa.[23]
Additionally RDFa may benefitweb accessibility as more information is available toassistive technology.[24]
There is a growing number of tools for better usage of RDFa vocabularies and RDFa annotation.

Simplified approaches to semantically annotate information items inwebpages were greatly encouraged by theHTML+RDFa (released in 2008) andmicroformats (since ~2005) standards.
As of 2013[update] these standards were encoding events, contact information, products, and so on. Despite thevCard semantics (only basic items ofperson andorganization annotations) dominance,[25] and somecloning of annotations along the samedomain, the counting of webpages (URLs) and domains with annotations is an important statistical indicator forusage of semantically annotated information in the Web.
The statistics of 2017 show that usage[26] of HTML+RDFa is now less than that of Microformats.
The following is an example of addingDublin Core metadata to an XML element in an XHTML file. Dublin Core data elements are data typically added to a book or article (title, author, subject etc.)
<divxmlns:dc="http://purl.org/dc/elements/1.1/"about="http://www.example.com/books/wikinomics"><spanproperty="dc:title">Wikinomics</span><spanproperty="dc:creator">DonTapscott</span><spanproperty="dc:date">2006-10-01</span></div>
Moreover, RDFa allows the passages and words within a text to be associated with semantic markup:
<divxmlns:dc="http://purl.org/dc/elements/1.1/"about="http://www.example.com/books/wikinomics">Inhislatestbook<spanproperty="dc:title">Wikinomics</span>,<spanproperty="dc:creator">DonTapscott</span>explainsdeepchangesintechnology,demographicsandbusiness.Thebookisduetobepublishedin<spanproperty="dc:date"content="2006-10-01">October2006</span>.</div>
The following is an example of a complete XHTML+RDFa 1.0 document. It usesDublin Core andFOAF, an ontology for describing people and their relationships with other people and things:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"xmlns:foaf="http://xmlns.com/foaf/0.1/"xmlns:dc="http://purl.org/dc/elements/1.1/"version="XHTML+RDFa 1.0"xml:lang="en"><head><title>John'sHomePage</title><basehref="http://example.org/john-d/"/><metaproperty="dc:creator"content="Jonathan Doe"/><linkrel="foaf:primaryTopic"href="http://example.org/john-d/#me"/></head><bodyabout="http://example.org/john-d/#me"><h1>John'sHomePage</h1><p>Mynameis<spanproperty="foaf:nick">JohnD</span>andIlike<ahref="http://www.neubauten.org/"rel="foaf:interest"xml:lang="de">EinstürzendeNeubauten</a>.</p><p>My<spanrel="foaf:interest"resource="urn:ISBN:0752820907">favoritebookistheinspiring<spanabout="urn:ISBN:0752820907"><citeproperty="dc:title">WeavingtheWeb</cite>by<spanproperty="dc:creator">TimBerners-Lee</span></span></span>.</p></body></html>
In the example above, the document URI can be seen as representing an HTML document, but the document URI plus the "#me" stringhttp://example.org/john-d/#me represents the actual person, as distinct from a document about them. Thefoaf:primaryTopic in the header tells us the URI of the person the document is about. Thefoaf:nick property (in the firstspan element) contains a nickname for this person, and thedc:creator property (in themeta element) tells us who created the document. The hyperlink to the Einstürzende Neubauten website containsrel="foaf:interest", suggesting that John Doe is interested in this band. The URI of their website is a resource.
Thefoaf:interest inside the secondp element is referring to a book by ISBN. Theresource attribute defines a resource in a similar way to thehref attribute, but without defining a hyperlink. Further into the paragraph, aspan element containing anabout attribute defines the book as another resource to specify metadata about. The book title and author are defined within the contents of this tag using thedc:title anddc:creator properties.
Here are the same triples when the above document is automatically converted toRDF/XML:
<?xml version="1.0" encoding="UTF-8"?><rdf:RDFxmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:foaf="http://xmlns.com/foaf/0.1/"xmlns:dc="http://purl.org/dc/elements/1.1/"><rdf:Descriptionrdf:about="http://example.org/john-d/"><dc:creatorxml:lang="en">JonathanDoe</dc:creator><foaf:primaryTopic><rdf:Descriptionrdf:about="http://example.org/john-d/#me"><foaf:nickxml:lang="en">JohnD</foaf:nick><foaf:interestrdf:resource="http://www.neubauten.org/"/><foaf:interest><rdf:Descriptionrdf:about="urn:ISBN:0752820907"><dc:creatorxml:lang="en">TimBerners-Lee</dc:creator><dc:titlexml:lang="en">WeavingtheWeb</dc:title></rdf:Description></foaf:interest></rdf:Description></foaf:primaryTopic></rdf:Description></rdf:RDF>
The above example can be expressed withoutXML namespaces inHTML5:
<htmlprefix="dc: http://purl.org/dc/elements/1.1/"lang="en"><head><title>John's Home Page</title><linkrel="profile"href="http://www.w3.org/1999/xhtml/vocab"/><basehref="http://example.org/john-d/"/><metaproperty="dc:creator"content="Jonathan Doe"/><linkrel="foaf:primaryTopic"href="http://example.org/john-d/#me"/></head><bodyabout="http://example.org/john-d/#me"><h1>John's Home Page</h1><p>My name is<spanproperty="foaf:nick">John D</span> and I like<ahref="http://www.neubauten.org/"rel="foaf:interest"lang="de">Einstürzende Neubauten</a>.</p><p> My<spanrel="foaf:interest"resource="urn:ISBN:0752820907">favorite book is the inspiring<spanabout="urn:ISBN:0752820907"><citeproperty="dc:title">Weaving the Web</cite> by<spanproperty="dc:creator">Tim Berners-Lee</span></span></span>.</p></body></html>
Note how the prefix foaf is still used without declaration. RDFa 1.1 automatically includes prefixes for popular vocabularies such as FOAF.[30]
The minimal[31] document is:
<htmllang="en"><head><title>Example Document</title></head><bodyvocab="http://schema.org/"><ptypeof="Blog"> Welcome to my<aproperty="url"href="http://example.org/">blog</a>.</p></body></html>
That is, it is recommended that all of these attributes are used:vocab,typeof,property; not only one of them.
RDFa Structured Data Example
Person Schema in RDFa.[32]
<divvocab="http://schema.org/"typeof="Person"><aproperty="image"href="http://manu.sporny.org/images/manu.png"><spanproperty="name">Manu Sporny</span></a>,<spanproperty="jobTitle">Founder/CEO</span><div> Phone:<spanproperty="telephone">(540) 961-4469</span></div><div> E-mail:<aproperty="email"href="mailto:(your emailid)">msporny@digitalbazaar(.)com</a></div><div> Links:<aproperty="url"href="http://manu.sporny.org/">Manu's homepage</a></div></div>