|
This question is asked so often I better blog about it. On the face of it,
the dramatic simplification of
FOAF that is
RSS-FOAF
leaves out one of FOAF's most important features, and that is the ability to
say "Person B knows Person C". Yes, that's right, it doesn't do that.
But read on, that is not a bug but a feature...
First: RSS-FOAF does support the less general case of Person A making
statements about its own relationships to Person B
and Person C: simply by listing them in their RSS-FOAF file. That makes sense
because unless Person A (whose RSS-FOAF file it is) knows Person B in one
way or another, they cannot actually talk about that Person B in any way
(because they don't know of the existence of B).
How well Person A knows Person B can then be expressed by Person A
categorizing Person B in the groups that RSS-FOAF can express (e.g. "friend",
"family", "obnoxious guy in the bar" or
"read about in newspaper" etc.)
The reduced expressiveness of RSS-FOAF does not leave out any information,
however. As an example, consider trying to determine the world's global social
network, i.e. all relationships that all people have with each other. To do this
within RSS-FOAF, one would start
with any Person A's RSS-FOAF file, and determine the people they know according to their
RSS-FOAF file. For each of the people listed, one would determine the URL of
their RSS-FOAF file, and query that. By keeping this up, all the world's RSS-FOAF
files (assuming it is ubiquitous) will represent all the information about
social networks there is, so there is no loss of generality because RSS-FOAF
does not allow Person A to make statements about the relationship between
Person B and Person C.
I consider this "reduced expressiveness" of RSS-FOAF a feature, not
a bug, because it removes redundancy and the potential of conflicts, and also
increases privacy. It does this because only Person B
gets to make statements about their relationship to Person C; Person A does not
get to do that. The person best in a position to tell the world about Person B's
relationship to Person C is Person B, not Person A. And chances are that if
Person B does not want the world to know about their relationship to Person C,
they don't want Person A to tell the world either.
So that's why there is no foaf:knows in RSS-FOAF, and why I think
that is a good thing, not a bad thing. There is no loss in generality. Additionally,
it makes RSS-FOAF much simpler again, which is a good thing from where I come from.
|