Exploring FOAF Semantics in Del.icio.us
FOAF is an ontology for publishing and discovering social network information on the Web. Though many people have published their FOAF profiles on the Web, but that number is still quite small — in comparison to the number of published MySpace profiles.
While tools like FOAF-a-matic has made easy for the average web users to generate FOAF profiles, but they still require some manual effort to get the profiles published (e.g., a user must complete the form and upload the machine generated RDF document onto a web server). I suspect these overheads are discourage factors that had prevented many users to publish their FOAF profiles.
If FOAF profiles are valuable to the understanding of social network on the Web, we should look for new ways to discover FOAF semantics in the existing web applications, and not depend on the manual publishing of FOAF profiles by the users.
I have this idea of using FOAF predicates as tags in Del.icio.us. For example, if I want to express “harrychen foaf:knows timfinin”, I would bookmark Tim Finin’s homepage on Del.icio.us, and tag it with “foaf:knows”. If want to express “harrychen foaf:workplaceHomepage http://www.imagem.cc”, I would bookmark Image Matters LLC’s homepage, and tag it with “foaf:workplaceHomepage”.
So how do you discover my FOAF information on Del.icio.us? It’s quite simple.
If you want to know the group of people that Harry Chen knows, go to
http://del.icio.us/hchen1/foaf:knows
If you want to know where I work, go to
http://del.icio.us/hchen1/foaf:workplaceHomepage
If you want to know where I have studied, go to
http://del.icio.us/hchen1/foaf:schoolHomepage
Now, if someone wants to develop a software agent that can automatically discover my social network information, he/she can exploit the web service API of Del.icio.us. The following is a draft of the program implementation:
- Execute “api/tags/get” to get a list of Del.icio.us tags, and filter on tags with “foaf:” prefix.
- Assume that the agent wants to find out the group of people that Harry Chen knows, execute “api/posts/get” and filter on “foaf:knows”
I think it’s quite feasible to add some logical inference to the program. For example, let’s say my friend Filip Perich has also bookmarked Tim Finin on Del.icio.us and tagged Tim’s homepage with “foaf:knows“. When the agent discovers both Harry Chen and Filip Perich “foaf:knows” Tim Finin, the agent can infer Filip Perich is in the social network of Harry Chen.
What do you think?























Is it okay if I steal this for my own project (accumulist.com)? I like the idea very much. I will work on this tomorrow, and add an FOAF ability to the inputs. I worked on doing RDF output, then gave up, but you’ve inspired me to get back to work on it.
Comment by Lawrence Krubner — April 9, 2006 @ 10:00 pm
Very interesting idea. I’ve started tagging up my delicious links this way. I think I’ll write a FOAF scuttering agent to follow such links
Comment by Chimezie — April 9, 2006 @ 10:13 pm
As far as I can see, the delicious API only gets you information for users you know the login information for. That would severely limit my ability to discover social connections, wouldn’t it?
Do you know if there is a way to get at tag information for users other than oneself?
sameer.
Comment by Sameer Siruguri — April 10, 2006 @ 1:10 am
Sure! Feel free to use and extend the idea in your system as long as the usage is in compliance with this license.
Comment by Harry Chen — April 10, 2006 @ 11:21 am
An interesting idea for some ad-hoc semantic annotation, but has its limitations. Your subject is fixed (presumably to your del.icio.us URI), you’re limited in your predicates to recognisable ontologies such as FOAF, DOAP, RDFS etc. And your (bookmarked) objects should be deferenceable URIs. This is similar to some of the limitations of RDF microformats in XHTML. But I like the core idea so maybe there’s something more there. Just don’t subtract from the usefulness of del.icio.us as is!
Comment by AndrewJ — April 11, 2006 @ 2:07 am
You may be interested in some related work I did a while ago on inferring data from del.icio.us tagging conventions:
http://xmlarmyknife.org/blog/archives/000258.html
Comment by Leigh Dodds — April 12, 2006 @ 4:03 am
I really like this idea. I’ve been fascinated by the semantic web implications of del.icio.us for a long time now, but it never occured to me to use it like this.
Comment by Darren Chamberlain — April 12, 2006 @ 10:45 am