Re: GRDDL (was: RE: Extensibility strategies)

On 5 Aug 2008, at 20:22, Justin James wrote:

> * It is highly complex - Look at the diagrams on that page...  
> anything that
> requires that many transformations and steps is prone to failure and
> problems. One misbehaving parser in that chain breaks it.

Misbehaving rendering engines have been a major annoyance for authors  
for ages, but people still use CSS. GRDDL is very much simpler than  
CSS. (Though GRDDL makes use of XSLT which is quite complex -  
however, many browsers do already have reasonably good XSLT  
implementations.)

> * Confusing - Maybe the spec is still a draft, but I am a smart guy  
> and it
> took way too long for me to "get" this document. Even worse, it  
> relies upon
> having an in-depth understanding of another obscure spec, RDF  
> (another one I
> never heard of until a few days ago).

RDF is the thousand-pound gorilla of the metadata world. There is  
virtually no work going on in the online metadata world that does not  
somehow involve RDF. If GRDDL couldn't output RDF, then it would be  
destined to be no more than a plaything. Any solution that aims to do  
for semantics what CSS has done for style would *have* to use RDF to  
be taken seriously.

RDF is no more complex than CSS. Looking at CSS at a very high level,  
the syntax is simply:

	selector
	{
	  property1: value1;
	  property2: value2;
	}

Any elements selected by the selector get the property-value pairs  
applied to them. Easy. Of course, when you want to learn what all the  
valid properties are, their values, how they interact, etc, it  
becomes more complicated.

The same with RDF. The high level view is dead easy:

	subject1 predicate1 object1 .
	subject2 predicate2 object2 .

And then you just need to know that subjects and predicates are  
normally expressed as URIs. Objects are sometimes URIs, sometimes  
literals.

e.g.
	<http://dbpedia.org/resource/Sky>
	  <http://example.com/ns#colour>
	    "blue" .

Of course, the deeper you look, the more complicated it gets, with  
BNodes, and multiple serialisations (Just as HTML5 has different  
representations - HTML, XHTML and DOM - so does RDF have various  
different representations, in XML, a text-like format, JSON, etc.),  
reification, datatypes, CURIEs and so on.

But the same can be said of CSS - the deeper you look, the more  
complicated it gets. Gurus are well-versed in browser-specific hacks,  
the rules of the cascade, inheritance, default values of properties  
for different elements, media queries, browser-specific extensions, etc.

But at it's heart, the concept of triples, with most of the  
components being URIs, RDF is actually pretty simple.

> * HTML abuse - This seems to be predicated on abusing and mis-using  
> HTML.
> Maybe I am reading it wrong.

Not sure why you think that. GRDDL has two main methods of linking to  
a transformation from an HTML file. The first is very much like CSS...

	To link to a stylesheet, you use:
	<link rel="stylesheet" href="style.css">

	To link to a "semantics sheet", you use:
	<link rel="transformation" href="semantics.xslt">

The other uses the HTML <head profile> attribute. Rather than linking  
to the XSLT file directly, you include the URI for a profile document  
in your <head profile>, and then the profile document links to the  
XSLT file. This second method of linking is intended to be not so  
much used for ad-hoc linking to "semantics sheets" like the first  
syntax is, but rather for linking to the profiles of Microformats  
(official ones or otherwise).

GRDDL is quite simple and elegant, except for the fact that is  
specifies that the data transformations must be written in XSLT,  
which is not very elegant in syntax, not is it an especially well- 
known programming language amongst most web authors. I think  
Javascript may have been a better route for them to follow, but I  
suppose that ship has sailed.

-- 
Toby A Inkster
<mailto:mail@tobyinkster.co.uk>
<http://tobyinkster.co.uk>

Received on Tuesday, 5 August 2008 23:09:00 UTC