[foaf-dev] The foaf:knows semantic, symetry and subclasses
Alexandre Passant
alex at passant.org
Thu Jul 24 11:32:31 BST 2008
Hi all,
The latest thread about the relationship vocabulary + foaf:knows [1]
and a blog post about using foaf:knows in exporters for social-network
services [2] (in french) made me think about the semantic and symetry
of foaf:knows.
As mentioned in [1] the foaf:knows property is currently "human-only"
symetric, since its says it does "require some form of reciprocated
interaction" but nothing states this in the ontology.
Yet, it seems it will be defined more formally in the spec (as an
owl:SymetricProperty I guess) [3].
So let's assume this is *really* (i.e. machine-defined) a symetric
property.
What [2] exposes is that using foaf:knows in exported social-networks
is partially wrong since there is not always a reciprocity: I might
know someone, but he does not necessary knows me.
This is where, IHMO, the semantic of the 'knows' relationship is
important.
Currently this is voluntary vague, so I'd say it can start from "I've
heard about / I know his existence".
If explicitly defined that way in the spec, using foaf:knows in
exporters might be good: as soon as you add someone as a friend in a
social networking website, he generally gets an alert, so knows you're
exist (in theory, as he might not read his mails, etc ...) - so
there's indeed a "know the existence" reciprocity (but no necessary
stronger).
Also, defining the semantic of foaf knows as "know the existence" may
solve the problem of some of the relationship properties that are
foaf:knows subproperties (eg: wouldLikeToKnow).
Yet, I still see two problems with the reciprocity of the property:
As the [1] thread explained, the subproperties of a symetric
relationship are not necessarily symetric, but as Henry pointed
there's still a problem:
{ rel:wouldLikeToKnow rdfs:supPropertyOf foaf:knows .
:me rel:wouldLikeToKnow :samanthaFox } => { :me
foaf:knows :samanthaFox . }
That's fine until you do symetric inferencing. Even with the proposed
lightweight semantic, I guess that Samantha Fox doesn't know your
existence (unless you're lucky ;)
But here, it might be a problem to deal with in the relationship
vocabulary, which was the previous thread topic, not with FOAF itself.
The second one is relationship-spam.
Spammers could add lots of foaf:knows, so that they'll get foaf:knows
backlinks thanks to symetry and inferencing.
So, my question is: when running inference on such symetric
properties, is there a formal way to state that it was inferred from
another one.
For instance, does the inferred relationship belong to the same graph
than the original property, so that we can add trust metrics to
foaf:knows properties, eg by trusting only foaf:knows rel in which the
subject "owns" the graph (or someone from his first-level social
network, etc).
Does it depends on implementation of the inference engine ? (I know
that 3store had an "entailement graph" to store inferred property).
I'd be happy to get feedbacks on those different points
Thanks,
Alex.
[1] http://lists.foaf-project.org/pipermail/foaf-dev/2008-July/009245.html
[2] http://www.lespacedunmatin.info/blog/index.php?2008/07/11/904-identica-foaf-et-sioc
[3] http://chatlogs.planetrdf.com/swig/2008-06-27.html#T17-04-46
More information about the foaf-dev
mailing list