Revision as of 01:37, 1 November 2007 by Admin
This is a FoafVocab issue, documented as such by linking it from the IssueTracker page.
* Status: Active (discussion on rdfweb-dev) * Contact: mortenf
How to "connect" a person or weblog with an RSS feed?
When doing (social) network analysis like Scott James Remnant, it's often useful to be able to connect people or their weblogs with RSS feeds. A discussion about this on rdfweb-dev lead to a longish post by danbri on the subject. In addition to the knowledge that could be inferred directly , RSS feeds and FOAF documents often contain links to other document through the use of rdfs:seeAlso, making it easier to discover new knowledge indirectly as well.
Related to this issue is the SubscribesToIssue (and the SubscribesToForListsIssue), which seems to also cover the issue regarding blogrolls, and the KnowsAgentVocabIssue, regarding Typepad and the range of foaf:knows.
There are many ways to describe the connections between people or weblogs and RSS feeds, some of which are described in the longish post by danbri.
The problem with this issue doesn't seem to be to choose one canonical way, but rather to demonstrate when one might want to use one approach rather than another.
This section is mostly copy/paste from the longish post by danbri.
<rss:channel rdf:about="http://usefulinc.com/edd/blog/rss"> <foaf:maker> <foaf:Person> <foaf:mbox rdf:resource="mailto:firstname.lastname@example.org" /> </foaf:Person> </foaf:maker> </rss:channel>
This is a document (channel) centric approach -- the person centric approach would be to use foaf:made instead:
<foaf:Person> <foaf:mbox rdf:resource="mailto:email@example.com" /> <foaf:made> <rss:channel rdf:about="http://usefulinc.com/edd/blog/rss"/> </foaf:made> </foaf:Person>
Later on, the chumpologica started using an RDF blogroll to manage feeds:
<foaf:Agent rdf:nodeID="id2246022"> <foaf:name>Danny Ayers</foaf:name> <foaf:weblog> <foaf:Document rdf:about="http://dannyayers.com/"> <dc:title>Raw Blog by Danny Ayers</dc:title> <rdfs:seeAlso> <rss:channel rdf:about="http://dannyayers.com/feed/rdf"> <foaf:maker rdf:nodeID="id2246022"/> <foaf:topic rdf:resource="http://www.w3.org/2001/sw/"/> <foaf:topic rdf:resource="http://www.w3.org/RDF/"/> </rss:channel> </rdfs:seeAlso> </foaf:Document> </foaf:weblog> <foaf:interest rdf:resource="http://www.w3.org/2001/sw/"/> <foaf:interest rdf:resource="http://www.w3.org/RDF/"/> </foaf:Agent>
At the core, this is the same approach, with the addition of the weblog being associated with the person through the use of foaf:weblog (and with interests/topics, see Pages about people and the TopicInterestIssue, but also note danbri's point regarding the range of foaf:interest).
Even later, the WordPress FOAF Output Plugin has adopted the samme model.
FAQ:: One way of resolving this issue would be merge this page with more examples and danbri's points about groups, agents, documents and feeds, creating a document that would be ideal for an FAQ or a weblog post. This would require no changes to existing documents or applications, and would rely on rdfs:seeAlso being the preferred way of linking. This would however require a rewrite/merger, estimated at about 1 hours work.
Drop:: The issue could be resolved by dropping it, considering the problem of documentation covered by the now widely used foaf:maker and/or foaf:made. The estimated work load of this option is about 0.
foaf:weblogFeed:: Another, more direct, approach, would be to invent a new predicate, relating an RSS feed to the weblog it summarizes, as has been proposed by Dom Ramsey. This doesn't solve the problem with documentation and has an impact on the usefulness of rdfs:seeAlso, and would require changes to at least some applications out there. The work load for this option hasn't been estimated.