W3C home > Mailing lists > Public > public-rdf-in-xhtml-tf@w3.org > July 2008

Re: RDFa in HTML 4

From: Mark Birbeck <mark.birbeck@webbackplane.com>
Date: Thu, 17 Jul 2008 22:46:09 +0100
Message-ID: <ed77aa9f0807171446n310738fanf8677659160f17ad@mail.gmail.com>
To: "Toby A Inkster" <tai@g5n.co.uk>
Cc: public-rdf-in-xhtml-tf@w3.org

Hi Toby,

> I've suggested it before, but I'll suggest it again. RFC 2731, which was put
> forward by the Dublin Core crowd many years ago, already offers an
> HTML-compatible method for defining prefixes for metadata terms. RFC 2731
> has been embraced by eRDF.
> The syntax is:
>
>    <link rel="schema.dct" href="http://purl.org/dc/terms/">

Thanks for this.

I looked at this many years ago, and decided that it was too much of a hack.

I don't mean that disrespectfully to anyone involved in the proposal,
since the thing to remember is that these kinds of solutions were
being proposed at a time when everyone was trying to avoid updating
HTML. Microformats is just the same.

But once you remove that straitjacket, things become much easier; RDFa
is the direct consequence of those self-imposed restrictions being
lifted.

Anyway, if anyone is wondering why this is a hack, I'll explain.

In HTML, @rel/@rev is supposed to define a relationship between the
current document and some resource. We've leveraged that in RDFa to
apply not only to @href (as it always did), but also to the new
attribute @resource. And we've extended it further to allows for
predicate values to come from distinct vocabularies.

This therefore means that in the example given, the relationship
_should be_ "schema.dct".

But RFC 2731 says that the relationship is actually that "dct" should
be mapped to a resource. To do that you have to crack open the
predicate value, which means that you have to parse the predicate name
*itself* before you know how to interpret the predicate.

What's worse, is that the syntax being used is the same as the
qualifying mechanism itself. So if we had a value of "DC.creator",
we'd use the value before the period to indicate a namespace, but if
we have "schema.DC", we use the value before the period as a kind of
keyword to trigger some different processing.

As I said before, no disrespect is intended to people who were coming
up with great ideas like this within the restrictions presented to
them at the time, but it's quite a stretch to say that this solution
is "HTML-compatible". And I really didn't think that this kind of
differential parsing of predicates was a very good foundation on which
to build a generic 'RDF-in-HTML' parsing algorithm.

Regards,

Mark

-- 
Mark Birbeck, webBackplane

mark.birbeck@webBackplane.com

http://webBackplane.com/mark-birbeck

webBackplane is a trading name of Backplane Ltd. (company number
05972288, registered office: 2nd Floor, 69/85 Tabernacle Street,
London, EC2A 4RR)
Received on Thursday, 17 July 2008 21:46:46 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 17 July 2008 21:46:47 GMT