Additional Examples for RDF/A Primer

Hello all,

We are in the process of adding some more examples to the RDF/A primer. For
anyone interested, the attached primer is exactly the same as the current
draft, but inserts a section at the beginning that shows a home-page being
used as an individual's FoaF page, and then gradually adds more data. (In
other words, the rest of the document is unchanged from the currently
published draft.)

The goal of these additional examples is to provide a very basic
introduction for new users, and so help someone who might know a little HTML
to create something like their own FoaF page. However, some tricky things do
emerge when trying to use FoaF to represent contact information at a simple
level.

The most difficult issue is that FoaF does not allow a person to be a
document...which is understandable, but raises the entry level to RDF/A for
a new user just that bit too high. (I'm making the assumption that the first
use that most non-RDF people would have for this would be to tag up their
blog, yet currently to use FoaF they would have to create an anonymous node
to make the distinction between the foaf:Person and a foaf:Document.)

For now I have got round this by not actually putting information about a
home-page into the FoaF file. This means that a 'realistic' first document
for a new RDF/A user can be something as simple as this (this is from the
attached document):

  <html xmlns:foaf="http://xmlns.com/foaf/0.1/">
    <head>
      <title>Jo Lamda's Home Page</title>
    </head>
    <body>
      <p>
        Hello. This is <span property="foaf:name">Jo Lamda</span>'s
        home page.
        <h2>Work</h2>
        If you want to contact me at work, you can
        either <a rel="foaf:mbox" href="mailto:jo.lambda@example.org">email
        me</a>, or call <span property="foaf:phone">+1 777 888 9999</span>.
      </p>
    </body>
  </html>

(Jo is Joe Lamda's sister...)

The 'home-pageness' of this page is provided externally, and comes when a
colleague of Jo's adds a reference to the home page to her contact
management system. Interestingly all the colleague has to do is create a new
entry in her contacts list, and set the home-page field to
'http://jo-lamda.blogspot.com/'. The software will then dutifully record
that 'some object' has a FoaF home-page at that URL:

  [
    foaf:homepage <http://jo-lamda.blogspot.com/>
  ] .

The software now has a completely empty contact card, bar this one field,
but the good news is that it is set to periodically retrieve the home-page
from that URL, to check if there is any more data that it can glean. Since
the software understands RDF/A, it will proceed to add the triples that it
understands. It therefore ends up with the following:

  [
    foaf:name "Jo Lamda";
    foaf:mbox "mailto:jo.lambda@example.org";
    foaf:phone "+1 777 888 9999";
    foaf:homepage <http://jo-lamda.blogspot.com/>
  ] .

Personally, I think this is acceptable (assuming I've got my syntax right),
since in this triple-store there is no conflict between the URL of the
home-page, and the identifier of the object that owns that home-page (which
incidentally is *not* a foaf:Person at this point).

The attached primer extends this example to include a company department
page with a list of departmental members. I plan to develop this further,
and add a family event to Jo's home-page with some pictures of the
event...which will hopefully segue nicely into Ben's existing scenarios.

I'm hoping this starts to show how we might make use of all this stuff, so
any comments gratefully received, particularly on the way that FoaF is being
used.

Regards,

Mark


Mark Birbeck
CEO
x-port.net Ltd.

e: Mark.Birbeck@x-port.net
t: +44 (0) 20 7689 9232
b: http://internet-apps.blogspot.com/
w: http://www.formsPlayer.com/

Download our XForms processor from
http://www.formsPlayer.com/

Received on Thursday, 12 January 2006 22:57:52 UTC