Facebook, the home of profiles for People, Comments, Groups, Pages, Games and Interests. It has traditionally been a very closed wall system with only the ability to link internally (i.e. Many Facebook People Profiles link to a Facebook Group Profile), or link outward (i.e. this Person gave this comment about this website).

However, this is slowly changing, we now see:

  • “Facebook Like” buttons on websites around the web, allowing a Facebook user to easily say that they like a page.
  • “Facebook Comments” on websites rather than being only within Facebook itself. For instance, the commenting system on Techcrunch.com is provided by the Facebook Comments system.
  • The Social Graph API allowing developers to use the proprietary schema built using the JSON language. This effectively, using a few mappings, allows people to link into the Facebook system - and potentially grab the data (for data portability, or query purposes)

You see that all this Facebook data is starting to whirl around the world-wide-web in an increasingly “open” fashion. So we should start using it for our own good, and not just for the good of the Facebook Corporatation.

So how can we do this? The first way is to see what you can do with the new RDF/Turtle API interface that Facebook has developed. If you have curl installed then you’ll be able to do this:

curl -L -H ‘Accept: text/turtle’ graph.facebook.com/danieljohnlewis

Which returns the results:

@prefix rdf: <https://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <https://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <https://www.w3.org/2002/07/owl#> .
@prefix xsd: <https://www.w3.org/2001/XMLSchema#> .
@prefix api: <tag:graph.facebook.com,2011:/> .
@prefix og: <https://ogp.me/ns#> .
@prefix fb: <https://ogp.me/ns/fb#> .
@prefix : <https://graph.facebook.com/schema/~/> .
@prefix user: <https://graph.facebook.com/schema/user#> .
</277003772#>
user:id "277003772" ;
user:name "Daniel Lewis" ;
user:first_name "Daniel" ;
user:last_name "Lewis" ;
user:link <https://www.facebook.com/danieljohnlewis> ;
user:username "danieljohnlewis" ;
user:gender "male" ;
user:locale "en_GB" .

There are of course other things you can do and “grab” once you’ve used authentication etc. I should also point out that neither the RDF/Turtle format nor the RDF framework is not actually required for “Linked Data”, it is only really the use of URIs/IRIs as dereference-able object identifiers.

However, this is all very developer centric, and wouldn’t make much sense to the average user. So why not plug the Linked Data from Facebook into a Data Exploration engine such as the Virtuoso Description Page view, see my version here:
https://linkeddata.uriburner.com/about/html/http/www.facebook.com/danieljohnlewis

For more information about exploring a Facebook Person Profile using Virtuoso and OpenLink Data Explorer see the documentation: https://ode.openlinksw.com/FacebookPersonProfile.html

In conclusion Facebook, which traditionally has been a data silo is becoming a linkable data set. This is a good thing, granted Facebook does still have many rough edges (particularly regarding privacy/security issues) but hopefully we will see more of a progression into a truly Distributed/Decentralised Data-orientated Web. Facebooks progression into “opening up”, should be a call to many other data-silo/walled-garden type data services to better Facebook by becoming truly user-friendly systems, by opening up their data which is rightfully owned by their users.

[UPDATE - Highly recommend you read the following]

On 30th September my good friend Kingsley Idehen summarised “Facebook and Linked Data” in a wonderfully understandable Google+ Post (available here: https://plus.google.com/112399767740508618350/posts/6cqa1Sxk5KV (last accessed: 13th October 2011 at about 3:30pm BST)). Kingsley highlights how Facebook has given the Linked Data Web a bit of an evolutionary bump, using its Graph URIs and accessibility functions.

I would very highly recommend reading through Kingsleys post, as it seems to make a lot more sense than my own quickly made “quick post” from earlier on.

[/UPDATE]