Re: New draft finding on issue namespaceDocument-8

fre 2007-10-05 klockan 16:01 +0100 skrev Henry S. Thompson: 
> 
> What do _you_ think is the right story here?

Well, now that you do ask, let me see if I can produce a coherent
braindump :-)

1. The main issue with nsDocuments [1] is that the notions of
"namespace" and "namespace document" are left undefined. In my view, the
solution is to *drop* the notion of "namespace document", replacing it
with the notion of a "namespace resource" - an information resource that
describes the namespace.

I propose a definition along the following lines:

A /namespace/ is a URI denoting a /namespace resource/.

A /namespace resource/ is a collection of names. A /namespace resource/
is an information resource. Representations of this resource should
contain information about a namespace and the names contained therein.

A representation of a namespace resource may describe the nature and
internal relationships between the resources denoted by the names in the
namespace. Suitable formats for this is RDF, using RDF Schema or SKOS,
(XML Schemas describing the relationships between XML elements?), simply
human-readable HTML, or a custom format supplanted with a GRDDL
transform.  

A representation of a namespace resource may also describe the namespace
itself and its intended use. [nsDocument [1]] describes an RDF
vocabulary suitable for describing related schema documents and similar.
Again, suitable representation formats are RDF, human-readable HTML or a
custom format supplanted with a GRDDL transform.

----------------

Now, in httprange-14 [2], there is no discussion about when the
referenced resource (directly or by 303 redirection) is a namespace
resource.

It seems to me that especially section  5.2 Secondary Resources in RDF
would benefit from linking to the above discussion.

So the document needs to say that "a primary resource for the moons of
each planet" is a namespace resource, and the reasoning in the above
document applies.

"The browser recognizes that the URI refers to a secondary resource and
attempts to retrieve an RDF representation of the associated primary
resource." also needs to say "namespace resource". Same applies to 5.3,
which really follows the namespace resource conventions described above.

Section 7 Choosing Between Redirection and Secondary Resources needs to
say that the case of a small set of resources that belong to a single
namespace falls under case A in the Good Practice box, the secondary
resource approach. It's all very obvious when you start to talk about
namespaces and namespace resources in this document. And you *need* to.

--------------------

Regarding nsDocuemnt [1] and RDDL - well, RDDL may be a reasonable
representation of a namespace resource, especially in the case of XML
namespaces. Certainly it highlights the need to reference multiple
schema documents etc., which it seems is probably a good idea for a
namespace resource. 

That said, I'm not too impressed by the results of the attempt to
retrofit an RDF semantics on top of RDDL. Using URIs as "keys" to
describe the "nature" of resources is just, well, strange.

The RDF model already contains a primitive for "nature", and it's called
rdf:type. So, we'd need to introduce classes for each of the major types
of namespace-related documents. 

(man, I'm bad at n3)

<http://docbook.org/ns/docbook>
  purpose:validation <http://docbook.org/xml/5.0b1/rng/docbook.rng>, 
                     <http://docbook.org/xml/5.0b1/rng/docbook.xsd>;

  purpose:reference <http://docbook.org/tdg5/en/html/>;

  purpose:normative-reference <http://docbook.org/specs/wd-docbook-docbook-5.0b1.html>.

<http://docbook.org/xml/5.0b1/rng/docbook.rng> a <rddl:RelaxNGDocument> .
<http://docbook.org/xml/5.0b1/rng/docbook.xsd> a <rddl:XSDDocument> .
<http://docbook.org/tdg5/en/html/> a <rddl:XHTMLDocument> .
<http://docbook.org/specs/wd-docbook-docbook-5.0b1.html> a <rddl:XHTMLDocument> .

Now, the fact that RDDL uses certain URIs to mean certain specs can be
hardcoded into a GRDDL processor that generates the above. Thus, RDDL
can be used as is, and we get a /usable/ RDF representation as well.

Now, If you want, the rddl: namespace used above can of course contain
statements of the kind

<rddl:RelaxNGDocument> <rddl:keyedBy> "http://relaxng.org/ns/structure/1.0"^^<xsd:anyURI>

and if you want to get *really* crazy, you can even define rddl:keyedBy as an IFP, making it possible to do

<http://docbook.org/xml/5.0b1/rng/docbook.rng> a [rddl:keyedBy "http://relaxng.org/ns/structure/1.0"^^<xsd:anyURI>] .

meaning you don't really have to coin the class URIs if you have an
allergy against that.... Note that this is not what I'd recommend, only
what I would consider clean RDF modeling as compared to the RDF modeling
in the current nsDocuments document.


--------------

You asked for it - there you are :-)

/Mikael




 

[1] http://www.w3.org/2001/tag/doc/nsDocuments/
[2] http://www.w3.org/2001/tag/doc/httpRange-14/2007-08-31/HttpRange-14.html
-- 
<mikael@nilsson.name>

Plus ça change, plus c'est la même chose

Received on Friday, 5 October 2007 20:10:16 UTC