FOAF increasingly gets lumped with this Social Networking thing. When we first started the FOAF project, a few years back, the big social networking site was Six Degrees. Last year the big social networking site was Friendster. Last week it was Orkut. Who knows what it'll be in 6 months time. The driving ethic behind FOAF and a lot of this Semantic Web work is this sense that people want their data back, that they want control of their data, they want to be able to migrate it between hosting sites, to be able to host it themselves...
- danbri, fear of a foaf planet, ETech 2004
So just as I was winding down a couple of hours ago I ran across danbri in IRC. He was doing some final bits of unenviable admin migrating from CVS to SVN for the FOAF spec and Wiki (he's also taken the Wiki from Moin to MediaWiki, and if anyone's got a minute or two spare it would benefit from gardening). He prompted me to take the top thing off my todo list, which happened to be...
Here's the sample from the OpenSocial People Data API Reference Guide (the stuff I was bemoaning earlier):
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005'>
<id>http://sandbox.orkut.com:80/feeds/people/14358878523263729569</id>
<updated>2007-10-28T14:01:29.948-07:00</updated>
<title>Elizabeth Bennet</title>
<link rel='thumbnail' type='image/*' xhref='http://img1.orkut.com/images/small/1193601584/115566312.jpg'/>
<link rel='alternate' type='text/html' xhref='http://orkut.com/Profile.aspx?uid=17583631990196664929'/>
<link rel='self' type='application/atom+xml' xhref='http://sandbox.orkut.com:80/feeds/people/14358878523263729569'/>
<georss:where>
<gml:Point xmlns:gml='http://www.opengis.net/gml'>
<gml:pos>51.668674 -0.066235</gml:pos>
</gml:Point>
</georss:where>
<gd:extendedProperty name='lang' value='en-US'/>
<gd:postalAddress/>
</entry>
Here's opensocial2foaf.xsl, and here's the result ( sans the <rdf:RDF> and a lot of namespaces):
<Person>
<primaryTopicOf rdf:resource="http://sandbox.orkut.com:80/feeds/people/14358878523263729569"/>
<dc:modified>2007-10-28T14:01:29.948-07:00</dc:modified>
<name>Elizabeth Bennet</name>
<depiction>
<Image>
<thumbnail rdf:resource="http://img1.orkut.com/images/small/1193601584/115566312.jpg"/>
</Image>
</depiction>
<dc:related rdf:resource="http://orkut.com/Profile.aspx?uid=17583631990196664929"/>
<dc:source rdf:resource="http://sandbox.orkut.com:80/feeds/people/14358878523263729569"/>
<based_near>
<gml:Point xmlns="http://www.w3.org/2005/Atom">
<gml:pos>51.668674 -0.066235</gml:pos>
</gml:Point>
</based_near>
</Person>
I can't face the twiddliness of gd:extendedProperty just now, or figuring out the contents of gd:postalAddress (there are Relax NG schemas - good move - but it's too Friday here now). Could also be more to do when the stuff's actually released. But so far it seems ok according to the validator (might have to copy & paste people.rdf - for some reason the URI works on the other machine but not this one).
Have to see if any of the Google folks will be up for GRDDLness in the namespace docs ( discretely not mentioning their reuse of the Atom namespace terms...), and there's also getting OpenSocial format data from RDF - SPARQL+XSLT being the obvious way. I've not read the docs fully and am not actually a widgetarian, but it seems an obvious idea to get the Talis Platform set up as a container.
Here's Rome:
See also: The Future of Social Networks on the Internet: The Need for Semantics, Reminder: Why We Need Linked Data!Â
Â
Â
@en