- From: Ralph R. Swick <swick@w3.org>
- Date: Thu, 28 Oct 2004 23:58:19 -0400
- To: Mark Birbeck <mark.birbeck@x-port.net>, Steven Pemberton <steven@w3.org>
- Cc: public-rdf-in-xhtml-tf@w3.org
Mark and Steven; Very nice work on the RDF/A proposal [1]. You have made a major step forward to providing a way to tie RDF semantics into XHTML documents. I applaud your efforts to produce a module that is potentially usable with other XML languages as well as XHTML. I do hope that in the process of modularizing this you will not make it more cumbersome for users of this module than the meta information module in the 22 July XHTML 2.0 working draft. [1] http://www.formsplayer.com/notes/rdf-a.html Last Modified: 2004-09-22 This RDF/A draft certainly addresses my main concern with the 22 July XHTML 2.0 working draft; this document clearly and as nearly as I can tell with a moderatly thoughtful read-through, unambiguously connects the semantics of these proposed attributes to RDF concepts. Now I have one comment in the opposite direction; you've gone so far towards creating a module that could be acceptable to many XML document types that you've forgotten to give the original -- and dare I say -- primary motivation; to permit precise RDF semantics to be carried within XHTML documents. I suggest that the Abstract specifically cite XHTML as one of the target XML document types. I didn't find any specification of the namespace within which you expect these new attributes and the hasReferenceTo property to be found. That really makes this draft incomplete. I hope that they will at least be part of the http://www.w3.org/2002/06/xhtml2 namespace (as your examples seem to suggest). The bulk of my comments on this draft are editorial. Section 1 Motivation: "... the syntax of RDF/XML is too unwieldy for use as a mechanism for adding metadata to a document about the document itself." This is a value judgement with which reasonable people can disagree. Certainly there are instances of exactly this usage and the idiom 'rdf:about=""' has been used in precisely this way. May I suggest rewording such as "A second motivation is to provide an alternative to the RDF/XML syntax that is simpler to use when adding metadata to a document about the document itself." Section 1 Motivation, RDF/XML example: simple typo; the line "<xh11:cite href=... />" should be <xh11:cite rdf:resource=... />" (and, pedantically, the preceeding line should also have the rdf: nsprefix on the 'about' attribute.) Use of '/' vs. '#' in examples. There is much debate on this point, none of which is particularly relevant to a reader's understanding of the RDF/A draft. TAG issue httpRange-14 [2] is one of the current loci of discussion on this point. I recommend that in your examples you use '#' in any URI that is not intended to refer to a document; e.g. http://www.blogger.com/profile/1109404# (or ...#p if you think that looks better) rather than just http://www.blogger.com/profile/1109404 [2] http://www.w3.org/2001/tag/issues.html?type=1#httpRange-14 Section 3.1 General Approach: I wrote the annotation "nice!" next to the example where you first show the use of both rel= and rev= on the same element. Thought you'd like to know that ;) Section 3.1, next-to-last paragraph starting "However, RDF/A provides another mechanism". The end of this sentence reads awkwardly; I read "then the [triple] concerns the parent of the element" as "the subject of the [triple] is the parent element itself." It might also be appropriate to include a forward reference to the term [context statement] introduced in 4.1 to explain this concept. This example would further benefit from including the N-Triples produced by the RDF/A syntax. Improper usage of foaf:knows; starting with Section 3.3 (the last two examples) the examples take a shortcut and use mailto: URIs as the subjects and objects of foaf:knows relations. The FOAF ontology specifies that the rdfs:domain and rdfs:range of foaf:knows is a foaf:Person [3]. So, while there is a sense in which you are correct in Section 4.2.2 saying that these FOAF expressions are "valid", they certainly are not recommended practice. [3] http://xmlns.com/foaf/0.1/#term_knows The concept foaf:knows has a certain pedagogical suitability for the syntactic features you are trying to show throughout these examples; however, it is also important that the examples not be semantically misleading. Ora and I tried this shortcut in the first RDF specification (confounding John Smith's homepage and the person known as John Smith) and I have come to regret it. A hack fix would be to use URIs of the form http://example.org/person/daniel.brickley@bristol.ac.uk# instead of the mailto: URI. This hack would still require a disclaimer but it avoids propagating an important FOAF usage misconception. Perhaps Dan Brickley might suggest a nicer-looking alternative that doesn't require introducing bnodes except where you really want the bnodes for illustrative reasons. Section 4.2.3 Using xml:id -- corner case; should it be permissable to use an attribute of type xml:id and a nodeID attribute on the same element? If so, this probably means simply that there is an owl:sameAs relationship [4] between the two identifiers. A similar question arises if about and nodeID or an about and this xml:id attribute appear on the same element. [4] http://www.w3.org/TR/owl-ref/#sameAs-def Section 4.2.4.2 Using the [context statements]'s about attribute: I believe there is a typo in the third chunk of XML (the chunk in the Note); it seems to be misssing a property='dc:title' attribute. Or there is some magic here. Section 4.4 Establishing the object: As noted in 5.1.2.1 there is a third way to establish the object of a statement, namely element content. I suggest noting that option in another subsection of 4.4 for completeness. Then there is the question of whether it should be valid to have both a content attribute and element content. It would complicate the XML Schema to disallow both on the same element but the simplest interpretation that occurs to me is that there are two RDF statements with the same subject and predicate for each of the (literal) objects. Not sure if this is useful. -Ralph
Received on Friday, 29 October 2004 04:01:33 UTC