fyi, Chimezie has a blog post [1] including the mapping below between
Atom as interpreted by Mark Pilgrim's UFP (so it'll also work for
anyRSS) to RDF.
The target app is Emeka, an RDF IRC Agent which uses 4Suite/Versa,
though presumably the same approach could be taken with Redland (via
Python binding) or RdfLib for model/persistence. Whatever the RDF API,
it could form the basis of an Atom Store.
At some point it'll probably be a good idea to capture the mapping
from the core Atom constructs (as expressed in Atom/OWL [2]) to the
other vocabs/ontologies used - FOAF, SKOS, DC, presumably through
owl:equivalentClass/owl:equivalentProperty statements. (APP construct
mappings to follow, when someone's got a bit of time...)
Each entry is an instance of (atomOwl:Entry,rss:item)
* The URL of the feed -> an instance of atomOwl:Feed
* Feed - atomOwl:entry -> entries
* entry (link or id as URI) - rdfs:label,skos:prefLabel,dc:title
-> entry.title
* entry - dc:description,atomOwl:summary,rdfs:comment -> entry.summary
* entry,feed - dc:creator, foaf:maker -> foaf:Person
* entry.author_detail.name -> foaf:name
* entry.author_detail.email -> foaf:mbox
* entry.author_detail.href is the URL of the author
* entries.tags -> skos:Collection
* entries.tags.label -> skos:prefLabel
* entries.tags.scheme + entries.tags.term (URI resolution) -> URI
of skos:Concept
* entry - dc:created,dc:date,atomOwl:published -> entry.published
[1] http://copia.ogbuji.net/blog/2006-01-28/A_univesal
[2] http://pragmatron.org/trac/file/pragmatron/atom-owl/AtomOwl.n3
--
http://dannyayers.com