[foaf-dev] (static) functional properties for distinguishing people?

Dan Brickley danbri at danbri.org
Sun Mar 1 11:19:04 CET 2009

Hi foaf-dev,

Apart from one's natural date of birth, what other properties do you 
folk consider to be "functional" (and statically so)? I'm asking with 
regard to telling when two descriptions are of different people.

In RDF/OWL a property is functional if, for some particular thing, there 
is at most one true value for any specified property. Since RDF and OWL 
don't take time or context into account, this leaves a grey area around 
properties such as "age". I don't want to get into that modeling issue 
right now, but I am interested to look for plausible properties that can 
be used when comparing people descriptions, so we can say "if these two 
descriptions are both true, then they must be descriptions of two 
different people".

Historically we have focussed more on the complementary situation: 
figuring out when two descriptions are about the self-same thing (in 
FOAF, typically Person). This is useful, but we've neglected the need to 
distinguish people.

If I'm given:

a.rdf: <Person><homepage rdf:resource="http://danbri.org"/></Person>

b.rdf: <Person><homepage 

... nothing in RDF's logic prevents those from being about two different 
people. But they might also be descriptions of the same person.

similarly, even if a.rdf and b.rdf used URIs for people, RDF's logic 
still allows that they could just two identifiers for the same person.

This makes it difficult to go from a count of person descriptions, to 
counts related to the number of actual people mentioned.

c.rdf: <Person><x-dob>1972-01-01</x-dob></Person>
d.rdf: <Person><x-dob>1971-01-01</x-dob></Person>

With these, if x-dob is defined carefully, and we have conventions to 
avoid syntactic variation, impact of xml language tags, "official 
birthdays" (UK's Queen, etc etc), missing year field, use of 0000 for 
"don't knows", and other cornercases, ... it is conceivable that we 
could conclude from differing x-dob fields that we are dealing with 
different people.

There are of course privacy issues with "date of birth" fields (its use 
in banking security questions, for example).

Are there other general (not country-specific) properties of people which:

a) never change throughout (or after) their life
b) have simple lexical representation such that computing a comparision 
is feasible
c) have no security, privacy concerns beyond those intrinsic to being a 
way of distinguishing and describing people (ie. are not valuable secrets).

I can't think of any right now, and suspect the mix of technical and 
social considerations involved make this approach eternally infeasible. 
Just wanted to check I wasn't blanking out and missing something 
obvious. I assume we'll get by with hacks and heuristics rather than 
pure logical guarantees. Sometimes the data world is messy for good 
reason :)

Thanks for any thoughts,




More information about the foaf-dev mailing list