GRDDL (pronounced "griddle") is a markup format for Gleaning Resource Descriptions from Dialects of Languages. It is a W3C Recommendation, and enables users to obtain RDF triples out of XML documents, including XHTML. The GRDDL specification shows examples using XSLT, however it was intended to be abstract enough to allow for other implementations as well. It became a Recommendation on September 11, 2007.

Mechanism XHTML and transformations A document specifies associated transformations, using one of a number of ways.

For instance, an XHTML document may contain the following markup: <head profile="http://www.w3.org/2003/g/data-view http://dublincore.org/documents/dcq-html/ http://gmpg.org/xfn/11">

<link rel="transformation" href="grokXFN.xsl" />

Document consumers are informed that there are GRDDL transformations available in this page, by including the following URI in the profile attribute of the head element: http://www.w3.org/2003/g/data-view

The available transformations are revealed through one or more link elements: <link rel="transformation" href="grokXFN.xsl" />

This code is valid for XHTML 1.x only. The profile attribute has been dropped in HTML5, including its XML serialisation.

Microformats and profile transformations If an XHTML page contains Microformats, there is usually a specific profile.

For instance, a document with hcard information should have: <head profile="http://www.w3.org/2003/g/data-view http://www.w3.org/2006/03/hcard">

When fetched http://www.w3.org/2006/03/hcard has:

<head profile="http://www.w3.org/2003/g/data-view">

and

<p>Use of this profile licenses RDF data extracted by <a rel="profileTransformation" href="../vcard/hcard2rdf.xsl">hcard2rdf.xsl</a> from <a href="http://www.w3.org/2006/vcard/ns">the 2006 vCard/RDF work</a>. </p>

The GRDDL aware agent can then use that profileTransformation to extract all hcard data from pages that reference that link.

XML and transformations In a similar fashion to XHTML, GRDDL transformations can be attached to XML documents.

Explicitly linking to transformations GRDDL specifies a attribute that can be appended to the root element, which can be used to link to one or more transformations.

<foo xmlns:grddl="http://www.w3.org/2003/g/data-view#" grddl:transformation="glean_authors.xsl"> <!-- document content here --> </foo>

This allows the GRDDL transformation employed to be specified on a per-resource basis.

XML namespace transformations Just like a profileTransformation, an XML namespace can have a transformation associated with it.

This allows entire XML dialects (for instance, KML or Atom) to provide meaningful RDF.

An XML document simply points to a namespace <foo xmlns="http://example.com/1.0/"> <!-- document content here --> </foo> and when fetched, http://example.com/1.0/ points to a namespaceTransformation.

This also allows very large amounts of the existing XML data in the wild to become RDF/XML with minimal effort from the namespace author.

Output Once a document has been transformed, there is an RDF representation of that data.

This output is generally put into a database and queried via SPARQL.

Implementations GRDDL consumers (also known as GRDDL aware agents) OpenLink Virtuoso through its Sponger cartridge system XML_GRDDL, a semi compliant PHP 5 library See other implementations

See also Microformats – a simplified approach to semantically annotate data in websites RDFa – a W3C Recommendation for annotating websites with RDF data

References

External links W3C GRDDL Specification W3C GRDDL Working Group W3C GRDDL Primer W3C GRDDL Use-Cases