Re: an alternative for microformat-like simplicity

Mark Birbeck wrote:
> As Shane says, I think we've lost sight of the issue here. :)

Right. Both Ben and Mark have outlined the current proposals. What we
would like is markup like this:

<span about="#ben" property="name">Ben</span>

to generate the following triple:

<#ben> <http://xmlns.com/foaf/0.1/name> "Ben" .

Here is what each of them look like in their simplest forms (focusing on
the :

Ben's Proposal
------------------------------------------------------------------

Ben's proposal would have us do this (first processing stage):

<span about=#ben profile="http://example.org/vocab#"
      property="name">Ben</span>

   *** NOTE: @profile may not be the attribute we re-use, but that's the
             current candidate -- don't focus on it too much.

which would generate this triple:

<#ben> http://example.org/vocab#name "Ben" .

As far as the RDFa processor is concerned, that's it. The triple above
would be generated by the RDFa parser and stored in a triple store for
processing later on.

The second processing stage (which has nothing to do with the RDFa
processor) would look up the following vocabulary term:

http://example.org/vocab#name

and then detect the following triple in that vocabulary document:

<http://example.org/vocab#name>
   owl:sameAs
      <http://xmlns.com/foaf/0.1/name> .

The application layer would then understand that all ex:name are
equivalent to foaf:name, thus this triple:

<#ben> http://example.org/vocab#name "Ben" .

would be equivalent to this triple:

<#ben> <http://xmlns.com/foaf/0.1/name> "Ben" .

Mark's Proposal
------------------------------------------------------------------

Mark's proposal supports an alternative that looks like Ben's proposal
(on the surface, at least -- note the missing "#" at the end of the
@profile value):

<span about=#mark profile="http://example.org/vocab"
      property="name">Mark</span>

The RDFa processor would:

1. Detect the @profile attribute on the SPAN element.
2. Fetch the external document specified in @profile.
3. Extract token mapping triples from that document via RDFa - we could
   re-use owl:sameAs or the new @token proposal.
4. Continue processing the document subtree using the newly loaded token
   mappings in addition to the token mappings the parser had already
   loaded.

The end result, would be the following triple:

<#mark> <http://xmlns.com/foaf/0.1/name> "Mark" .

-------------------------------------------------------

Things of importance regarding Ben's proposal:

1. The RDFa processor doesn't have to support loading external
   documents in any way. The heavy lifting is passed on to the
   application layer.
2. We must change the way CURIEs are processed.
3. Mis-use of @profile could result in spurious triples:
      <div profile="http://example.org/vocab#">
         <span property="foo">bar</span>
      </div>
   would result in:
      <> <http://example.org/vocab#foo> "bar" .
   even if there is no definition for <http://example.org/vocab#foo> in
   the vocabulary document.

Things of importance regarding Mark's proposal:

1. The RDFa processor suddenly has to support loading external
   documents. The heavy lifting is done at the processor layer, not
   the application layer.
2. We must change the way CURIEs are processed.
3. Mis-use of @profile does not result in spurious triples.

What did I miss?

-- manu

-- 
Manu Sporny (skype: msporny, twitter: manusporny)
President/CEO - Digital Bazaar, Inc.
blog: Bitmunk 3.1 Released - Browser-based P2P Commerce
http://blog.digitalbazaar.com/2009/06/29/browser-based-p2p-commerce/

Received on Wednesday, 29 July 2009 04:15:31 UTC