The Friend of a Friend (FOAF) Project
The Friend of a Friend (FOAF) project is a metadata scheme for representing information about people and organizations using the Resource Description Framework (RDF). Launched in 2000 under the umbrella of World Wide Web Consortium (W3C) Semantic Web Activity, its creators Dan Brinkley and Libby Miller designed it to "creat[e] a Web of machine-readable pages describing people, the links between them and the things they create and do" (Friend of a Friend, n.d. b, para. 1). Though driven early on by independent developers, the FOAF project has grown in its significance and is a case study of Semantic Web values and Internet privacy issues.
The FOAF website (http://www.foaf-project.org/) describes the project as a "simple technology that makes it easier to share and use information about people and their activities...to transfer information between Web sites, and to automatically extend, merge and re-use it online" (Friend of a Friend, n.d. a, para. 1). FOAF, though, is not in itself a technology, but rather, an ontology that can be used to explain the 'properties' of people and in particular, their relationships. The vocabulary FOAF uses to describe people and organizations is a "dictionary of named properties and classes using W3C's RDF technology" (Brickley & Miller, 2010, Abstract Section, para. 1). It is important to note, though, that FOAF is not a standard. While the vocabulary "depends heavily on W3C's standards work, specifically on XML, XML Namespaces, RDF, and OWL," it is "managed more in the style of an Open Source or Free Software project than as an industry standardization effort" (Brickley & Miller, 2010, FOAF and Standards section, para. 2). This management style reflects the decentralized and community-led nature of FOAF; FOAF tools and applications, as well as changes to the FOAF vocabulary specification, are driven by individual and collaborative efforts within Semantic Web community.
Get your grade
or your money back
using our Essay Writing Service!
The primary purpose, as well as the underlying significance of FOAF, is linked to its usage of RDF. FOAF creators point out that individuals have "so many competing requirements [for description] that a standalone format could not do them all justice" (Brickley & Miller, 2010, FOAF and RDF Section, para. 1). To capture some of those competing requirements, FOAF vocabulary is structured to describe people, including their educational and professional background; their social networking accounts; any documents they have created; their relatives, friends, and even enemies; and bizarrely, their Myers Briggs (MBTI) personality classification. The latter, as well as some of the other FOAF classes, were experimentally introduced because they "illustrate(s) how FOAF can serve as a carrier for various kinds of information, without necessarily being committed to any associated worldview" (Brickley & Miller, 2010, http://xlmns.com/foaf/spec/#term_myersBriggs).
To capture the remaining competing requirements for human description, FOAF can be combined with any other RDF vocabulary, including the Dublin Core Metadata Scheme (DCMS). An author's FOAF description, for example, could be enhanced with Dublin Core metadata describing his/her literature. Other vocabularies that are often combined with FOAF include Web of Trust; Speaks, Reads, and Writes; and WGS85 Geo Positioning (Fredericksen, 2004). A FOAF description can also be extended with classes developed by individuals to enhance the FOAF Vocabulary Specification. Viteillo, for instance, has created a Relationship Module that extends the foaf:knows class with properties like rel.enemyOf, rel.grandchildOf, and rel.ambivalentOf (2002).
The foaf.knows class is essential to the goals of the FOAF project. Combined with the .see also reference, foaf.knows facilitates linkages among people through the direct expression of their relationships. And by providing actual hyperlinks to another person's FOAF description or personal homepage in the .see also reference actual connections can be established. Once relationships have been stated and established with hyperlinks, "it [is] easy for FOAF indexing tools ('scutters') to find your FOAF and the FOAF of the people you've mentioned. And the FOAF of the people they mention, and so on" (Brickley & Miller, 2010, http://xlmns.com/foaf/spec/#term_knows).
Perhaps the best way of understanding FOAF is to show an actual FOAF description. At right, is my FOAF description. It was created using the form-based Foaf-a-matic (http://www.ldodds.com/foaf/foaf-a-matic), which automatically generates a basic FOAF, without any knowledge about XML or RDF required on the part of the creator. In its current incarnation, my FOAF description is a text file. FOAF objects, classes, attributes, and values have been combined in machine-readable statements that could be aggregated and harvested if the description was 'published' online. Typically, publishing involves posting the description on a FOAF directory or embedding it as metadata in the header of a personal website or blog.
Always on Time
Marked to Standard
The merit of my simple FOAF description may not be readily apparent; the significance of such descriptions, however, are captured by the number of social networking websites now automatically generating FOAF profiles for their members. These websites, which include Ecademy, TypePad, and FriendFeed, differ in the content they populate in FOAF descriptions, as well as in their use of the exported data. While I was not able to determine the existing number of FOAF descriptions currently posted on the Internet, over fifteen million FOAF descriptions are solely attributed to LiveJournal. One can determine if they have a FOAF profile by searching Garlik's QDOS (Beta) at http://foaf.qdos.com and a chart, though incomplete, of websites that export FOAF data for their members can be obtained at: http://esw.w3.org/topic/FoafSites.
The generation of FOAF descriptions by individuals and organizations, the latter of which is dominated by social networking websites, is suggestive of the philosophical underpinnings, as well as the practical application and value of FOAF descriptions. FOAF advocates, who generally align themselves with the goals of the Semantic Web, argue that the FOAF ontology is important because it promotes the related characteristics of unique identifiers for humans, data portability, the creation of a community of trust, and aids individuals in owning or controlling their virtual identities.
Unlike documents or websites, there has not been one definitive method or tool for unambiguous identifiers for humans on the World Wide Web. The FOAF ontology provides this mechanism through "the concept of an 'inverse functional property' (IFP)...a property whose value uniquely indentifies a resource" (Dodds, 2004, Identifying Marks section, para. 2). FOAF typically uses the relationship between a person's name and primary email or personal website address to act as an identifier; the assumption is that only one person owns that particular address. Another method is to use the Uniform Resource Identifier (URI) of the FOAF description as a personal URI. Within the framework of Web 2.0, a unique identifier is important because of the distributed nature of modern online identities. A person may 'own' dozens of Internet accounts, from email and social networking to commerce. A FOAF description can essentially act as the command center for these accounts, identifying their sole 'ownership,' creating linkages among them, and enabling the portability of descriptive content.
Control of one's virtual identity is also strengthened by the ability to self-describe oneself and one's relationships, rather than allowing Internet applications to generate their own descriptions. Personal description is presumably, "an honest representation of a person's attributes, as the user takes into account the fact that they will probably only be used by machines" (Nasirifard, et al., 2009, p.2). The description defines and strengthens the individual's community of trust through their own statements of who they know, and potentially, the nature of those relationships.
While a FOAF description may give its owner control over their identity, it also gives other entities access to that identity. As of now, the community-driven nature of the FOAF project has resulted in an explosion of independently created tools and applications that generally provide a means for using or representing FOAF data on an individualized basis. Some examples include bookmarklets that auto-discover FOAF descriptions associated with websites, software programs that use foaf.knows relationships to block spam or authorize commenting on blogs; a software agent that can be installed on a computer to 'spider' the FOAF files of chat room participants; and an application for generating a Semantic Address Book that automatically updates as 'entries' update their FOAF profiles. Another popular, though defunct, application is Faufnaut, which can be used to graphically demonstrate FOAF relationships (co-depiction). Other applications, such as FOAF Explorer (http://xml.mfd-consult.dk/foaf/explorer) are simply tools for viewing FOAF data in "human-readable format" (Fredericksen, 2004). A list of other applications, tools, and ideas can be obtained from the FOAF wiki at: http://wiki.foaf-project.org/w/CoolStuff and http://wiki.foaf-project.org/w/ApplicationIdeas.
These applications have helped move the FOAF project from a directory of personal information closer to its full potential of "automatically extend[ing], merge[ing] and re-use[ing]" (Yahoo Developer Guide, 2008, Friend of a Friend section) FOAF data. Dumbill notes that "as with RSS, the really interesting parts of FOAF come into play when the data is aggregated and can then be explored and cross-linked " (2002, para.6). Perhaps the best example of this aggregation is Google's Social Graph API (http://code.google.com/apis/socialgraph), which "currently indexes the public Web for XHTML Friends Network (XFN), Friend of a Friend (FOAF) markup and other publicly declared connections" (Google, 2010, para.1).
This Essay is
a Student's Work
This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.Examples of our work
Developers of social applications, as well as commercial entities and digital libraries, possess particular interest in FOAF because of its potential, in combination with other technology, to automatically populate website registration and/or profiles and to act "an interchange format between social networking sites" (Dodds, 2004, FOAF Applications section, para. 5). A commercial application of this potential is suggested by Dodd: websites like Amazon could aggregate information about a person's friends and interests not only from their FOAF description, but also, from the full extent of their social networking presence. (Dodds, 2004, FOAF Applications section, para. 6). The ability to populate profile information, harvest commercially or socially applicable information about users, and perhaps even block spam may soon become a widespread reality with the attention being paid to combining FOAF descriptions with other applications like OpenId (http://openid.net).
From a digital library perspective, FOAF has the potential to be significant is several ways. The first is the use FOAF properties and classes in library authority records when mapping MARC to RDF. In particular, foaf.name can be mapped to MARC fields 100, 110, 400, and 410 (personal and corporate name). The goal of this mapping is to "expos[e] library data as Linked Data...let libraries be part of a larger movement" (Malmsten, 2009, p. 1).
Another use of FOAF in digital libraries is to generate users' interests and to share those interests among stated friends based upon their FOAF descriptions. JeromeDL (http://www.jeromedl.org), "a digital library with semantics" (Kruk, 2004, p. 1), uses the FOAF vocabulary with Dublin Core to develop RDF bibliographic descriptions, as described above. It also uses the FOAF profiles of registered users to "predict the profile of a new user by extrapolating the profile information of his friends which are known to JeromeDL. The extrapolated profiles...contain statistical data about frequently viewed resources, bookmarks and annotations about the resources" (Kruk, 2004, p.2). While browsing among existing JeromeDL collections is instructive of the potential reach of the Library, unfortunately, my experiments with the user interface, JeromeAdmin, was severely limited by a series of error messages.
JeromeDL relies upon FOAFRealm (http://www.foafrealm.org), a "distributed authentication and trust infrastructure without a centralized authority" (FOAFRealm, 2007, para. 1) that is used for by individuals to manage their FOAF descriptions. FOAFRealm uses explicit language, as well as Pretty Good Privacy (PGP) keys, for determining levels of trust among members e.g. using the foaf.knows property to identify who will have access to the bookmarks and annotations. Ultimately, the issue of trust, as well as privacy, is central to how one views the FOAF project. While a primary justification for creating FOAF descriptions is that it endows users with control over their virtual identity, it is certainly questionable how much control can be exerted over FOAF descriptions that do not include security keys, digital signatures, or other authentication measures.
Neutrality is a central value of the FOAF project and the Semantic Web; no judgments are given regarding the data that you provide about yourself and at least in the case of FOAF, how FOAF descriptions are used. While encryption is provided for disguising emails (see my FOAF description), Nasirifard, et al. note that this encryption is easily decoded. One application of FOAF may be for blocking spam, but conversely, another application is the creation of spam delicately tailored to you and delivered to your encoded email address. This spam might include the names of your friends or organizations to which you are affiliated, making it more difficult to discern as spam. (2009). Worse yet, friends and their email accounts may be inadvertently exposed in a FOAF description, even if they lack their own FOAF description. As many critics in the blogosphere note, 'friending' someone on Facebook or Twitter, does not necessarily constitute an agreement to have this relationship disclosed in machine-readable text that is harvestable outside of those websites.
Is the neutrality of FOAF warranted then? Are there any obligations on the part of creators of such tools to their users? This dynamic was perhaps most controversially stated by Tim O'Reilly, of O'Reilly Media, who commented in defense of Google's Social Graph API that:
All this data is available anyway, and that by making it more visible, we raise people's awareness and ultimately their behavior...It's a lot like the evolutionary value of pain. Search creates feedback loops that allow us to learn from and modify our behavior. A false sense of security helps bad actors more than tools that make information more visible. (2008, para. 1)
O'Reilly's position that "all this data is available anyway" and "security by obscurity is fading" camouflages and diminishes valid concerns about FOAF. Individuals who consciously create their own FOAF descriptions are willing participants and recognize that publication of their description enables others access. Can the same be said, though, for individuals for whom FOAF descriptions are automatically generated? These individuals may not realize that they consented to this generation through participation on a blog or may lack an understanding that their previously isolated personal information is now formatted for aggregation and harvesting for purposes, including commercial, unknown to them. Beyond its potentially valuable applications, FOAF represents a divide that exists between Semantic Web advocates whose technical understanding is fairly advanced and the average Internet user. These advocates are pushing boundaries (privacy, ownership, identity), many of which were never agreed upon or firmly established by the wider Internet community. It does not seem unfair to suggest that the ethics of FOAF and other similar tools should be based upon knowledgeable consent and that some effort should be given to ensure our technology does not so rapidly outpace our values.
Brickley, D. and Miller. L. (2010). FOAF Vocabulary Specification 0.97, Namespace Document 1, January 2010 - 3D Edition. Retrieved from: http://xmlns.com/foaf/spec/20100101.html
Dodds, L. (2004). An introduction to FOAF. Retrieved from XML, Com of O'Reilly Media XML.com: http://www.xml.com/pub/a/2004/02/04/foaf.html
Dumbill, E. (2002). XML Watch: Finding friends with XML and RDF. Retrieved from IBM Developer Works:
FOAFRealm. (2007). Welcome. Retrieved from: http:www.foafrealm.org/index.php?option=com_content&task=section&id=4&Itemid=26
Frederiksen, M.H. (2004). FOAF Explorer. Retrieved from:
Friend of a Friend. (n.d.a). About FOAF. Retrieved from:
Friend of a Friend. (n.d.b). The Friend of a Friend Project. Retrieved from: http://www.foaf-project.org/
Google. (2010). About the Social Graph - Social Graph API. Retrieved from:
Kruk, S.R. (2004). Advanced search and browsing in digital libraries. Unpublished paper presented at 3rd International Semantic Web Conference, Hiroshima, Japan. Retrieved from: http://library.deri.ie/resource/levdrepr.
Malmsten, M. (2009). Exposing library data as linked data. Unpublished paper presented at IFLA Satellite Meeting, Emerging Trends in Technology: Libraries between Web 2.0, Semantic and Search Technology, Florence, Italy. Retrieved from: http://www.ifla2009satelliteflorence.it/meeting3/program/assets/MartinMalmsten.pdf
Nasirifard, P., Hausenblas, M., and Decker, S. (2009). Privacy concerns of FOAF-based linked data. In M. Hausenblas, et al. (Eds). Proceedings of the 1st Workshop on Trust and Privacy on the Social and Semantic Web (SPOT2009), CEUR Workshop Proceedings, Heraklion, Greece. Retrieved from:
O'Reilly, T. (2008). Social Graph visibility akin to pain reflex. Retrieved from O'Reilly Radar: http://radar.oreilly.com/2008/02/social-graph-visibility-akin-t.html
Vitiello, E. (2002). Relationship; A module for defining relationships in FOAF. Retrieved from: http://www.perceive.net/schemas/20021119/relationship/
Yahoo Developer Guide. (2008). Friend of a Friend, Search Monkey Guide.
Retrieved from: http://developer.yahoo.com/searchmonkey/smguide/foaf.html