Dagstuhl FOAF history talk


Published on

Slides from a talk I gave at Perspectives Workshop on Semantic Web, http://www.dagstuhl.de/en/program/calendar/semhp/?semnr=09271 ... Dagstuhl, Germany 2009-06-29. Title was from Jim Hender!

Published in: Technology, Education
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Dagstuhl FOAF history talk

  1. 1. Perspectives Workshop: Semantic Web Reflections and Future Directions, 29 June 2009 FOAF (Friend of a Friend) the most used ontology in the history of the universe? how the hell did that happen? ? Dan Brickley, danbri@danbri.org (Vrije Universiteit Amsterdam)
  2. 2. Overview • FOAF today: a very quick overview • Origins of FOAF (as the RDFWebRing) • Happy Accidents (2000-2003) • Success, Horrible Success! (2004-5) • Recent & Future History (2008/9)
  3. 3. Why Care?
  4. 4. FOAF today: the basics • the FOAF vocabulary, a few classes and properties describing people, groups, etc. • high visibility outside RDF/RDFS/OWL scene • lots of data, and a few interesting apps • for a side-project, it became very active
  5. 5. FOAF by example
  6. 6. What’s so special? Nothing huge - subtle shifts of emphasis: Use of Web standards. Use of Web identifiers. Information linking. Easy to extend. People are interesting...
  7. 7. Origins: RDFWebRing Web in 2000: Sixdegrees.com, LiveJournal, Weblogs, RSS... FOAF in 2000: RDFWeb’s starter vocab.
  8. 8. RDFWeb 2000-2 • hacker project of Libby Miller, Dan Brickley and our friends from the RDF Interest Group, W3C, RSS and XML tech scene. • Used RDFS and DAML+OIL to document our work, ... as a means not an end. • Early themes: PGP, digital signature and trust, crawlers, linking, photo annotation.
  9. 9. June 2000: The basic idea behind FOAF is simple: the Web is all about making connections between things. FOAF provides some basic machinery to help us tell the Web about the connections RDFWeb intro between the things that matter to us. Thousands of people already do this on the Web by describing themselves and their lives on their home page. Using FOAF, you can help machines understand your home page, and FOAF is best explained with an example. through doing so, learn about the relationships that connect people, places and things Consider a Web of inter-related home described on the Web. FOAF uses W3C's RDF technology to integrate information from pages, each describing things of interest to your home page with that of your friends, and the friends of your friends, and their friends.. a group of friends. Each new home page that appears on the Web tells the world something new, providing factoids and Dan lives in Zetland road, Bristol, UK with Libby and gossip that make the Web a mine of Craig. Dan's email address is danbri@w3.org. Libby's disconnected snippets of information. email address is libby.miller@bris.ac.uk. Craig's is FOAF provides a way to make sense of all craig@netgates.co.uk. Dan and Libby work for an this. Here's an example, a fragment from organisation called "ILRT" whose website is at http:// the mostly-fictional FOAF database. First ilrt.org/. Craig works for "Netgates", an organisation we list some facts, then describe how the whose website is at http://www.netgates.co.uk/. Craig's FOAF system makes it possible to explore wife Liz lives in Bristol with Kathleen. Kathleen and the Web learning such things. Liz also work at "Netgates". Damian lives in London. Martin knows Craig, Damian, Dan and Libby quite well. Martin lives in Bristol and has an email address of m.l.poulter@bristol.ac.uk. (etc...) This kind of information is the sort of thing typically found on Web home pages. The extract shown here indicates how short, stylised factual sentences can be used to characterise a Web of relationships between people, places, organisations and documents. In real life, this information would be most likely be distributed across variou s Web pages created by the individuals listed. Very likely, their pages will link directly or indirectly to the home pages of countless other friends-of-friends-of-friends.
  10. 10. Original Goals We want a better way of keeping track of the scattered fragments of data currently represented in the Web. We want to be able to find documents in the Web based on their properties and inter-relationships... We want to be able to find information about people based on their publications, employment details, group membership and declared interests. We want to be able to share annotations, ratings, bookmarks and arbitrary useful data fragments using some common infrastructure. We want a Web search system that's more like a database and less like a lucky dip. We need it to be be distributed, decentralised, and content-neutral. RDFWeb/FOAF, if successful, should help the Web do the sorts of things that are currently the proprietary offering of centralised services.
  11. 11. Original use cases • We want to be able to ask the Web sensible questions and common kinds of thing (documents, organisations, people) and get back sensible results: • "Find me today's web page recommendations made by people who work for Medical organisations" • "Find me recent publications by people I've co-authored documents with" • "Show me critiques of this web page, and the home pages of the author of that critique" (see also EU DESIRE project, 1996-1999)
  12. 12. rdf('http://xmlns.com/foaf/0.1/name','genid:danbri','"Dan Brickley"'). rdf('http://xmlns.com/foaf/0.1/mbox','genid:danbri','mailto:daniel.brickley@bristol.ac.uk'). rdf('http://www.w3.org/2000/01/rdf-schema#seeAlso','genid:danbri','http://rdfwebring.org/~pldab/r webwho.xrdf'). rdf('http://xmlns.com/foaf/0.1/assurance','http://rdfwebring.org/~pldab/rdfweb/webwho.xrdf','http: rdfwebring.org/~pldab/webwho.xrdf.asc'). rdf('http://www.w3.org/2000/01/rdf-schema#seeAlso','genid:danbri','http://rdfwebring.org/~pldab/ rdfweb/danbri-biblio.rdf'). rdf('http://www.w3.org/2000/01/rdf-schema#seeAlso','genid:danbri','http://rdfwebring.org/~pldab/r danbri.wot.rdf'). rdf('http://xmlns.com/foaf/0.1/img','genid:danbri','http://www.ilrt.bris.ac.uk/~ecdb/purl/danbri/2000/ Image1.gif'). rdf('http://xmlns.com/foaf/0.1/workplaceHomepage','genid:danbri','http://ilrt.org/'). rdf('http://xmlns.com/foaf/0.1/knowsWell','genid:danbri','genid:mags'). rdf('http://xmlns.com/foaf/0.1/knowsWell','genid:danbri','genid:poulter'). rdf('http://xmlns.com/foaf/0.1/name','genid:poulter','"Martin Poulter"'). rdf('http://xmlns.com/foaf/0.1/knowsWell','genid:danbri','genid:libby'). rdf('http://xmlns.com/foaf/0.1/img','genid:libby','http://econltsn.ilrt.bris.ac.uk/contact/libby.jpg'). rdf('http://xmlns.com/foaf/0.1/depiction','genid:libby',' rdf('http://purl.org/dc/elements/1.1/title','','"Libby Mille Oxford (1993-ish)"'). rdf('http://purl.org/dc/elements/1.1/description','','"A p of Libby Miller, taken while at Oxford University"'). rdf('http://purl.org/dc/elements/1.1/format','','"image/g rdf('http://xmlns.com/foaf/0.1/livesWith','genid:danbri','genid:libby'). rdf('http://xmlns.com/foaf/0.1/livesWith','genid:danbri','genid:craig').
  13. 13. And it got big how? • Libby Miller’s Java/Squish RDF query tools • Edd Dumbill (of xml.com) wrote a nice article on IBM DeveloperWorks.com • Leigh Dodds created foaf-a-matic script, Ian Davis (amongst other things) our logo • RDF IG community built some early apps • By 2003, Ecademy and TypePad exports • In 2004, LiveJournal, Tribe, FOAFNet, ...
  14. 14. Brain-candy...
  15. 15. “Co-depiction”
  16. 16. CoDepiction in 2002: RDFWeb is intended to be both fun and technically challenging. We're trying to build a linked information system, RDFWeb, as a way of connecting these two goals. In particular, we want RDF to present practical and interesting applications for the Semantic Web, and explore ways of making them real. One of our favourite examples is photo metadata. This document tries to explain why... The (soon to be "Semantic") Web, if it is to reach its full potential, needs to become a lot more automatic. We hope that it will be able to do things (offer us services) based on combining data and services scattered around the Web. It might, for example, be able to find the phone numbers or AOL screen names of all your friends and professional collaborators. Or show you the photos, names and recent publications and shared bookmarks for everyone attending the next meeting in your calendar. There are so many things the Web might usefully do in the future, that it is sometimes hard to see how we can get there from here. W3C's RDF has been around since 1997, yet while it has been adopted in a number of applications (for example by Mozilla, Open Directory, Adobe, RSS 1.0), people often ask why there is as yet no killer app for RDF. While we're not sure that 'killer app' is the right way to think about the problem, it is true that there is relatively little RDF data 'out there in the public Web', in the way that HTML is 'out there'. The original idea behind RDFWeb was to experiment with making some cheap, simple RDF-based document formats that were designed for deployment in the public Web. We began by asking 'What would it be like if machines could read my homepage?', and by prototyping a simple vocabulary called FOAF ('Friend of a Friend'). The FOAF vocabulary provided a way for RDF documents to talk about people and their characteristics. FOAF documents also make use of hypertext, providing 'seeAlso' links to other FOAF documents elsewhere in the Web. This simple convention makes it possible for RDF indexing tools to explore an (RDF)Web of linked documents (hence the name of the project). From foaf:knows to foaf:depiction... Shortly after prototyping our early RDFWeb/FOAF tools, we ran into a design problem. The FOAF vocabulary initially tried to define a number of basic relationships that could be used to describe connections between people in the Web. We experimented with variations such as foaf:knows, foaf:friend and foaf:knowsWell. Eventually we decided that such a taxonomy was neither appropriate nor deployable; we now simply use foaf:knows. Instead of trying to categorise subtle relationships into broad classes, we took a different approach, focussing instead on other information about people. Documents they had written (and who they were written with); Photos they'd taken (and who they'd taken them of). We expanded the early FOAF support for image metadata by introducing the notion of a foaf:depiction. This relates something (eg. a person) to some depiction of them (typically a digital image).
  17. 17. Crawling PGP-signed RDF: exploiting PGP’s “web of trust”...
  18. 18. Bluetooth & Rendevous: local FOAF
  19. 19. FOAFCorp
  20. 20. Credits: Jim Ley, Liz Turner & friends
  21. 21. ...and we got noticed “The very important aspect of FOAF (at least here in Japan) is that FOAF is getting to be the first entry point to RDF/Semantic Web for ordinary people. So many people say 'I first time feel partly understand RDF' or 'This is my first experience to touch SW, wow!' in their blogs or diary pages.” --Kanzaki, June’03
  22. 22. foaf-a-matic FOAF-a-matic is a simple Javascript application that allows you to create a FOAF ("Friend-of-A-Friend") description of yourself. You can read more about FOAF in Edd Dumbill's "XML Watch: Finding friends with XML and RDF" article, at the FOAF homepage on RDFWeb, and also the FOAF vocabulary description. (translated into 12+ languages)
  23. 23. FOAF-a-matic je jednostavna Javascript aplikacija koja omogućava kreiranje FOAF ("Friend-of-A-Friend") opisa neke osobe.Više o tome možete pročitati u članku Edda Dumbilla XML Watch: Finding friends with XML and RDF" koji možete pronaći na the FOAF homepage on RDFWeb, kao i FOAF vocabulary description (opis FOAF rječnika).
  24. 24. FOAF-a-Matic er en simpel Javascript applikation der kan hjælpe med at lave en FOAF-beskrivelse ("Friend-of-A- Friend", "Ven-af-en-Ven") af dig selv. Du kan læse mere om FOAF i Edd Dumbills artikel "XML Watch: Finding friends with XML and RDF" ("Find venner med XML og RDF"), på FOAF-hjemmesiden på RDFWeb samt i FOAF's tekniske beskrivelse.
  25. 25. FOAF-a-matic is een eenvoudige Javascript toepassing waarmee je een vriend-van-een-vriend beschrijving (FOAF = "Friend-of-A-Friend") van jezelf kunt maken. Je kunt meer lezen over FOAF in Edd Dumbill's "XML Watch: Finding friends with XML and RDF" artikel, op de FOAF homepage op RDFWeb, evenals de FOAF vocabulair beschrijving.
  26. 26. FOAF-a-matic FOAF ("Friend-of-A-Friend") Javascript FOAF Edd Dumbill "XML Watch: Finding friends with XML and RDF" " " RDFWeb FOAF FOAF
  27. 27. FOAF-a-matic est un simple logiciel (en JavaScript) qui vous permet de créer une description FOAF ("Friend-of-A- Friend", "Amis d'un ami") de vous même. Pour en savoir plus sur FOAF vous pouvez lire l'article de Edd Dumbill, "XML Watch: Finding friends with XML and RDF", la page d'accueil de FOAF sur RDFWeb, et aussi the FOAF vocabulary description ("Description du vocabulaire FOAF").
  28. 28. FOAF-a-matic es una simple aplicación de Javascript que le permite crear un descripción FOAF ("Friend-of-A-Friend" o Amigo-de-un-Amigo) de si mismo. Puede leer más (en inglés) acerca de FOAF en el articulo de Edd Dumbill "XML Watch: Finding friends with XML and RDF", en the FOAF homepage on RDFWeb, y tambien the FOAF vocabulary description. En castellano existe el documento "FOAF: el proyecto 'Friend-of-a-friend'", de Leandro Mariano López.
  29. 29. FOAF-a-Matic är en enkel Javascript-applikation som låter dig skapa en FOAF ("Friend-of-A-Friend" eller "Vän-till-En- Vän")-beskrivning av dig själv. Du kan läsa mer om FOAF i Edd Dumbills artikel "XML Watch: Finding friends with XML and RDF" på hemsidan för FOAF hos RDFWeb, liksom beskrivningen av FOAF-vokabulären.
  30. 30. Το FOAF-a-matic είναι μια απλή JavaScript εφαρμογή, που επιτρέπει την δημιουργία περιγραφών FOAF ("Friend-of-A-Friend", ελλ: "Φίλος ενός φίλου") του εαυτού σας. Μπορείτε να μάθετε περισσότερα για το FOAF στο άρθρο "XML Watch: Finding friends with XML and RDF" του Edd Dumbill, στην FOAF σελίδα του RDFWeb και στην λεξικολογική περιγραφή του FOAF.
  31. 31. FOAF-a-matic ist eine einfache Javascript Anwendung, die eine FOAF ("Friend-of-A-Friend" = Freund eines Freundes) Beschreibung von dir erstellt. Mehr zu FOAF findest du in Edd Dumbills Artikel "XML Watch: Finding friends with XML and RDF" (Freunde finden mit XML und RDF), auf der FOAF Homepage der RDFWeb Webseite oder auch in der FOAF Vokabular Beschreibung.
  32. 32. FOAF-a-matic è una semplice applicazione Javascript che ti permette di creare una descrizione di te stesso in formato FOAF ("Friend-of-A-Friend", "Amico di un amico"). Puoi avere maggiori informazioni su FOAF nell'articolo di Edd Dumbill "XML Watch: Finding friends with XML and RDF", sulla homepage di FOAF su RDFWeb, ed infine nella FOAF vocabulary description (descrizione del vocabolario FOAF).
  33. 33. FOAF-a-matic Javascript FOAF "Friend-of-A-Friend" Edd Dumbill XML XML RDF RDFWeb FOAF FOAF FOAF vocabulary description
  34. 34. FOAF-a-matic FOAF("Friend-of-A-Friend") . FOAF FOAF (Edd Dumbill) " XML Watch: Finding friends with XML and RDF" FOAF ( the FOAF vocabulary description) .
  35. 35. Early Adopters • Ecademy (Julian Bond) • Morten’s FOAF Explorer service • TypePad (hosted Movable Type blogs) • 2002-2003: Edd’s article, foaf-a-matic and early tools. Marc Canter’s FOAFnet... • 2004 various exporters, Howard Dean’s innovative Internet campaign, deanspace,
  36. 36. Style • 24x7 Internet Relay Chat (IRC) channels • Discussions in blogs (daily searching) • Informal style meetups and hacking • Emphasis on making over specifying • Internet/Web & XML culture
  37. 37. Success disaster? • or ... how our triplestores crumbled! • all the early demos died • took a few years for global services • “me and near me” personal crawlers? • some eg. plink.org closed due to privacy concerns of users
  38. 38. LJ code: asks.jp(11k), blogonline.ru (800k+ users), crazylife.org 43k, deadjournal.com (500k), Dreamwidth... http://en.wikipedia.org/wiki/Comparison_of_sites_using_the_LiveJournal_codebase
  39. 39. How did LiveJournal get FOAF? crschmidt: So, to the best of my knowledge, it went something like this: crschmidt: 1. Roomate with neil. Neil is a deanspace hacker, I am an LJ hacker. crschmidt: 2. Spend lots of time on LJ bug tracker. I seem to recall seeing fixing LJ bugs as a personal vendetta. I started hacking on LJ around Oct 2003, iirc (the bug tracker from that time is dead) crschmidt: 3. There was an open bug on FOAF support in LJ, which I was working on before the lj-biz post. (It was something like a 4 month process, so if it was deployed in Feb, it was dfinitely before that) crschmidt: 4. Iterate iterate iterate over the bug/patch, waiting in some cases for LJ to improve in other ways for speed, etc. crschmidt: 5. Finally get the work that I did deployed in Feb 2004 crschmidt: So, basically: Someone who could find LJ's bugtracker thought it would be a good idea, and I had a tendancy to fix every bug I understood, that one fit btter into my court than most because of the Deanspace connection in my room, and that was my initial introduction to FOAF crschmidt: I think that about sums it up, from what i remember "A few people have asked "what's the point?" And to that I ask back, what is the point of RSS and why did we bother implementing it here on LJ, even though people could just visit our journals? RSS was implemented here because it's an open, machine-readable standard that has been adopted by most of the blogging community to facilitate the sharing of information. One of LiveJournal's core values is developing for the open source movement, and I think FOAF is an exemplary project for which to extend this value. Of course there would be the option to disable it. In fact, I think it should be opt-in, since it does provide personal information to the outside world." -- Joe (bostonsteamer), 2004-01-04, ljbiz forum, LiveJournal
  40. 40. FoafCamp, Aug 2004
  41. 41. SWAD-Europe & DERI FOAF Workshop, Sept 2004 • Bootstrapping the FOAF-Web: An Experiment in Social Network Mining Peter Mika • Descriptions of Social Relations Peter Mika, Aldo Gangemi • FOAF-Realm - control your friends' access to resources Sebastian Ryszard Kruk • Keyword Extraction from the Web for FOAF Metadata Junichiro Mori, Yutaka Matsuo, Mitsuru Ishizuka, Boi Faltings • Linking Semantically-Enabled Online Community Sites Andreas Harth, John G. Breslin, Ina O'Murchu, Stefan Decker • Using RDF + FOAF to create a local business review and search network Chris Schmidt • Moleskiing: a Trust-aware Decentralized Recommender System Paolo Avesani, Paolo Massa, Roberto Tiella • A model of trust and anonymity in a content rating system for e-learning systems. Tom Croucher • Open Rating Systems R.V Guha • Ontological Consideration on Human Relationship Vocabulary for FOAF Yutaka Matsuo, Masahiro Hamasaki, Junichiro Mori, Hideaki Takeda, Koiti Hasida • The People's Portal: Ontology Management on Community Portals Anna V. Zhdanova • Redefining Web-of-Trust: reputation, recommendations, responsibility and trust among peers Viktor S. Grishchenko • rss4you: Web-Based Syndication Enhanced with Social Navigation Nicolas Nova, Roberto Ortelli • The Semantic Web as a Semantic Soup Harith Alani, Simon Cox, Hugh Glaser, Steve Harris • Technical and Privacy Challenges for Integrating FOAF into Existing Applications Joseph Smarr • The Challenges of FOAF Characterization John C. Paolillo and Elijah Wright
  42. 42. Time passes... (remember CSS in 1996, gave us Ajax a decade later...)
  43. 43. Recent History
  44. 44. FOAF+SSL
  45. 45. Garlik
  46. 46. BBC Music - Linked Data
  47. 47. DOAP: FOAF-like description of software projects (Apache, Gnome, Python, ...), again from Edd Dumbill.
  48. 48. Google Social Graph API
  49. 49. Problems • “it’s ok to publish FOAF, so long as nobody uses it...” - users don’t expect to see their data resurface elsewhere (yet...) • Deanspace and plink.org (now offline) • Tribe.net & explode.us • CC-for-people? OAuth for privacy? XMPP for desktop access? privacy policies? Let Facebook and twitter and FriendFeed train everyone?
  50. 50. FOAF today • NoTube project - FOAF and Social TV • W3C context: SocialWeb group • Web landscape: Linked Data everywhere • Focus on ends not means: information linking and making it useful for people... • Help needed: stats, vocab patterns
  51. 51. “Lucky Connections” • What’s the connection between LiveJournal and DeanSpace? (room-mates) • What’s the connection between Google SGAPI and LiveJournal FOAF? (Bradfitz) • Between Microformats, Portable Contacts and FOAF? (an obsession with an open Web...)
  52. 52. “Does it matter if they use our stuff?” • re-thinking core values • domain-neutral aspects • “people description” aspects
  53. 53. Values...
  54. 54. Choice...
  55. 55. Expression...
  56. 56. Movement...
  57. 57. Association...
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.