comments on http://www.w3.org/TR/2008/CR-rdfa-syntax-20080612

Find below my review of this CR. It is possible that I have  
misunderstood elements of the specification, in which case I would be  
grateful for corrections. Please note that this is not an exhaustive  
review, but rather a selection of items that caught my attention.

--

In section 2.2, the examples of syntax, the interaction between the  
domain of properties and the parent subject is confusing. Specifically:

<html
   xmlns="http://www.w3.org/1999/xhtml"
   xmlns:foaf="http://xmlns.com/foaf/0.1/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   >
   <head>
     <title>My home-page</title>
     <meta property="dc:creator" content="Mark Birbeck" />
     <link rel="foaf:workplaceHomepage" href="http:// 
www.formsPlayer.com/" />
   </head>
   <body>...</body>
</html>

Here we have

<> dc:creator "Mark Birbeck"
<> foaf:workplaceHomepage <http://www.formsPlayer.com/>

The domain of foaf:workplaceHomepage is a foaf:Person. The first  
statement says that <> is a foaf:Person. The second statement says  
that that person is created by Mark Birbeck. The Title suggests that  
<> is a web page ("My home-page").

In the following example we have a similar situation. The title  
suggests that the URI denotes a blog. However, the domain of  
cal:summary is  UnionOf(Vevent Vtodo Vjournal Valarm). While <> might  
conceivable denote a an instance of Vjournal, the title suggests that  
<> is the blog, rather than a specific entry in the blog. However,  
the intent seems to be that the subject is a Vevent (as indicated by  
a later example using <p typeof="cal:Vevent">, and the subject seems  
to be simply absent. (I separately note that the http://www.w3.org/ 
2002/12/cal/ical# has harmless, but perhaps confusing, duplicate  
elements in the domain of cal:summary and other properties)

<html
   xmlns="http://www.w3.org/1999/xhtml"
   xmlns:cal="http://www.w3.org/2002/12/cal/ical#"
   >
   <head><title>Jo's Friends and Family Blog</title></head>
   <body>
     <p>
       I'm holding
       <span property="cal:summary">
         one last summer Barbecue
       </span>,
       on September 16th at 4pm.
     </p>
   </body>
</html>

The subsequent example, with
    <span property="cal:dtstart" content="20070916T1600-0500"
             datatype="xsd:datetime">
         September 16th at 4pm
       </span>.
has the same issue.

The example using typeof either explicitly states the subject is a  
Vevent (However, see below comments re:typeof - Is this the type of  
the document? or is the subject a new blank node?) . This clashes,  
then, with the title. Strictly speaking, it is also redundant, given  
that this can be inferred from the domain of cal:summary. Perhaps the  
remedy is to change the title to make it clear that the subject is a  
Vevent. *OR* it emphasizes the fact that the previous subjects have  
no subject.

Some explanation of how the use of html to represent a Vevent is to  
be understood as compared to a situation of content negotiation,  
where a document of mime type text/calendar might also be expected to  
be available at the same URI, making it perhaps more clear that the  
URI must denote a calendar event.

The next example says "The metadata features available in XHTML only  
allow information to be expressed about the document itself. RDFa  
provides a means of referring to other documents and resources"

  <span about="urn:ISBN:1596913614" typeof="biblio:book">
       autobiography
</span>.

Here there is a question of what "referring" to means. What refers to  
what? Should we not have a triple of the sort:
<> referes_to <....> if reference is intended? What makes the about  
here different from an href? Is there a missing @property here?

In addition, the directedness of the <span> element seems to me to  
further confuse matters. Consider two common cases of the use of  
<span> in html - to <span class="foo">element</span> or <span  
style="font-size:20">element</span>

In these cases the relationship is such that the span says something  
about element - the style or the class - element is the object of an  
implicit statement. However, in the case of autobiography,  
"autobiography" is either a label of urn:ISBN:1596913614, or  
"autobiography" refers to urn:ISBN:1596913614.

So we have a situation in which no clear reference (as manifested as  
a triple) is present, and yet in which "autobiography" seems possible  
to be both the subject and object of some reference.

A  later example, which has no text is enclosed by the span, seems to  
deny either case.

<div about="http://dbpedia.org/resource/Albert_Einstein"  
rel="dbp:citizenship">
   <span about="http://dbpedia.org/resource/Germany" />
   <span about="http://dbpedia.org/resource/United_States" />
</div>

--

The documentation of typeof is confusing. First we have:

@typeof a whitespace separated list of CURIEs that indicate the RDF  
type(s) to associate with the subject

This suggests that typeof simply adds information about an existing  
subject.

However later:

@typeof is unique in that it sets both a predicate and an object at  
the same time.

And , in the processing section we have

if @typeof is present, obtained according to the section on CURIE and  
URI Processing, then [new subject] is set to be a newly created [bnode];

In this case the typeof seems to create a *new* subject (the blank node)

--

Step 9 "The next step of the iteration is to establish any [current  
object literal];"

In the case that "or there are no child nodes", what plain literal is  
the current object literal? ""?

--

6.1.1.5.2. Using an implicit object

I am confused about which processing model is normative. It would  
seem that these rules should be considered part of "Completing  
'incomplete triples' "  or better, in the processing model. Moreover  
this section is consider a subsection of the section called 6.1.1.5.  
Inheriting a subject. Or why not under 6.3 (Object resolution). It  
was not clear to me whether this case (and some others) were even  
covered in the processing model. In this case the question is: what  
exactly is meant by "processing model"?

Generally I would prefer to see one section (5) be considered  
normative and complete, and other sections (6 in particular) be  
informative. Otherwise the reader is confused about how to thread  
together a processing model out of the various pieces that are offered.

I should say that I am confused about how to know when <div>  
introduces a new blank node, and when it doesn't.

--

Section 7 Curie Syntax Definition.

Why do we have a normative section on CURIES in this document rather  
than a reference to http://www.w3.org/TR/curie/ ?

Having duplicate normative sections in different documents is a  
recipe for confusion and a magnet for desynchronization.

---

Section 9.3. @rel/@rev attribute values

Why do we have a normative section here rather than referring to  
http://www.w3.org/TR/xhtml-modularization/


Alan Ruttenberg
http://sciencecommons.org/about/whoweare/ruttenberg/

Received on Friday, 13 June 2008 08:29:32 UTC