September 11, 2003

Addition of foaf:gender to spec

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.

The addition of a 'gender' property to FOAF is obvious, but also not something to do lightly. I have tried in the documentation to highlight a few issues that users and developers should be aware of. FOAF is often compared to centralised databases such as Six Degrees (the old pre-crash version; the domain name seems to have been recycled) or Friendster. However, the FOAF "data set" (ie. the collection of all Web documents and services which use FOAF vocabulary) is highly distributed, ie. not under central control. FOAF is being put to uses that are literally out of control; there is no "FOAF sysadmin" who can delete, edit or update all FOAF profiles. The data is scattered throughout the Web, under the control of the people who publish it.

Consequently we need to proceed with a certain amount of caution when increasing the expressiveness of FOAF. Adding gender information to FOAF means that whenever someone is looking for a way to describe a person's gender in an RDF/XML document, there is a simple piece of FOAF markup that will do the job. We can't control what other information this will be mixed with, whether the information is accurate, or the uses to which it will be put. An obvious application people have been discussing is 'dating', and doubtless we'll see additional vocabularies to accompany FOAF which will go into more detail on that topic than FOAF itself will ever attempt. Other application areas include the (again long-awaited) treatment of 'family tree' data within FOAF, where foaf:gender could be used to help define other concepts, like 'brother', 'aunt', etc.

It's also worth noting that this addition to FOAF has been defined in general terms so that it is very widely applicable. We can talk about the foaf:gender of things that aren't human, eg. other animals. This is a good example of unexpected re-use, something often seen with RDF-based data formats such as FOAF. By adding the foaf:gender property, and combining FOAF with other vocabulary such as Wordnet, we could for example use FOAF and RDF to catalogue digital photos and say things like "this is a photo of a female Anteater". A random example, but one that illustrates the variety of unexpected uses that a single addition to an RDF vocabulary can facilitate. It will be interesting to see how foaf:gender gets used...

Posted by danbri at 11:39 PM | Comments (27)