eRDF : Embedded RDF

eRDF homepage http://research.talis.com/2005/erdf/wiki

Example (and the eRDF author): http://iandavis.com

Viewing the source of that page shows a lot of eRDF in action. The key lines are:

The profile:

<head profile="http://purl.org/NET/erdf/profile">

The schemas:

<link rel="schema.rdfs" href="http://www.w3.org/2000/01/rdf-schema#" />
<link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" />
<link rel="schema.foaf" href="http://xmlns.com/foaf/0.1/" />
<link rel="schema.bio" href="http://vocab.org/bio/0.1/" />
...

Note that the hrefs for the schemas are actually URIs, so there is not necessarily a page at the corresponding URLs. Whether there is even a literal RDF Schema for the data represented on an eRDF page is up to the author. Of course in order to work best with the WWW there does need to be some kind of RDF Schema there (which could eRDF itself!). See Wikipedia:Linked Data.

The RDF/XML meta tag (so applications that grok RDF will know you have something to say to them):

<link rel="meta" type="application/rdf+xml" 
      title="Embedded RDF" 
      href="http://purl.org/NET/erdf/extract?uri=http%3A%2F%2Fiandavis.com%2F" />

With that in place, using the class names is easy-as-pie:

<span class="foaf-name"><span class="foaf-firstName">Ian</span> <span class="foaf-surname">Davis</span></span>

See it in action on the eRDF Demo page.

QA

Q: "I've never even heard of RDF, so why should I use eRDF?"

RDF is the data layer for the Semantic Web. It provides the foundation for improving the WWW so that information is shared, reused, and integrated more easily and effectively. See What's So Special About RDF?

Q: "I don't want to use RDF, so why should I use eRDF?"

You'll make your system easier to maintain and easier to share with others by using eRDF's naming scheme for your CSS class attributes. Also your users will thank you when nice things happen for them when they use Drag & Drop with their web browser. Surely the automated documentation will be reason enough to pay the price of admission.

Q: "We already have our own class attribute names for CSS and don't want to change them, how can we use eRDF?"

Elements may have more than one class name in their class attributes (aka Multiple Inheritance), so you can just add the eRDF class name to your existing CSS class name separated by a space.

Q: "What about this RDFa thing?"

RDFa attempts to do the same sort of thing as eRDF, but fails because rather than being designed using HTML 4.0 features, it relies on features anticipated for XHTML 2.

Unfortunately RDFa apparently has unstoppable momentum at this point (2009), even though it largely ignores the World Wide Web (HTML4), thus relegating the Semantic Web to continued "the thing after what we're doing now" status. The focus on HTML5 (in lieu of the moribund XHTML2) makes no real difference to the problem of failing to offer a compelling case for the existing application base (it's not about the browsers folks, it's the web applications that matter now).

http://rdfa.info/wiki/RDFainHTML4
http://rdfa.info/wiki/Rdfa-in-html-issues
http://rdfa.info/wiki/RDFa_Profiles
http://lists.w3.org/Archives/Public/public-rdf-in-xhtml-tf/2009Jul/0038.html

Specifications

HTML 4's rel="alternate" HEAD LINK for alternate representations of page content.

GRDDL standard for RDF as alternate representation of page content.

Articles

http://iandavis.com/blog/categories/erdf/

http://research.talis.com/2005/erdf/wiki/Main/RdfInHtml

Many efforts have been made to embed and relate RDF to HTML.

HEAD LINK elements with an attribute "rel" of "meta" is used by eRDF (Embedded RDF) implementations following earlier RDF embedding practices.

http://infomesh.net/2002/rdfinhtml/#link

http://checky.sourceforge.net/profile.html

http://vancouver-webpages.com/ml/

SHOE

SHOE, the Simple HTML Ontology Extensions was similar in that it embedded ontology and tagging information in HTML, but it was based on the idea of extending HTML (which doomed it of course).