OpenID & FOAF
Another question emerging from the OpenID event, which I think Scott may have mentioned in passing, but I can't recall anyone discussing in detail, is raised by Mike Ellis here: how does OpenID fit in with the "social graph" and the various specifications which deal with "personal profiles" and other aspects of my "social network", things like the Friend of a Friend (FOAF) RDF vocabulary and XFN?
While I don't claim to be in a position to give a full answer to that question, it's worth noting that the FOAF-folk have recently introduced a property foaf:openid , which is designed to express the relationship between an agent and an OpenID. A couple of points about the FOAF approach to OpenID:
- the
rdfs:rangeof thefoaf:openidproperty is the classfoaf:Document, so the URI used as the object of a triple with afoaf:openidpredicate - i.e. the OpenID URI - denotes a document, not the agent itself. However, the property is defined as - in OWL terms - an inverse functional property, meaning that anything that is thefoaf:openidof something, is thefoaf:openidof no more than one thing. If I find two separate triples each associating some unidentified agent with the same OpenID URI, I can conclude that they are talking about the same agent. So in effect, the OpenID URI becomes an "indirect identifier" of the agent. - the
rdfs:domainof thefoaf:openidproperty is the classfoaf:Agent, not the classfoaf:Person. Since the classfoaf:Agentincludes not only persons but also "organisations" and "groups", this allows for the scenario in which a single OpenID URI is indeed shared by several individuals constituting a singlefoaf:Agent.
And for a rather nice example building on this and using FOAF and OpenID in tandem, see Dan Connolly's piece, "FOAF and OpenID: two great tastes that taste great together", where the "social graph" obtained from FOAF data is used as the basis of a "whitelist" for authorisation choices:
... you can comment on our blog if:
- You can show ownership of a web page via the OpenID protocol.
- That web page is related by the foaf:openid property to a foaf:Person, and
- That foaf:Person is
- listed as a member of the DIG group in http://dig.csail.mit.edu/data, or
- related to a dig member by one or two foaf:knows links.


"That web page is related by the foaf:openid property to a foaf:Person"
- where is this triple coming from? You need a trusted source for this.
Posted by: Mikael | November 20, 2007 at 08:28 AM
I was quoting Dan Connolly's piece at that point ;-)
But, yes, I assume the FOAF data they are using as the basis for this is gathered from a set of trusted sources.
So I can't just spam it with some data that says the Person with the OpenID http://getopenid.com/JoeSpammer is the Person with the mailbox mailto:timbl@w3.org or whatever.
Posted by: PeteJ | November 21, 2007 at 07:31 PM