RSS-FOAF

From My MediaWiki

(Redirected from Rss-foaf)
Jump to: navigation, search

Contents

Overview

History

RSS-FOAF is a proposal to incorporate social networking information into RSS feeds, by introducing a small set of new XML tags in a new namespace, like other RSS extensions do. It came out of an earlier proposal for a substantially simpler FOAF called Rsfoaf that defined an entirely new file format and that is now obsolete. It has since become clear to me that extending RSS with FOAF information would be a much more promising avenue, as RSS clients are so widespread already.

Basic Idea

To represent social networking information, we need two basic concepts:

  • Person: the person with whom somebody has a relationship. (Or more generally an Entity that could be a Person, Pet, Organization...)
  • Group: the group that the Person belongs to.

Consequently, RSS-FOAF must be able to represent a set of Groups, each of which can have any number of members.

For example, an individual may declare its social network as follows:

  • Family
    • Jane Doe
    • Hasso
  • Strangers
    • Richard Roe

RSS-FOAF is not intended to capture information already defined in other formats, such as VCards. A suitable VCard RSS extension (RSS-VCARD?) could be easily defined separately.

Mapping

Given that there may only be a single channel element in RSS, the two levels of social network information (see example above) must be mapped into a single hierarchical level in RSS. RSS-FOAF does this as follows:

  • All people and other entities (pets, organizations, ... short: people) with whom the individual has a relationship become RSS items, annotated with the rss-foaf:type tag to express what type of entity (Person, Pet, ...) they are.
  • All groups into which the individual categorizes the people become RSS items, annotated with the rss-foaf:group tag to represent the fact that they are groups.
  • The relationship between the people and the groups are expressed through the rss-foaf:rel tag with whom any person can be annotated. This tag references the guid of the item representing the group to which the person belongs.

Fallback behavior

Feeds are encouraged to use standard RSS tags to convey the same information as the information held by the rss-foaf tags, so RSS readers that are not aware of this RSS extension can nevertheless display meaningful information to the user.

For example, the value of rss-foaf:group's name attribute (e.g. "Family") could be also used as the title of the RSS item.

New Tags

Namespace

RSS-FOAF uses the URL of this very page (http://rss-extensions.org/wiki/RSS-FOAF) as its namespace.

The rss-foaf:type Tag

This tag indicates that an RSS item should be treated as representing a Person or other entity (Pet, Company, ...) with whom the individual exporting the extended RSS feed has a relationship with.

This tag has the following attributes:

  • name (optional): the kind of Person, or other entity this is, in the words of the individual exporting the extended RSS feed. Example: "Person".

Standard RSS provides for the link tag. When used in conjunction with RSS-FOAF, the information provided in this tag shall indicate where one can find out more about the person. The use of the guid tag is discouraged (and would probably be futile anyway).

The rss-foaf:group Tag

This tag indicates that an RSS item should be treated as representing a social group, as seen from the perspective of the individual exporting the extended RSS feed.

This tag has the following attributes:

  • name (optional, but recommended): the name by which the individual wants to call this Group. Example: "Rare book collector friends".

Standard RSS provides for the guid tag. The use of this tag for RSS-FOAF groups may be appropriate in many circumstances in conjunction with this RSS extension. Feeds are encouraged to use a URL-based identifier that can be dereferenced for guids of Groups.

The rss-foaf:rel Tag

This tag may be contained by RSS items that represent a Person or other entity with whom the individual has a relationship with. I.e. this tag shall only be used for an RSS item that also contains a rss-foaf:type tag.

There may be any number of rss-foaf:rel tags contained in an RSS item element.

This tag has the following attributes:

  • to (mandatory): The value of this attribute is the value of the guid of the RSS-FOAF group that it represents.

FAQ

Do you assume some kind of shared ontology for the tag values, such as "Person"?

No, absolutely not. The individual exporting the RSS-FOAF feed is completely free to use any language and any ontology. No assumptions are made about what "Person" means, for example.
Mark Wahl earlier suggested that some tags could contain additional tags identifying the concepts from a ontologies that the element uses. For example, one could use this to point to a concept of "Person" in a shared ontology somewhere on the web. This is currently not in scope for RSS-FOAF. Chances are that any such mechanism would be broadly applicable and not just apply to RSS-FOAF, and thus it could/should become its own RSS extension that, of course, could be used in conjunction with RSS-FOAF.

Is there an example somewhere?

Right here: http://netmesh.info/jernst/Big_Picture/foaf-in-rss.html

License

Following the example of Microsoft for their RSS extensions, this RSS extension is licensed under the Creative Commons Attribution-ShareAlike License (version 2.5). The author is Johannes Ernst of NetMesh, his blog is at http://netmesh.info/jernst .

Personal tools