an alternative for microformat-like simplicity

Hi folks,

On the call today, we continued discussion of Mark's @token and @profile
proposals:

http://webbackplane.com/mark-birbeck/blog/2009/04/30/tokenising-the-semantic-web

I brought up some concerns about the @profile portion of the proposal,
specifically that:

- this is a vocabulary bundling issue that's being handled at the
parsing level

- we already have vocabulary mapping features in the RDF/OWL processing
layer.


Here's my proposed alternative: use RDF/OWL for vocabulary mappings, and
add to RDFa only the ability to declare a default prefix.

Markup in the page:

<div about="#me" prefix="http://myvocab.org/#">
  My name is <span property="name">Ben Adida</span>

  and my email is

  <a rel="email" href="mailto:ben@adida.net">
    ben@adida.net
  </a>
</div>


Vocabulary Definition at http://ben.adida.net/vocab, using RDFa:

<div about="#name" typeof="rdf:Property">
    <h4 property="rdfs:label">name</h4>,
    which corresponds to
    <a rel="owl:sameAs"
       href="http://xmlns.com/foaf/0.1/name">
         foaf:name
    </a>.
</div>

<div about="#email" typeof="rdf:Property">
    <h4 property="rdfs:label">email</h4>,
    which corresponds to
    <a rel="owl:sameAs"
       href="http://rdfs.org/sioc/ns#email">
         sioc:email
    </a>.
</div>


Thus, an RDFa parser would, without dereferencing anything, be able to
generate the following triples:

<#me> <http://myvocab.org/#name> "Ben Adida" .
<#me> <http://myvocab.org/#email> <mailto:ben@adida.net> .

which, through RDF/OWL sameAs inference (only sameAs is needed, nothing
more), would be equivalent to the foaf:name and sioc:email properties.

The core idea here is that, since this is all about vocabulary mapping
independent of the syntax (RDFa, RDF/XML, etc...), then let's use
existing RDF mechanisms.

There are some edge cases to consider:

- what does rel="license" resolve to when @prefix is set? I think the
reserved keywords should trump all, but it's worth a debate.

- what does rel="foobar" resolve to? I think if you've declared @prefix,
then it is no longer ignored and there should be a foobar property
within that vocabulary, but if there isn't then it's just a dead triple,
very little harm in that.

-Ben

Received on Thursday, 16 July 2009 17:04:34 UTC