W3C home > Mailing lists > Public > public-rdfa-wg@w3.org > March 2010

Re: Another way other than @profile, @vocab or @map

From: Mark Birbeck <mark.birbeck@webbackplane.com>
Date: Tue, 16 Mar 2010 23:42:04 +0000
Message-ID: <640dd5061003161642g6b853bfft605ff15813286608@mail.gmail.com>
To: martin@weborganics.co.uk
Cc: Toby Inkster <tai@g5n.co.uk>, RDFa WG <public-rdfa-wg@w3.org>
Hi Martin,

> I like it Toby, allowing @typeof to accept a full uri is a lot better than
> my idea and easy to use in RDFa and very little extra cost for parsing,
> +1 from me on that one too ;)

Recent drafts of RDFa support the ability to use URIs and CURIEs
interchangeably in the RDFa attributes, so we can actually do this

However, I don't think it's such a great idea to go from the setting
of a 'type', to (a) importing predefined tokens (Hixie's approach) or
(b) declaring namespace prefixes (Toby's approach).

It's a bit of a leap, I think.

There are a number of reasons I say this, but most significant is that
it's increasingly common to use types from one vocabulary with
predicates from another. In other words, it's less and less common
that just by knowing the prefix, you know the origin of all of the

For example, in some work I was involved in, on government
consultations, we defined a consultation as:

  a foaf:Document that has a dc:type of arg:Consultation

In other words:

  _:a a foaf:Document .
  _:a dc:type arg:Consultation .

Similarly, we defined a job vacancy as:

  _:a a foaf:Document .
  _:a dc:type arg:Vacancy .

(Note that this is a vacancy in the sense of an advert, not the job itself.)

And in another project we defined a research document as:

  _:a a foaf:Document .
  _:a dc:type arg:Research .

As you can see, knowing that the prefix for the type is 'foaf' tells
you nothing about the origin of any other predicates.

With Toby's solution we'd still have to define prefixes for 'dc' and
'arg' so that we could express the other values, and with Hixie's
solution we'd have to magically import every possible property when we
saw the 'foaf:Document' URI, or we only import one set of
properties...but which set?.

With profiles on the other hand, we can declare the particular profile
that we're interested in, and then just do this:

  <div typeof="Document" rel="type" resource="Research">

All we're doing is loading the profile that the author has asked for,
and therefore the mappings that they want. We haven't done any 'magic'
behind the scenes, to try to deduce which tokens they want, form a
limited piece of information.



Mark Birbeck, webBackplane



webBackplane is a trading name of Backplane Ltd. (company number
05972288, registered office: 2nd Floor, 69/85 Tabernacle Street,
London, EC2A 4RR)
Received on Tuesday, 16 March 2010 23:42:45 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:05:17 UTC