Re: RDFa Vocabularies

On Mon, 2010-01-11 at 23:01 -0500, Manu Sporny wrote:

> http://rdfa.digitalbazaar.com/specs/rdfa-vocab-20100111.html

I'd like to outline an alternative solution. This is mostly based on
ideas I've seen on this list - Mark and Ben's ideas mainly IIRC, though
I could be misattributing them.

1. Introduce a new scoped attribute @default-prefix. Actually you'd
probably want a shorter name, but I'll stick with this now as it's
pretty clear what it does. This would set the default prefix for CURIEs
that contain no colon. (The keywords found in @rel and @rev are not
CURIEs, so it does not affect those.)

So for example:

  <address about="" default-prefix="http://xmlns.com/foaf/0.1/" rev="made">
    <a typeof="Person" rel="homepage" href="http://tobyinkster.co.uk/"
       property="name">Toby Inkster</a>
  </address>

2. Permit but do not require RDFa processors to perform a limited subset
of OWL reasoning on the document, taking into account data from the
document obtained by dereferencing the default-prefix.

Assuming that <doc> is the document graph and <dp> is the default prefix
graph, the suggested reasoning to be carried out can be summed up in
SPARQL as:

 CONSTRUCT { ?subject ?property ?object . }
 WHERE {
   GRAPH <dp>  { ?localalias owl:equivalentProperty ?property . }
   GRAPH <doc> { ?subject ?localalias ?object . }
 }

 CONSTRUCT { ?subject a ?class . }
 WHERE {
   GRAPH <dp>  { ?localalias owl:equivalentClass ?class . }
   GRAPH <doc> { ?subject a ?localalias . }
 }

This covers the use case of people wanting to use vocabs that combine
terms from multiple established vocabularies. They'd simply create their
own mix-and-match vocab using a couple of fairly basic OWL terms to note
equivalences to established ones, and then set that vocab as the default
prefix (perhaps on the root <html> element).

By making the reasoning optional, triples (albeit perhaps less useful
ones) can still be obtained from the document in the case when
default-prefix is not dereferencable (be that because the processor is
running inside a sandboxed environment, or it's running offline, or the
domain name used in the default prefix has lapsed) or cannot be parsed. 

-- 
Toby A Inkster
<mailto:mail@tobyinkster.co.uk>
<http://tobyinkster.co.uk>

Received on Tuesday, 12 January 2010 19:24:34 UTC