- From: Paul Prescod <paul@prescod.net>
- Date: Mon, 11 Nov 2002 19:55:15 -0800
- To: Tim Bray <tbray@textuality.com>
- CC: WWW-Tag <www-tag@w3.org>
Tim Bray wrote:
>...
>
> The notion that you limit a RDDL to apply to one and only one namespace
> seems like a totally artificial limitation that buys nothing and
> eliminates interesting possibilities.
In the end, this is easy to achieve if the namespace is the referent of
the rdf:about.
>...
> Aahhh... the RDF tax strikes again. I want to do something that is
> obvious and straightforward and implicit in the resource/representation
> relationship, and using RDF is going to cost me oceans of arcane totally
> human-opaque syntax.
Every level of abstraction is going to have _some_ tax unless you do it
totally out-of-line. It's one thing when the RDF tax is just extra
syntax but in this case we're talking about being explicit in order to
_get the benefits_ of RDF.
>...
> A machine is entirely capable of detecting the condition that some
> assertions are contained in the representation of a resource and
> inferring the fact that the assertions are related to the resource. It
> should not be necessary to duplicate the assertion of this
> machine-detectable relationship. -Tim
Machines are not intelligent. They detect things only when they are told
to. I am suggesting to use standard RDF technique so that the programmer
does not have to hack around the natural behaviour of the RDF processor.
Please consider this alternative, which I think has the following virtues:
* fewer elements in RDF namespace
* more explicit about what resources are being related,
* no contradiction problems (scope of nature/purpose declarations are
clear and correct)
* naturally permits multiple namespace declarations from the same RDDL
* permits these multiple declarations to share as much or as little as
they like.
* naturally permits the addition of non-resource annotations on the
namespace (like who owns it, what its usage policies are, etc.)
* naturally permits the same markup to live in documents that are NOT
served from namespace URIs
The only down-side I see is that it probably forces you to move the
hacky HTML paragraph-elements further away from the RDF, because of
RDF's problem with mixed content. :(
=====
<html xmlns:rddl="http://www.rddl.org/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
<head>
<title>RDDL Description for http://example.org/L</title></head>
<body>
<h1>RDDL Description for http://example.org/L</h1>
<p>This document describes the "L" namespace and provides links to
related resources</p>
<!-- FIRST namespace -->
<rddl:Namespace rdf:about="http://www.prescod.net/sometargetns#">
<rddl:title>My namespace</rddl:title>
<dc:author>Paul Prescod</dc:author>
<rddl:related>
<rddl:Resource rdf:ID="dtd" rddl:title="DTD">
<rddl:prose>A DTD for the L language.</rddl:prose>
<rddl:href rdf:resource="http://example.org/schemas/L.dtd"/>
<rddl:nature
rdf:resource="http://www.isi.edu/in-notes/iana/assignments/media-types/application/xml-dtd"/>
<rddl:purpose
rdf:resource="http://www.rddl.org/purposes#validation"/>
</rddl:Resource>
</rddl:related>
<rddl:related>
<rddl:Resource rdf:ID="relaxng" rddl:title="Relax NG">
<rddl:prose>A Relax NG Schema for the L
language.</rddl:prose>
<rddl:href rdf:resource="http://example.org/schemas/L.rng"/>
<rddl:nature rdf:resource="http://relaxng.org/ns/structure/1.0"/>
<rddl:purpose
rdf:resource="http://www.rddl.org/purposes#validation"/>
</rddl:Resource>
</rddl:related>
<rddl:related>
<rddl:Resource rdf:ID="xhtml" rddl:title="User Documentation">
<rddl:prose>Reference documentation for L, in
XHTML.</rddl:prose>
<rddl:href
rdf:resource="http://example.org/schemas/L.html"/>
<rddl:nature rdf:resource="http://www.w3.org/1999/xhtml"/>
<rddl:purpose
rdf:resource="http://www.rddl.org/purposes#reference"/>
</rddl:Resource>
</rddl:related>
</rddl:namespace>
<!-- SECOND namespace -->
<rddl:namespace rdf:about="http:/.../second-namespace">
<rddl:related rdf:resource="#dtd"/>
<rddl:related rdf:resource="#relaxng"/>
<rddl:related>
<rddl:Resource rddl:title="User Documentation">
<rddl:prose>Reference documentation for L2, in XHTML.</rddl:prose>
<rddl:href rdf:resource="http://example.org/schemas/L.html"/>
<rddl:nature rdf:resource="http://www.w3.org/1999/xhtml"/>
<rddl:purpose
rdf:resource="http://www.rddl.org/purposes#reference"/>
</rddl:Resource>
</rddl:namespace>
</html>
Repeating rddl:related is kind of annoying (though your version did that
also). Why can't the RDF grammar just allow multiple descriptions per
property. Are we afraid that they would be interpreted as a formal
collection or something?
Also, a purist might argue that the whole thing should be wrapped in
rdf:RDF, but I would say that rdf:about should be a sufficient RDF
processing trigger across all RDF embedded in other vocabularies.
Add those to the list of things to fix in RDF/XML.
Paul Prescod
Received on Monday, 11 November 2002 22:55:53 UTC