@about/@instanceof discussion

We currently have 16 test cases "On Hold". It shouldn't take much to
resolve half of them to "Approved"... perhaps, I'm being a bit optimistic :)

Tests #46, #47, #48, and #51 could be resolved if we could come to an
agreement on whether @instanceof and @about is applied to the current
node, or only to sub-nodes.

Tests #39, #40, #42, #43, #44, and #45 would be resolved as well if we
came to an agreement on whether @about is applied to the current node or
only to sub-nodes.

In other words, it looks like we have 10 test cases that are being held
up by this one decision.

In an attempt to resolve these issues, perhaps this approach might be of
use:

PROPOSAL:

@instanceof and @about are always applied to the current node first and
then to sub-nodes.

REASONING:

When writing XHTML, attributes are always applied to the current node
and then to sub-nodes. That is why there are attributes on the current
element, and not separate elements contained within the current element.
For example:

<p id="first-paragraph">
   <img id="big-o-image" src="bigO.png" alt="O" />nce upon a time...
</p>

Pay specific attention to @alt in the IMG element. @alt is an alternate
to the image and is applied to the IMG element. That is, if there is no
innerXHTML the default is to apply the attribute to the current element.

As far as I know, this rule holds for all XHTML. While it is true that
the attribute also applies to the child nodes, that is irrelevant as we
already have that rule in RDFa.

So what happens when a publisher wants to do the following with the
current rules:

<img about="#michael" instanceof="foaf:Person"
     rel="foaf:img" src="http://sw-app.org/img/mic_2007_01.jpg" />

With the current processing rules, the following triple is generated:

<#michael> foaf:img <"http://sw-app.org/img/mic_2007_01.jpg">.

but this triple is never generated (and I assert that it should be!):

<#michael> a foaf:Person.

However, if we look at Test Cases #52 and #53, we've already sort-of
made the decision to have @resource apply to the current node when
co-existing with @instanceof. I realize that this isn't exactly right,
but we can say that because it is irrelevant to the XHTML syntax (note I
said syntax, not processing rules). That, to me, says that we could do
the same for @about.

To put it another way, when every RDFa attribute is on the same element,
they are processed in this order (and in this order of precedence):

1. @about       [Set the Subject]
2. @instanceof  [Set the Subject Type]
3. @rel/@rev    [Set the Predicate]
4. @property    [Set the Predicate]
5. @resource    [Set the Object or Subject if there is no active @about]
6. @href        [Set the Object]
7. @src         [Set the Object]
8. @content     [Set the Object]
9. @datatype    [Set the Object Data Type]

I went through quite a number of the test cases and this approach seems
to work for the currently approved test cases as well as the On Hold
test cases. For a publisher, it would be simple to remember this order
of processing. Am I missing something basic?

Could we spend some time addressing this issue on the telecon today?

-- manu

-- 
Manu Sporny
President/CEO - Digital Bazaar, Inc.
blog: Bitmunk Launches World's First Open Music Recommendation Service
http://blog.digitalbazaar.com/2007/09/09/bitmunk-music-recommendation/

Received on Thursday, 1 November 2007 04:33:11 UTC