Review of POWDER draft

Comments on
http://www.w3.org/TR/2007/WD-powder-dr-20070925/

1. This is an interesting spec.  It looks quite useful, and I'm glad
it's using RDF and leveraging existing ontologies.

2. Thank you for including the images of the RDF graphs used in the
examples!  Images like this
http://www.w3.org/TR/2007/WD-powder-dr-20070925/servlet_11745.png
make it much easier to understand the RDF being discussed, since RDF/XML
is nearly impossible for me to read.  How about including N3 or Turtle?
In fact, as far as I'm concerned, you can drop RDF/XML entirely, as to
my mind it doesn't add any clarity, but I certainly understand that
others may feel differently.

3. Sec 1 says "for which we use the QName wdr.".  Shouldn't that be "for
which we use the QName prefix wdr."?

4. Sec 2 says: "This is a break from the RDF model and means that a
generic RDF/OWL inference engine MUST NOT be used directly to make
inferences based on DRs."  This is scary, and IMO requires major
justification.  What exactly is the break from the RDF model and what is
the rationale for it?  It would not seem to me to make sense to use
RDF/OWL notation without their semantics.  Is that what you mean?
Please explain.

5. Sec 3.2 "Forcing Processing Order Using dcterms:isPartOf" talks about
caching and says:
[[
The set of all resources described by the DRs in the Package can only be
determined fully by taking the union of the Resource Sets of each of the
DRs themselves. However, it is useful for the Package to include a
processing hint about the range of resources described.
]]
Must this hint specify a superset of the resources described by the DRs
in the Package?  It would seem like a sensible constraint, but I don't
see it stated.

6. Sec 3.4 says:
[[
Two requirements flow from this:

   1. Packages MUST have an identifier (in RDF terms they must be a
named graph)
   2. DRs that are to be processed as part of a Package SHOULD include
the Dublin Core term isPartOf with the Package URI as its object.
]]
I don't understand why these requirements follow, for two reasons:

 - First, why can't each cached DR have an associated list of
wdr:hasScope to exclude?  Such an exclude list for a DR would consist of
all of the wdr:hasScope's of other DRs that preceded it in the package.


 - Second, this seems like an implementation issue.  The information
that DR1 and DR2 are part of package p1 is already evident in the RDF
graph (via the rdf:first and rdf:rest predicates) even without using
dcterms:isPartOf, isn't it?   It seems like the processor's problem if
it is not smart enough to make use of the information that was already
provided.  Can you shed more light on this?

7. I assume that two packages could contain different DRs with
wsd:hasScope entries that both apply to the same resource, in which case
both DRs do apply, i.e., the union of the assertions in the DRs apply to
the resource.  Is that correct?

8. The "Web Description Resources Datatypes (WDRD)" document at
http://www.w3.org/TR/2007/WD-powder-xsd-20070925/
says:
[[
This is the namespace document for the XML schema used in the Protocol
for Web Description resources (POWDER). It defines the datatypes used
and the structure for Description Resources where these are serialized
in XML.
]]
Does this mean that there will be a specialized (non-RDF/XML) XML syntax
for serializing POWDER?   If so, will it have a GRDDL annotation for
automatic transformation to RDF?

THanks


David Booth, Ph.D.
HP Software
+1 617 629 8881 office  |  dbooth@hp.com
http://www.hp.com/go/software

Opinions expressed herein are those of the author and do not represent
the official views of HP unless explicitly stated otherwise.

Received on Thursday, 4 October 2007 03:23:45 UTC