POWDER, RDFa, and the Open Graph Protocol

Dear all,

Many of you are probably aware that, in April 2010, Facebook announced
the adoption of an RDFa-based technology, namely, the Open Graph
Protocol (OGP) [1,2], thanks to which FB users can integrate into
their so-called "social graph" Web pages representing (quoting from
[1]) "profiles of real-world things." It is worth noting that the
Social Web XG [3] at W3C gave a relevant contribution in the design of
this technology (see threads [4,5] in SWXG's mailing list).

The "protocol" adopted by FB to support such feature is described in
[1], and most of the details are not relevant here, except one, i.e.,
the use of RDFa to describe a whole Web page / site (I remind that
RDFa [6] specifies how to embed RDF statements in XHTML by using
attributes). In particular, the idea is to specify a set of
descriptors applying to a Web page / site by using the META XHTML
element.

You can see here an example of XHTML code (which I have copied and
pasted from [1]) embedding a set of OGP properties:

<html xmlns:og="http://opengraphprotocol.org/schema/"
      xmlns:fb="http://www.facebook.com/2008/fbml">
  <head>
    <title>The Rock (1996)</title>
    <meta property="og:title" content="The Rock"/>
    <meta property="og:type" content="movie"/>
    <meta property="og:url" content="http://www.imdb.com/title/tt0117500/"/>
    <meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/>
    ...
  </head>
  ...
</html>

In the example, the lines

    <meta property="og:title" content="The Rock"/>
    <meta property="og:type" content="movie"/>
    <meta property="og:url" content="http://www.imdb.com/title/tt0117500/"/>
    <meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/>

are saying that the current Web page corresponds to a movie (og:type)
titled "The Rock", whose "canonical" URL is
http://www.imdb.com/title/tt0117500/, and whose logo/icon is available
at http://ia.media-imdb.com/rock.jpg.

Now, since POWDER has been specifically designed to describe sets of
resources (as those of a website), OGP might be a good example of how
POWDER can be used effectively.

Suppose that you manage a huge website, like www.imdb.com. Associating
different RDFa snippets for each page of the site is clearly a costly
task, which might also lead to inconsistencies. Suppose now that we
use POWDER to describe the pages hosted by www.imdb.com, and that we
have a tool able to (a) generate RDFa snippets based on the POWDER
description resources describing those pages, and (b) include such
snippets in their XHTML HEAD. Thanks to this, the administrator will
have to update a few POWDER documents (possibly, just one), and such
tool will automatically generate up to date RDFa snippets for all the
pages hosted by www.imdb.com.

Note that this does not require much effort to be implemented.
According to the POWDER specifications, POWDER processors [7] are in
charge of generating an RDF description of a resource based on the
POWDER docs associated with it. Such RDF output can be easily
converted into a set of XHTML META tags as those in the example above.

Based on these considerations, I've extended 3P [8] (one of the
existing POWDER processors) in order to make it able to convert an
RDF/XML document into an RDFa snippet, and to return it. Such snippet
can be retrieved by submitting an HTTP request concerning a URL of the
type:

  http://dawsec.dicom.uninsubria.it/andrea/ppp/http/?u=WEB_PAGE_URL&format=rdfa

and can then be included into the HEAD of the relevant page. A simple
server-side script in Perl, PHP, JSP, etc. can easily do the job.

More details on 3P and RDFa support, as well as working examples, are
available at [9].

I don't know what you think about this, but I am pretty confident that
the RDFa/OGP use case I've described is a good example of how POWDER
can be effectively deployed, and of how it can address issues which
have currently become even more important then in the past because of
the widespread success of Social Web technologies and services. I
mean: metadata provenance, accountability, trust, etc. Based on this,
I think it would be good to create links between POWDER and groups
working in the area of the Social and Semantic Web - to start, I'll
send an email to the SWXG [3] and to the OGP Google group [10].

Looking forward to reading your comments,

Kind regards,

Andrea

----
[1]http://developers.facebook.com/docs/opengraph
[2]http://opengraphprotocol.org/
[3]http://www.w3.org/2005/Incubator/socialweb/
[4]http://lists.w3.org/Archives/Public/public-xg-socialweb/2010Apr/0018.html
[5]http://lists.w3.org/Archives/Public/public-xg-socialweb/2010Apr/0051.html
[6]http://www.w3.org/TR/rdfa-core/
[7]http://www.w3.org/TR/powder-dr/#powderprocessor
[8]http://dawsec.dicom.uninsubria.it/andrea/ppp/
[9]http://dawsec.dicom.uninsubria.it/andrea/ppp/#sec-powder_and_rdfa
[10]http://groups.google.com/group/open-graph-protocol

Received on Friday, 2 July 2010 15:54:09 UTC