RDFa
RDFa or Resource Description Framework in Attributes[1] is a W3C Recommendation that adds a set of attribute-level extensions to HTML, XHTML and various XML-based document types for embedding rich metadata within Web documents. The Resource Description Framework (RDF) data-model mapping enables its use for embedding RDF subject-predicate-object expressions within XHTML documents. It also enables the extraction of RDF model triples by compliant user agents. The RDFa community runs a wiki website to host tools, examples, and tutorials.[2] HistoryRDFa was first proposed by Mark Birbeck in the form of a W3C note entitled XHTML 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 a metadata to any XML-based language. Indeed, one of the earliest documents bearing the RDF/A Syntax name has the sub-title A collection of attributes for layering RDF on XML languages.[8] The document was written by Mark Birbeck and Steven 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 dubbed XHTML+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.0 DTD did subsequently appear on the public Web.[10] October 2007 saw the first public Working Draft of a document entitled RDFa 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 additional RDFa 1.1 Primer document was last updated 17 March 2015.[1] (The first public Working Draft dates back to 10 March 2006.[15]) Versions and variantsThere are some main well-defined variants of the basic concepts, that are used as reference and as abbreviation to the W3C standards. HTML+RDFaRDFa was defined in 2008 with the "RDFa in XHTML: Syntax and Processing" Recommendation.[16] Its first application was to be a module 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]). RDFa 1.0The "HTML+RDFa" syntax of 2008 was also termed "RDFa 1.0", so, there is no "RDFa Core 1.0" standard. In general this 2008's RDFa 1.0 is used with the old XHTML standards (as long as RDFa 1.1 is used with XHTML5 and HTML5). RDFa 1.1Is the first generic (for HTML and XML) RDFa standard; the "RDFa Core 1.1" is in the Third Edition, since 2015.[18] RDFa LiteRDFa Lite is a W3C Recommendation (1.0 and 1.1) since 2009,[19] where it is described as follows:[20]
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 retain RDFa Lite as unique and definitive standard alternative to Microdata.[22] The position was confirmed with the publication of the HTML5 Recommendation in 2014. EssenceThe 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:
BenefitsThere are five "principles of interoperable metadata" met by RDFa.[23]
Additionally RDFa may benefit web accessibility as more information is available to assistive technology.[24] UsageThere is a growing number of tools for better usage of RDFa vocabularies and RDFa annotation. HTML+RDFa statisticsSimplified approaches to semantically annotate information items in webpages were greatly encouraged by the HTML+RDFa (released in 2008) and microformats (since ~2005) standards. As of 2013[update] these standards were encoding events, contact information, products, and so on. Despite the vCard semantics (only basic items of person and organization annotations) dominance,[25] and some cloning of annotations along the same domain, the counting of webpages (URLs) and domains with annotations is an important statistical indicator for usage 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. RDFa editors
ExamplesThe following is an example of adding Dublin 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.) <div xmlns:dc="http://purl.org/dc/elements/1.1/"
about="http://www.example.com/books/wikinomics">
<span property="dc:title">Wikinomics</span>
<span property="dc:creator">Don Tapscott</span>
<span property="dc:date">2006-10-01</span>
</div>
Moreover, RDFa allows the passages and words within a text to be associated with semantic markup: <div xmlns:dc="http://purl.org/dc/elements/1.1/"
about="http://www.example.com/books/wikinomics">
In his latest book
<span property="dc:title">Wikinomics</span>,
<span property="dc:creator">Don Tapscott</span>
explains deep changes in technology,
demographics and business.
The book is due to be published in
<span property="dc:date" content="2006-10-01">October 2006</span>.
</div>
XHTML + RDFa 1.0The following is an example of a complete XHTML+RDFa 1.0 document. It uses Dublin Core and FOAF, 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">
<html xmlns="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's Home Page</title>
<base href="http://example.org/john-d/" />
<meta property="dc:creator" content="Jonathan Doe" />
<link rel="foaf:primaryTopic" href="http://example.org/john-d/#me" />
</head>
<body about="http://example.org/john-d/#me">
<h1>John's Home Page</h1>
<p>My name is <span property="foaf:nick">John D</span> and I like
<a href="http://www.neubauten.org/" rel="foaf:interest"
xml:lang="de">Einstürzende Neubauten</a>.
</p>
<p>
My <span rel="foaf:interest" resource="urn:ISBN:0752820907">favorite
book is the inspiring <span about="urn:ISBN:0752820907"><cite
property="dc:title">Weaving the Web</cite> by
<span property="dc:creator">Tim Berners-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" string The foaf:interest inside the second Here are the same triples when the above document is automatically converted to RDF/XML: <?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns: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:Description rdf:about="http://example.org/john-d/">
<dc:creator xml:lang="en">Jonathan Doe</dc:creator>
<foaf:primaryTopic>
<rdf:Description rdf:about="http://example.org/john-d/#me">
<foaf:nick xml:lang="en">John D</foaf:nick>
<foaf:interest rdf:resource="http://www.neubauten.org/"/>
<foaf:interest>
<rdf:Description rdf:about="urn:ISBN:0752820907">
<dc:creator xml:lang="en">Tim Berners-Lee</dc:creator>
<dc:title xml:lang="en">Weaving the Web</dc:title>
</rdf:Description>
</foaf:interest>
</rdf:Description>
</foaf:primaryTopic>
</rdf:Description>
</rdf:RDF>
HTML5 + RDFa 1.1The above example can be expressed without XML namespaces in HTML5: <html prefix="dc: http://purl.org/dc/elements/1.1/" lang="en">
<head>
<title>John's Home Page</title>
<link rel="profile" href="http://www.w3.org/1999/xhtml/vocab" />
<base href="http://example.org/john-d/" />
<meta property="dc:creator" content="Jonathan Doe" />
<link rel="foaf:primaryTopic" href="http://example.org/john-d/#me" />
</head>
<body about="http://example.org/john-d/#me">
<h1>John's Home Page</h1>
<p>My name is <span property="foaf:nick">John D</span> and I like
<a href="http://www.neubauten.org/" rel="foaf:interest"
lang="de">Einstürzende Neubauten</a>.
</p>
<p>
My <span rel="foaf:interest" resource="urn:ISBN:0752820907">favorite
book is the inspiring <span about="urn:ISBN:0752820907"><cite
property="dc:title">Weaving the Web</cite> by
<span property="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]
<html lang="en">
<head>
<title>Example Document</title>
</head>
<body vocab="http://schema.org/">
<p typeof="Blog">
Welcome to my <a property="url" href="http://example.org/">blog</a>.
</p>
</body>
</html>
That is, it is recommended that all of these attributes are used: RDFa Structured Data Example Person Schema in RDFa.[32] <div vocab="http://schema.org/" typeof="Person">
<a property="image" href="http://manu.sporny.org/images/manu.png">
<span property="name">Manu Sporny</span></a>,
<span property="jobTitle">Founder/CEO</span>
<div>
Phone: <span property="telephone">(540) 961-4469</span>
</div>
<div>
E-mail: <a property="email" href="mailto:(your emailid)">msporny@digitalbazaar(.)com</a>
</div>
<div>
Links: <a property="url" href="http://manu.sporny.org/">Manu's homepage</a>
</div>
</div>
See also
References
External links
|