- From: Ian Davis <iand@internetalchemy.org>
- Date: Wed, 19 Jan 2005 14:55:27 +0000
- To: www-rdf-interest@w3.org
I've been corresponding with Sean Palmer and Christopher Schmidt about the usage of an RDF List rather than one of the old container classes in their RSS 1.1 proposal. I think it has some semantic implications which may cause problems with aggregation and I'm looking for some other opinions on this. Given an RSS 1.1 document with some items: <Channel rdf:about="channel:URI"> <items rdf:parseType="Collection"> <Item><title>Post B</title></Item> <Item><title>Post A</title></Item> </items> </Channel> the triples produced are: <channel:URI> :items _:b1 . _:b1 rdf:first _:b2 . _:b2 rdf:type :Item . _:b2 :title "Post B" . _:b2 rdf:rest _:b3 . _:b3 rdf:type :Item . _:b3 :title "Post A" . _:b3 rdf:rest rdf:nil . Later on, a subsequent fetch of the same channel has the following XML: <Channel rdf:about="channel:URI"> <items rdf:parseType="Collection"> <Item><title>Post C</title></Item> <Item><title>Post B</title></Item> </items> </Channel> and the following triples <channel:URI> :items _:b4 . _:b4 rdf:first _:b5 . _:b5 rdf:type :Item . _:b5 :title "Post C" . _:b5 rdf:rest _:b6 . _:b6 rdf:type :Item . _:b6 :title "Post B" . _:b6 rdf:rest rdf:nil . When merged you end up with: <channel:URI> :items _:b1 . _:b1 rdf:first _:b2 . _:b2 rdf:type :Item . _:b2 :title "Post B" . _:b2 rdf:rest _:b3 . _:b3 rdf:type :Item . _:b3 :title "Post A" . _:b3 rdf:rest rdf:nil . <channel:URI> :items _:b4 . _:b4 rdf:first _:b5 . _:b5 rdf:type :Item . _:b5 :title "Post C" . _:b5 rdf:rest _:b6 . _:b6 rdf:type :Item . _:b6 :title "Post B" . _:b6 rdf:rest rdf:nil . First question: if an OWL schema for RSS 1.1 asserted that the cardinality of the items property was 1 then would an OWL reasoner conclude that _:b1 and _:b4 are the same and hence merge the triples to produce an ill-formed list? Second question: an interpretation of collections is that they are exhaustive enumerations so that a reasoner can conclude that no other members exist. Is it, then, a contradiction to have different elements in the collection at different points in time? Third question: how would one write a SPARQL query for the above construct. Assume I want to extract the channel title, and each item with its title and descripton from a smushed store containing data from multiple channels. With RSS 1.0 I can do the following: PREFIX rss: <http://purl.org/rss/1.0/> SELECT ?channeltitle ?title ?description WHERE ( ?channel rdf:type rss:channel) ( ?channel rss:title ?channeltitle ) ( ?channel rss:items ?items ) ( ?items ?li ?item ) ( ?item rss:title ?title ) ( ?item rss:description ?description ) I'm not even sure where to start with RSS 1.1 - does anyone have a suggestion for me? Cheers, Ian
Received on Wednesday, 19 January 2005 14:55:31 UTC