BURNINGBIRD
a node at the edge  


September 22, 2002
TechnologyWell, FOAF you too!

It would seem that there are folks out and about playing with RDF, in particular FOAF,a Friend-of-a-Friend RDF vocabulary. Mark Pilgrim's playing with it. So is Sam Ruby and Phil.

Phil had some problems with the original FOAF file generated for him by the FOAF-o-matic in that it includes blank nodes -- equivalent to a subject-predicate-object (noun-property-value) that doesn't have a specified subject. He provided his own 'label' to the nodes so that they then wouldn't be blank.

Usually a blank node is used when a label doesn't serve a purpose or doesn't yet exist. For instance, I might use a blank node (these used to be called anonymous nodes) to represent a "location" object. I don't really care about accessing the location, I want to access the location's parts: the city, the state, the zip code. I only use an object to group these items schematically, but I'm not interested in actually accessing the grouping directly.

If I decide to have multiple locations and I do want to identify them individually, then I would add labels to the nodes for the locations and they would no longer be blank.

One assumes the FOAF designers didn't see one accessing specific person's as much as one would access those attributes of person: name, SSN, etc.

In relational database systems, the concept behind a blank node is analogous to dummy keys or auto-generated identifiers given to uniquely identify a row in a database table. This identifier is mainly used by the database system, rarely be applications built against it, and never directly by people.

Anyway, back to FOAF. Friend of a friend. The purpose behind FOAF is increasing our knowledge about people in a community according to an article by Edd Dumbill. I'm most interested in FOAF because of the possibility of using it to build a complex web of trust based on the idea of this person knows someone, who knows someone else, who knows someone else, who knows someone else, who knows you, and so on. If you know and trust me and I know and trust Phil and he knows and trusts Joe down the road, you're more likely to trust Joe because of this indirect relationship then if you just found him by happenstance.

FOAF becomes more usable, as with most RDF, when data from the various FOAF files are parsed and merged into a common data source, and then the recursive querying can occur. Who knows this Joe? Well, Phil knows Joe. I don't know Phil, so who knows Phil? Shelley knows Phil, and on and on. It's handy being able to query for Edd's email address and nickname with FOAF, but it's handier knowing who Edd trusts.

FOAF files are easy to generate and fairly easily to consume with any number of RDF APIs and tools (in Perl, Java, Python, PHP, and so on).

It's an interesting vocabulary with some potentially interesting uses. I'll be curious to see what uses the weblogging community come up with in their current explorations.


Posted by Bb at September 22, 2002 12:34 AM


Trackback Count (4)

Comments

I'd be dancing in the aisles about what we could build, what with the two memes-of-the-weekend, FOAF and RSS comment feeds, being the two things I needed people to do for my RDF-in-RSS project, if it wasn't for the fact that Dave pointed out that my "show me everything that Bob posted today, all his blogs and other people's comments too" tool might as well be called the Stalker's Dream Machine. I'll probably still do it, but it's a little disquieting, being in the same sort of position as a handgun manufacturer.

Posted by: Phil Ringnalda on September 22, 2002 01:25 AM

Phil, if we post to the public domain, then we'll have to assume we're read by friendly and unfriendly eyes. And if we have people who want to jump out at us and get nasty the best recourse is -- ignore them.

We don't stop advances in communication because there's the possibility of some people using it for harm. If we are that concerned about bad uses of good technology, we should delete our email systems, destroy our radios and televisions, take down the phone lines, stop reading the newspapers and magazines, and stop going online.

We're all big kids here. We can take care of ourselves. You build your application and we promise not to sue you for mental stress because we use it ;-)


Posted by: Shelley aka Bb on September 22, 2002 01:46 AM

The problem with FOAF alone is that you can't really build a web of trust from it. I may *know* this person, but only as an acquaintance, so I can't really vouch for them, whereas this person I have known since the age of five and would trust my life with — there's no way, as far as I know, within FOAF itself to seperate those two statements out. If you add in the relationship module that Mark pointed to before then you can sort out a few of those problems but you still can't get all the way there.

Take for example a hanger on. I know someone just like this, he's never invited to places, but he always invites himself. People never want him to hang around but he always does. Let's pretend for a moment that he wasn't technologically inept, and that he was creating a FOAF. He might point at me or someone else I know and say friendOf, while that person doesn't point back, because they are unaware of his pointing. Who do you believe?

Of course the problem is solved if the other finds out, because I would assume an enemyOf would always undo any relationship level pointed out by the other side, but unless you've got a two way link there and both confirm it, how do you know it's true?

Posted by: Lach on September 22, 2002 08:58 AM

Yanking the conversation rudely in a different direction...

It was my understanding that FOAF people are blank nodes because nobody in the Semantic Web effort knows how to assign a person a URI yet. Does their web page URI count? (Then what about yarinareth.net, which belongs to me and my husband?) Email address? (One-to-many relationship, plus it's not permanent.) Randomly-generated identifier? (Yuck. Don't we have enough of those?)

Did I miss something here (again)?

Posted by: Dorothea Salo on September 22, 2002 10:11 AM

No, you didn't Dorothea.

Posted by: Shelley aka Bb on September 22, 2002 10:24 AM

I *sort of* agree with Lach's observation.

There's a similarity (if vague) to the assumption one can understand a person, at least to a small degree, by the links they provide on their site(s). Not to say this can never act as a helpful gauge, but often it can skew ones observation. For example, I offer up a few choice links to blogs (or less involved sites...) I myself find provocative or useful to visit, though I hardly hold to their views, let alone consort with the individual or group behind them or trust them enough to keep an eye on my wallet.

With that said, it appears (from what I understand of FoaF and have read into comments by some of the participants) it can be easy to over-emphasize "Friend" or the meaning behind trusted relationships in FoaF. For example, I like the opportunities given by Edd Dumbill in how FoaF could be put to work: for e-mail filtering by prioritizing mail from trusted colleagues; aid those new to a community; locate people with similar interests. These are excellent issues FoaF may be used in solving, and I believe they show how FoaF defines less a provision of trusted ties as it does a simple collective of sub-relationships within a community.

That is to say, if I provide a link that provides a link that provides a link and on down the line, this should be taken less as an assumption of trust between two extreme ends of the chain and more a familial (or community) linkage. If I can be allowed to obscure the word within a new definition, this is semantic and not personal "trust"; that's not to mean the latter can't be formulated in FoaF, but as I think Bb made clear with her comment about one being "more likely to trust Joe", final responsibility in deciding that trust will always fall to the individual. Though the tools may help guide us better, there'll never be a technical solution to get us around it completely (or so I hope).

As an aside, note the warning of toolmakers: a danger with any tool is in the attempt to use it for what one "assumes" it's meant for.

Phil, any additional tool leading to RDFWeb revising their header text is probably a good thing. =]

Posted by: Kafkaesquí on September 22, 2002 10:26 AM

Lach, at issue is the direction of the friendship. I say I am friend of A, and A is friend of B, and so on. Because I start the chain of trust, and I am the one trusted, the trust follows from my declaration of friendship. Now, A may not think of me as friend, or B may not think of A as friend but that's not the direction of trust.

If one-way trust isn't enough, the vocabulary still provides that simple little 'relates to' feature, and one can confirm that the relationship is two-way.

FOAF wasn't necessarily setup for a web of trust, but the concept of establishing a relationship between two people or entities or organizations is really what's needed.

Your description of hanger on -- taking the tech out of the conversation, that's a sad description.

Posted by: Shelley aka Bb on September 22, 2002 10:38 AM

A little note about trust...

One can be trusted with various different roles, and the degree of trust in each of these roles is not necessarily related. For example, I might trust a person not to send spam, but that doesn't necessarily mean that I trust them not to misplace their trust in a spammer. So in addition to being able to say that someone is a friend you may also want to make more specific assertions of trust depending on what application you want to use this web of trust for.

Web of trust systems are interesting, and they may well be useful, but they are a bit tricky sometimes.

Posted by: colin_zr on September 22, 2002 05:28 PM


Post a comment

Name:


Email Address:


URL:


Comments:


Remember info?