Tim Berners-Lee has taken up the hatchet

Tim Berners-Lee takes up the hatchet and publishes use cases for relative URIs as namespace names:

I can’t remember what prompted me to write up these sue cases [sic] for relative URIs in namespaces, and I apologize if I have done it before. The XML 1.0 and XML 1.1 namespaces documents « deprocate » this practice, following a vote at a XML plenary. It seems that RDF does need this, but no one else seems to just now.

Two use cases follow, the first one contradicted by Elliotte Rusty Harold, the second one related to RDF:

2. In in RDF, local identifiers are of the for rdf:id= »foo » or about= »#foo », which are equivalent. These are sed for naming arbitrary things within a description.

The URl « #foo » is defiuned to be relative to the current document. by the URI spec.

RDF can also use these ientifiers as class names or properties, in which case they are usedas element names in a namespace of the document itself. It is clearly useful to be able to say xmlns:= » »in this case.

We have had plenty of trouble with information (for example in the cwm test suite) being serialized as XML, and the local identifiers having necessarily to be given absolute URIs. This has mean that the test files have ended up bein branded with the local filepath whether they were processed(xmlns= »file:/disk4/joe/devel/test/set5/bar ») which works, but its a pain. It makes files arbitrarily different for testing, can have privacy implications, and so on.

I am not sure what is meant by xmlns:= » ».

xmlns= » » has been allowed since namespaces in XML 1.0 and xmlns:foo= » » has been introduced by namespaces in XML 1.1 (now a Proposed Recommendation). Both are namespaces « undeclaration » and that’s probably not what’s meant here.

If it’s about using relative URIs in RDF, I wonder if all this is really an issue with XML namespaces and not rather an issue with the XML syntax of RDF. Maybe RDF just needs some kind of rdf:base attribute?

Also, I have more than mixed feelings about using rdf:about= »#foo ».

The only circumstance where that would seem legitimate to me would be to make assertions about the XML fragment identified as « #foo », but is that interesting?

Doesn’t it make RDF no better than XLink+XPointer which relies on URIs used as addresses rather than names?

Of course, that’s painful to give each resource an absolute URI, but at least, these URIs don’t change when you move the documents containing the assertions.

Or have I misunderstood the whole point?

2 thoughts on “Tim Berners-Lee has taken up the hatchet”

Répondre à Chris Purcell Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *