Re: RDFa Vocabularies

Hi Masahide,

> I wonder it's not very good idea to use RDF in order to map shorthand
> names to global terms, because it will add useless annotations to the
> terms. For example, if http://example.org/vocab contains a triple
>
> <http://xmlns.com/foaf/0.1/name> rdfa:term "name" .
>
> then this will add an extra description to FOAF vocabulary. Of course
> anyone can say anything on the Web, but probably it's not a good
> practice to tweak someone else's vocabulary on the global space, IMHO.

> I guess some local mapping mechanisms, e.g. JSON, would be better in
> this case, and might be easier to process ?

I agree, and think that whatever architecture we create, it *must* be
able to cope with a JSON format for the token mappings, even if other
formats are also provided.

I'll explain.

A related technique is the 'context' object that I use in RDFj [1]. A
full example of RDFj looks something like this:

  {
    "context": {
      "base": "<http://example.org/about>",
      "token": {
        "title": "http://xmlns.com/foaf/0.1/title",
        "maker": "http://xmlns.com/foaf/0.1/maker",
        "name": "http://xmlns.com/foaf/0.1/name",
        "homepage": "http://xmlns.com/foaf/0.1/homepage"
      }
    },
    "$": "<>",
      "title": "Anna's Homepage",
      "maker": {
        "name": "Anna Wilder",
        "homepage": "<>"
      }
  }

The idea is that although the JSON object can be used directly in
applications, e.g.:

  if (obj.name === "Anna Wilder") {
    ...
  }

it should also be possible to interpret this object as a set of RDF
triples. The context object is what makes it possible to interpret the
data in this way.

I've shown the context object as part of the data here, but my
thinking is that it should also be possible to load this context
object separately from the actual data (perhaps via a separate service
request).

So although RDFj is not the issue here, you can see that once you
allow this context object to exist independently of the data that it
is used with, it also becomes clear that this context object is no
different to the vocab that we need for RDFa.

Note that this is much the same as using @prefix in N3; it's important
to have a non-triple way to express data that is used to decode
triples.

Regards,

Mark

[1] <http://code.google.com/p/backplanejs/wiki/Rdfj>

Received on Wednesday, 13 January 2010 10:14:05 UTC