The Sun BabelFish Blog
Don't panic !
Atom Owl in Tuscany
Reto
and I both met up at Danny
Ayers' place last weekend, way up in a tiny village in the mountains
of Tuscany. My laptop was broken, but this did not stop us nailing down
a few more elements of the Atom-OWL ontology. The first thing Reto put
together after a little wine on Friday evening was a nice saintly logo
for our project, that fits in well with the spirit of Italy.
The next day we had a long dicussion about how we wanted to proceed with AtomOwl. Reto has some ambitious plans for describing web information resources in a very general way. The core of the AtomOwl project though, I argued, has to be to model very closely what that atom syntax spec has put together, as that was the product of close over 2 years of very careful discussion. The idea is to use if possible exactly the terms used by the atom syntax as this is now very well understood. There is no point working against such well established conventions. On the other hand relating the core to other more general ontologies is going to be a very good way to get a better grasp of what is involved. So we decided to go down a very modular path, with a base very close to the syntax, and some building blocks around this to link it to other conceptual spaces.
So while Reto laid the foundation for a wiki/web site for the project and his more abstract ontology, Danny focused on writing an XSLT style sheet to convert atom-xml files into RDF, I spent some time pair programming with both of them, and testing the ontology with pellet for consistency.
After a little to and fro, and some further refinements this week I think we have something that is presentable. The following N3 should be quite pleasant to anyone used to atom syntax:
[ a :Feed, :Version;
:title [ :value "dive into mark";
:type "text/plain" ];
:subtitle [ :value "A lot of effort went into making this effortless";
:type "text/html" ];
:updated "2005-07-31T12:29:29Z"^^xsd:dateTime;
iana:alternate [ = ≤http://example.org/≥;
:representation [ :type "text/html";
:lang "en" ]
];
iana:self [ = ≤http://example.org/feed.atom≥;
:representation [ :type "application/atom+xml" ]
];
:rights "Copyright (c) 2003, Mark Pilgrim";
:generator [ :uri ≤http://www.example.com/≥;
:version "1.0";
:name "Example Toolkit" ];
:entry [ a :Entry, :Version;
:title [ :string "Atom draft-07 snapshot";
:type "text/plain" ];
iana:alternate [ = ≤http://example.org/2005/04/02/atom≥;
:representation [ :type "text/html" ]
];
iana:enclosure [ = ≤http://example.org/audio/ph34r_my_podcast.mp3≥;
:representation [ :type "audio/mpeg";
:length "1337"^^xsd:integer ]
];
:id ≤tag:example.org,2003:3.2397≥;
:updated "2005-07-31T12:29:29Z"^^xsd:dateTime;
:published "2003-12-13T08:29:29-04:00"^^xsd:dateTime;
:author [ a :Person;
:name "Mark Pilgrim";
:uri ≤http://example.org/≥;
:email ≤mailto:f8dy@example.com≥;
];
:contributor [ :name "Sam Ruby" ];
:contributor [ :name "Joe Gregorio" ];
:content [ :value "≤div xmlns='http://www.w3.org/1999/xhtml'≥≤p≥≤i≥[Update: The Atom draft is finished.]≤/i≥≤/p≥≤/div≥";
:type "text/html";
];
]
] .
Clearly there are a few more elements that can be worked out, but I think we are now at a stage where it would be best if we did this on a public forum such as our google newsgroup. Otherwise we risk making decisions without remembereing exactly why, or having to re-explain the reasons for making these decisions in the first place. Please join us on that list.
Posted at 07:13PM Oct 23, 2005 [permalink/trackback] by Henry Story in SemWeb | Comments[0]

