Revision as of 10:10, 12 May 2010 by Yi Zeng (Talk | contribs)

FoafExtensions

Contents

Existing Extensions

  • || UsingRelationship || detailed relationships info - by EricVitiello ||
  • || f4 || fan/foe/friend/freak relationships info - by BillKearney ||
  • || Advogato Trust Metrics || Advogato trust metrics - by BillKearney ||
  • || FOAF trust module || trust relationships - by EricVitiello ||
  • || Web of Trust || signing, assurance of RDF documents ||
  • || UsingContactNearestAirport || nearestAirport info ||
  • || geo || latitude, longitude altitude (WGS84) - by DanBrickley ||
  • || MBTI || Myers-Briggs personality type - by BillKearney ||
  • || SpeaksReadsWrites || language ability - by Leandro Mariano L�pez ||
  • || OwningStuff || notes on describing possessions ||
  • || Bio || A vocabulary for biographical information by IanDavis and DavidGalbraith ||
  • || Astrology || A schema for indicating Astrological birth sign by BillKearney ||
  • || The Trust Ontology || Trust and Reputation in Web Based Social Networks by JenGolbeck ||
  • || Vegetarian Ontology || An ontology to represent different kinds of vegetarians by JenGolbeck ||
  • || USNOAAD Vocabulary (formerly Twilight Vocabulary)|| Definitions of various terms related to data from the U.S. Naval Observatory Astronomical Applications Department. - by MortenFrederiksen ||
  • || "Visit" Vocabulary || A set of terms for indicating visited countries and states. - by MortenFrederiksen ||
  • || CV/Resume Vocabulary || Markup your resume in RDF and stick it in your FOAF. - by UldisBojars ||
  • || Tipjar Vocabulary || Information on donations and wishlists. - by ChristopherSchmidt (note schema is embedded in the page) ||
  • || reading list vocabulary || by Leigh Dodds. Here's an example FOAF file with book lists. Could be combined with Ideagraph's RDF review vocabulary ||
  • || Description of a Career || Share information about your resume or Career - by RamonParada ||
  • || E-foaf:interest Vocabularies || Extended FOAF vocabularies on user interests - by Yi Zeng, Yan Wang, Danica Damljanovic, and Zhisheng Huang ||
  • others? (LinkMe)


To find more, just search SchemaWeb for subjects with predicate=http://www.w3.org/2000/01/rdf-schema#domain and object=http://xmlns.com/foaf/0.1/Person (i.e. a search for properties whose domain is Person)

Writing Extensions

FOAF was designed to be extended. So long as each FOAF file is a well-formed XML document written in valid RDF syntax, you can say pretty much whatever you like in it. Most RDF web harvesting tools, eg. the various 'scutter' programs that explore and index FOAF documents, won't care about which properties and categories your file uses, just that they use RDF/XML syntax correctly. This means we can invent new properties and deploy them pretty cheaply.

Why is this interesting? Because it makes FOAF something more than a cheap fad for geeks. FOAF could be a basis for an extensible, standards-based platform for creating cheap fads for geeks. This is much more fun. Once folk get the hang of creating extensions to FOAF that don't break the basic syntax of FOAF (ie. RDF/XML) documents, we could see a whole range of extensions. Some frivolous, some useful.

A quick and frivolous example. Imagine you wanted to create an computer-based alarm clock based on FOAF, where instead of an alarm, your computer played sound samples of your friends (and friends' friends) shouting "Wake Up, slacker...". FOAF tools provide most of what you need, ie. tools that harvest information from your friends' Web sites and aggregate it in a local database. Except you need to know one more property associated with people described in FOAF documents. You want to know the URL of an audio clip (eg. MP3 or WAV) of their "wake up" message. All you need to do to deploy your FOAF-based alarm clock is to document the syntax for adding this new piece of information into FOAF documents. Then install a FOAF harvesting tool, write up some motivating documents, and produce some demos or applications that make interesting use of your FOAF extension. For this hypothetical 'FOAFAlarmClock' idea, this could be a program that periodically harvested sound clips and used them in an electronic alarm clock. If the tool is useful or fun enough, and your documentation sufficiently straightforward, you might find people even use it. In which case, the claim that FOAF is a platform for cheap fads might gain some plausibility...

Which brings us back to the need for examples and clear documentation. Ahem...

RDF for the FOAF Extensions Collection

That's ah... Quite a table we've got up there.

It would seem to me like we need an RDF model to describe the FOAF extensions! ;D

Suggestions

I'd like to see ways to include lists of books, movies, and music.

These items should be "rate-able" in some extensible way (i.e. we should be able to introduce new rating schemes in the future).

They should also be able to be marked in various ways. I.e. one book list might contain books that you're currently reading. Another book list attached to the same FOAF profile might contain books that you have finished, and that you recommend. Another book list attached to the same FOAF profile might contain books that relate to the internet that you recommend to your friends who are interested in that sort of thing. The description of the purpose of the list should be semi-standardized (e.g. there should at least be a standardized way to indicate a list of "currently reading" books) but also extensible (i.e. if some community wants to make lists of "books i'm planning to read", and this isn't in the standard, there should be a way to extend the standard to do this).

(p.s. since this is clearly not a novel idea (e.g. 1), perhaps it has been taken care of already? if so, this page should link to it)

-- BayleShanks

I found a few things and added them above. See also http://esw.w3.org/topic/BookVocabularies for more relevant links. Would still be interested in anything else that others have heard of, though.

-- BayleShanks