Ivan Herman wrote:
> Bottomline: would it be possible for those of us who are newbies in the
> group to summarize what would be your proposal at this moment to solve
> the @instanceof deadlock? So that we could compare the two and make a
> decision?
Ivan, if I understood Mark's set of arguments correctly, he was
detailing the same basic set of issues that I have with Ben's proposal.
Mark's arguments are far more in-depth and well thought out than what I
had stated over a week ago, and address additional issues with Ben's
proposal that I had not realized.
I believe Mark's proposal and the one I made a week ago are the same:
@instanceof applies to the current element it is defined on.
Ben's proposal is essentially:
@instanceof applies to the chaining node.
These are Ben's rules:
1) @about [set the subject]
2) @rel [set one or more predicates]
3) @rev [set one or more reverse predicates]
4) @property [set one or more literal-object predicates]
5) @resource/@href/@src [set object for @rel, subj for @rev]
6) @content [set object for @property]
7) @datatype [set datatype of object for @property]
8) The URI object becomes the CHAINING NODE, which becomes the inherited
subject for all contained elements.
9) @instanceof [sets the type of the CHAINING NODE]
These are roughly Mark (please correct me if I'm wrong, Mark) and my rules:
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 none]
6. @href [Set the Object or Subject if there is none]
7. @src [Set the Object or Subject if there is none]
8. @content [Set the Object or Subject if there is none]
9. @datatype [Set the Object Data Type]
It is important to note that both sets of rules work better for certain
use cases than others.
The reason we're having such a hard time with this is because we don't
agree on which use cases are going to be more common or important than
others. Really, none of us can say a particular use case is going to be
more prevalent than another because people don't mark up semantic data
on their web pages yet... we don't have enough prior art to go on, thus
we're playing a guessing game where each approach can pick examples to
prove its point.
Ben's approach is best if "Ivan knows a person, that knows a person
named Ralph" is a more important use case than the "Keep it simple and
easy to understand" and "Allow cut-and-paste - don't flip/flop
semantics based on the existence of certain properties".
If we can't agree on which use cases are more important than the others,
then we'll have to fall back to something we do agree on:
Simplicity and ease of understanding.
I think Mark and my approach fit that basic philosophy, if only slightly
better than Ben's approach. In the end, I don't think it is going to
matter that much. People are going to be using RDFa authoring tools to
write this stuff for them, anyway.
-- manu
--
Manu Sporny
President/CEO - Digital Bazaar, Inc.
blog: Over One Million Songs Available on Bitmunk
http://blog.digitalbazaar.com/2007/10/29/one-million-songs-on-bitmunk/