[rdfweb-dev] foaf weblog'd

Phil Ringnalda phil at p...
Wed Sep 25 07:33:56 UTC 2002

I am only an egg, but...

Dan Brickley wrote:
> Hi Mark,
> On Tue, 24 Sep 2002, Mark Pilgrim wrote:
>> FOAF does seem like a natural fit for weblog-land, though, since people
>> seem to spend inordinate amounts of time grooming their "blogrolls" to
> They do? I guess I miss that, since I don't weblog myself (though I do
> read them). That's interesting to know.
>> announce to the world which communities they belong to. There have
>> been some attempts to standardize on a metadata format for these
>> blogrolls, but nothing has stuck yet. FOAF seems like a decent fit.
> It certainly sounds do-able. I'm a little wary of it getting into
> scenarios where people feel obliged to list their 'best-est friends' in
> order. In fact to date we've gotten along ok without actually having a
> relationship type called 'foaf:friend'. Instead, we list more concrete
> thigns, like facts about who wrote things together, who is in the same
> photos etc... Not sure how that'd map into weblog space. Maybe
> 'frequentlyCommentsOnBlogsBy' is roughly what blogroll amounts to? Or is
> it also 'admiresFromADistanceTheWritingsOf'?

It's actually a very complex set of relationships, modeled in nothing but a
href. Not a very expressive model. The range of relationships is from
readsAndRereadsEveryDelightfulWordOf to
hatesWithAFieryPassionAndSlamsEveryPostBy, with a rather large node around
sucksUpTo. The biggest problem that could be solved outside the space of
HTML links is hates... since many people realize that linking to someone,
even with <a href="">is a big fat moron</a>, just makes Google think more
highly of them. Would an "if you like Mark, you should also read" service
that counts his yea and nay votes, and then those of the people two or three
steps away, dropping the weighting at each step, be more likely to give good
results than just counting yeas? Or would it just be fun to come up with
subPropertiesOf foaf:enemyOf?

In any case, I'm not sure that the single relationship, foaf:knows, can
scale beyond a small group of people working in the same field. What does it
mean to say that I foaf:know someone in weblog space? I've answered
questions for a thousand or so, emailed several hundreds, commented on and
linked to a few hundred, and physically met zero.

>> http://rss.benhammersley.com/archives/001387.html
>> Simply put, I have a FOAF file, and I have an RSS feed, and I want to
>> point to my FOAF file from my RSS feed.
>> DJ Adams suggests dc:creator @rdf:resource:
>> [dc:creator rdf:resource='http://www.pipetree.com/~dj/foaf.rdf#qmacro' /]
>> danbri suggests inline foaf:
>> [channel]
>> [dc:creator]
>> [foaf:Person foaf:name="Dan Brickley"]
>> [rdfs:seeAlso
>> foaf.rdf"/] [!-- other properties here if you care, eg foaf:homepage --]
>> [/foaf:Person]
>> [/dc:creator]
>> [!-- other channel stuff --]
>> ....
>> [/channel]
> (reading [ and ] for < and >; it was an artifact of the discussion board)
>> In email, Kevin Burton suggested mod_link:
>> [l:link l:rel="http://xmlns.com/foaf/0.1/"
>> l:type="application/rdf+xml"
>> l:title="FOAF"
>> rdf:resource="LINK_TO_FOAF"/]
>> Does anyone have an opinion about which of these would be the best
>> choice?
> Unsuprisingly, I prefer my version. And we have tools that work with
> cross-linked RDF files that link in this style.

While I can see with my limited RDF understanding that Dan's suggestion is
likely to be the best thing to do for good to great RDF parsers, I'm not
quite sure it's actually the best thing to do here and now. Since some very
large percentage of RSS parsing is done as XML only, not RDF, and rather
naive XML parsing at that, having your <dc:creator> be nothing but tags and
attributes gives the same result as omitting it entirely. Even though I only
know of one RSS reader (Feedreader) that actually uses <dc:creator>, it's
still a start, and I don't think that requiring that they parse RDF, fetch
an external file, and parse it, will encourage any of the others to take the
first step toward supporting more of what RSS has to offer. It's clearly
less right, but I'd be more inclined to just link at the channel level,
either with mod_link or an rdfs:seeAlso, since the FOAF file is "A resource
that provides information about the subject resource", even though it's not
the most precise statement you could possibly make (tangentially: when I
went looking for the comment for seeAlso, I found that DJ's FOAF file is now
Google's second result for rdfs:seeAlso).

While my level of RDF parsing skill isn't really anything to go by, running
into Ben Hammersley's implementation of Dan's <dc:creator><foaf:Person> was
about third straw from the one that made me give up: I could handle a query
for (channel) (dc:creator) ?x when I got a literal back, but given a bNode
that might have one or more of four different name literals, or maybe just a
seeAlso, made me realize that I wasn't even capable of answering a question
as simple as "who wrote this?"

Phil Ringnalda

More information about the foaf-dev mailing list