Subject: Atom2RDF via Universal Feed Parser

From: Danny Ayers <[email-masked]>
Date: Sun, 29 Jan 2006 16:47:02 +0100

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

---

From: Henry Story <[email-masked]>
Date: Mon, 30 Jan 2006 12:44:50 +0100

On 29 Jan 2006, at 16:47, Danny Ayers wrote:

> [snip]

I don't quite understand what is going on in that blog post.

> mappings to follow, when someone's got a bit of time...)

atom-owl already uses the foaf ontology for foaf:Person construct.
for DC there was some mapping someone made between DC and atom- 
constructs.

There was this wiki page:
http://www.intertwingly.net/wiki/pie/PaceEquivalents

My guess is that I could add some inheritance properties to atom-owl.  
Something like:

awol:id rdfs:subclassOf dc:identifier .

we would have to look at this case by case. Also should this be part  
of the main ontology?

Henry Story