Return of the FOAF blog

Documentation,Vocabulary — danbri @ 2:40 pm

Well, it’s been a more eventful few years than you might guess from the absence of postings here. Welcome to the re-animated FOAF blog, where we bring you not only the ancient archives from the last decade, but more recent news of developments in data portability, linking and all kinds of interconnectedness.

FOAF started over ten years ago, when we began experimenting with the idea of building a Web of linked documents that each made simple claims about our world. Both of us (Libby and Dan) were already working with W3C’s RDF technology, and it was a very natural fit. Initially we called it the “RDF Web Ring” (and then RDFWeb), but the cuter name of our “utility vocabulary”, FOAF, somehow stuck.

FOAF itself was several things: it was the idea that we can improve the Web and its place in the world through information linking and sharing; it was a project where we experimented with very practical, hands-on ways of doing this using W3C RDF technology, and it was our “starter dictionary” of terms that could be used to say things about people and the things they make and do.

Although we’ve been quiet “as a project” lately, a lot has been happening, both with FOAF and RDF, but also in the wider community. We can’t summarise everything but here are a few highlights.

Back in 2006, Tim Berners-Lee wrote a design issues note on Linked Data, in which he suggested some improvements to the RDF linking model we had explored in FOAF:

The Friend-Of-A-Friend convention uses a form of data link, but  not using either of the two forms mentioned above.  To refer to another person in a FOAF file, the convention was to give two properties, one pointing to the document they are described in, and the other for identifying them within that document.

In fact, for privacy, often people don’t put their email addresses on the web directly, but in fact put a one-way hash (SHA-1) of their email address and give that. This clever trick allows people who know their email address already to work out that it is the same person, without giving the email away to others.

This linking system was very successful, forming a  growing social network, and dominating, in 2006, the linked data available on the web.

However, the system has the snag that it does not give URIs to people, and so basic links to them cannot be made.

This critique was perfectly fair. FOAF-based documents were indeed by far the largest deployment of linked RDF in the public Web, back in 2006. And it was indeed difficult to merge (“smush”, we used to say) information about people without simple URI identifiers for them.  Things are very different today. TimBL’s critique (also articulated in his ISWC keynote of 2005) nudged us to tweak the FOAF spec to encourage people to assign themselves URI identifiers. It also inspired an explosion of activity around this idea of “Linked Data”, through the Linking Open Data project and related efforts such as DBpedia.

FOAF and RDFWeb were a kind of ancestor to the Linked Data efforts. The Linked Data rules downplay FOAF’s earlier emphasis on “reference by description” and encourage instead a focus on the benefits of assigning URI identifiers for everything. Our slight waryness of URIs-only identification came largely from the fact that FOAF emphasises people, and people are special: saying of someone that some URI is “a Web identifier for them” carries certain responsibilities. Especially when that person is perhaps a child, or a focus for controversy. For other domains (music, movies, lifesciences, …) this is not such a concern. FOAF’s model also emphasised the documentary nature of the things we linked to, and was initially built up document-by-document. The ‘Linked Data’ Web has evolved database-by-database, as documented in the ever growing Linked Data cloud diagrams which simultaneously document and inspire the growing catalogue of linked rdf datasources.

These years also saw the rise of widespread concern for Data Portability, and for standard APIs and data formats that allow users to retrieve the data they create at social Web sites. We’re happy that FOAF was a trailblazer here, and equally happy to see other successful approaches from the hcard and xfn microformats efforts which are based on simple HTML conventions, to Portable Contacts, which builds on XML and JSON.

FOAF remains distinctive both by its emphasis on mechanisms for mixing people data with other structured and linked information about their wider world, and through its ability to exploit new developments from the Semantic Web platform. In recent years these have included a powerful query language, SPARQL; the RDFa approach to encoding descriptions in human-facing markup, and W3C’s SKOS language, which does for subjects (i.e. topics, keywords, …) what FOAF did for people, and which has become central in the linked library data world. The Semantic Web project is fundamentally a collaborative effort. Every new tool, standard, dataset or vocabulary improves FOAF, and every improvement to FOAF benefits applications across the Semantic Web and Linked Data communities.

While ‘FOAF files’ are no longer the main way people publish linked RDF, FOAF remains a major hub vocabulary in the Linked Data world, contributing useful terms for describing people, groups and organizations, but also documents and topics. Since it is so widely used in RDF descriptions, we evolve it more carefully than in the early days. The spec is still improving, and the foaf-dev list remains active and friendly.

So where does FOAF fit in the wider landscape of the Social Web?

FOAF, by embracing the original Web spirit of ‘everyone, everything connected’, works better as a descriptive system than as a prescriptive protocol. It is poorly scoped by careful design. FOAF can absorb and express anything that people want to say about themselves, and consequently works less well as a rigid ‘record format’ for people since it allows for such flexible variety of expression. We always emphasised the freeform, self-published ‘homepage’ over the boilerplated, corporate-hosted ‘profile’. So it makes sense for more constrained standards like Portable Contacts (in the Social Web) or library information cataloguing practices (in bibliography) to be used in specific systems. FOAF, we hope, can be a tool that can help bridge these worlds, and help show how the historical social networks documented by historians, librarians and archivists are in fact connected to the occupants of contemporary online social networks. That, when we stand back and look at the Web and at history, the idea of humanity forming a single interconnected Web makes more and more sense. And that while there’s more to describing our interconnectivity and inter-dependence than addressbooks and buddylists, there is also much to gain from having standard ways of describing people, the things they make and do, that apply equally to the present and to the past.

What does this mean in practice?

That we’ll continue to maintain and refine FOAF, guided by our stated mission of ‘linking people and information using the Web’. We’ll try to be responsive to the needs of diverse communities, and to emphasise collaboration and mapping over competition between standards. We think FOAF has worked well in the past as an informal incubator and testbed for new ideas, and that as a project we need to balance that role with the responsibilities that accompany FOAF’s widespread use as an RDF vocabulary.

Many of the ideas explored in FOAF’s early days are now mainstream in the technology scene, and no-longer need much advocacy or prototyping from us. Other aspects, such as digitally signed RDF claims, while explored here over the last decade, are still waiting for that breakthrough. Spin-off and sibling projects such as FOAF+SSL / WebID,  SIOC continue to evolve at their own pace, and there are creative things happening around e.g. OpenID, OAuth, OpenSocial and OpenGraphProtocol that keep things unpredictably interesting for everyone. The SocialWeb is richer for this diversity, and we will continue to experiment here. In 2011 we’ll be looking at folding into FOAF some ideas from the early ‘Web of trust‘ vocabulary , and at the impact SKOS has had on our ability to talk about specific topics, skills and abilities. There are many other themes to explore, but those will have to wait for other blog posts rather than be squeezed into this one!

Dan and Libby

foaf:tipjar, Creative Commons and MusicBrainz

Vocabulary — danbri @ 8:07 pm

I’ve been talking with Mike Linksvayer of Creative Commons and Robert Kaye of MusicBrainz about the idea of a foaf:tipjar property that relates an ‘agent’ to a ‘document’ which serves as some form of ‘tip jar’ page, so that artists, content creators etc could use RDF to make statements that help them get rewarded for works they make available online. This initially wouldn’t be very machine-readable, just a normal human-oriented Web page perhaps pointing to PayPal or Amazon wishlist pages. We can start simple and get fancy later.

The details need further discussion, but I like this idea a lot. It brings together concerns from the FOAF, CreativeCommons and MusicBrainz communities, and — from a technical perspective — allows us to explore the use of RDF to combine information expressed using the FOAF, Creative Commons and MusicBrainz datasets. One way to implement this would be to have a common notion of ‘agent’ shared across the three datasets/vocabularies. Leigh Dodds has been working on the RDF schema for MusicBrainz; we could define MM:Artist as a sub-class of foaf:Agent, so that FOAF tools would have some partial understanding of the MusicBrainz dataset. Mike also mentioned some discussions within CC of having an RDF representation of the notion of an agent.

How might this work in practice? One idea was for tools which generate CreativeCommons markup describing online content to have an option to include a declaration of the creating agent’s FOAF description, including a link to a foaf:tipjar page. From a MusicBrainz perspective we could try to associate tipjar information with as many artists as possible, ideally alongside their homepage URLs and other handy metadata (photos, weblogs, …). This would hopefully assist users of content in finding their way to a page that explains how to reward the content-creator (with online payments, Amazon gifts, etc.).

Feedback welcomed…

(update: Mar 18 2004 – foaf:tipjar has been added to the spec.)

Addition of foaf:gender to spec

Vocabulary — danbri @ 11:39 pm

The FOAF specification now includes a new (and long anticipated) property, foaf:gender. Like all FOAF properties, ‘gender’ is optional – nobody is required to describe themselves in any more detail than they choose to, and the new text in the spec goes to some lengths to stress this, amongst other concerns. I announced it to the FOAF mailing list (rdfweb-dev) earlier today following editorial discussions in #foaf, our IRC channel.

Typical values for foaf:gender are ‘female’ and ‘male’, which can be added to most FOAF files simply by including an element such as <foaf:gender>male</foaf:gender> inside any foaf:Person element(s) in the document. See the foaf:gender definition for details and accompanying documentation. Feedback on the design and documentation is welcome, either through weblog comments or by email.


FOAF Myers Briggs addition

Vocabulary — danbri @ 12:20 am

So after discussions sprawling across IRC, email and various weblogs, we are going ahead with adding a property called foaf:myersBriggs to the FOAF vocabulary. This property takes as its values the 16 codes (INTP, ENFP etc.) used in the Myers Briggs Type Indicator (MBTI) personality description scheme.
Example FOAF snippet:

<foaf:name>Dan Brickley</foaf:name>
<foaf:mbox rdf:resource=””/ >

Adding such markup will make it possible to browse, search and filter FOAF-related data using the MBTI classifications. For example, you might use it to search for weblogs created by people with some specified Myers Briggs entry (perhaps to check out to see if they fit the expected stereotype…? ;-).


This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2014 FOAF project | powered by WordPress with Barecity