W3C home > Mailing lists > Public > public-rdf-in-xhtml-tf@w3.org > October 2004

Comments on RDF/A draft

From: Ralph R. Swick <swick@w3.org>
Date: Thu, 28 Oct 2004 23:58:19 -0400
Message-Id: <>
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.


(or ...#p if you think that looks better) rather than just


[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 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 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.

Received on Friday, 29 October 2004 04:01:33 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:14:59 GMT