Re: [RSS-DEV] RSS 1.1

* Hammond, Tony <t.hammond@nature.com> [2005-01-19 10:37-0000]
> 
> Hi Sean:
> 
> Couple quick comments on 1.1 before brighter young minds offer their more
> studied feedback.
> 
> 1. The one thing that really sticks out for me is the (rather silly?)
> capitalization on the 'Channel' element which looks like a throwback to the
> striping model. I think this is 100% guaranteed to put folks off this
> format. Let's have striping on - or off. But not some weird hybrid. Nobody,
> but nobody (well, maybe some people), will figure out the logic for
> uppercasing/lowercasing. Prefer the KISS principle. I do remain vehemently
> (sorry, but honest) opposed to this.

I don't think this is silly at all. Capitalisation of class names in RDF 
is one of the few hints/heuristics we have to offer folk who don't have
built-in mental RDF parsers. RSS1 was unconventional in that the class 
'rss1:channel' was named with a lower-case letter. Most other RDF
vocabs (well, those in the roman alphabet anyway) have classes named 
with a capital letter, and properties named with an initial lowercase.
When this convention is used, it makes it relatively easy to skim an RDF 
document (even if using unstriped conventions such as
parseType="Resource") since you can generally say to yourself "oh, it's
capitalised... that means that this element stands for an instance of 
some class". In FOAF for example we have Person, Document, Image, etc., 
for classes, and everything else is a property. Some programming 
languages (eg. Java but not I think C#) stick to similar conventions.

When you see a capital letter, eg. as in the 'C' in 

<Channel xmlns="http://purl.org/net/rss1.1#" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
   rdf:about="http://www.xml.com/xml/news.rss">
<title>XML.com</title>
<link>http://xml.com/pub</link>

...try reading it as "there is a '[C]hannel' and it has a 'title' 
property whose value is 'XML.com' and it has a link property whose
value is 'http://xml.com/pub'. 

In fact it looks like 'item' ought to be 'Item', for consistency
here, since it is the name of a class... 
Looking at the ontology at the end of 
http://inamidst.com/rss1.1/ it says:

[[
:items rdf:type rdf:Property; 
   rdfs:label "items" .

:Items rdf:type owl:Class; 
   rdfs:label "Items"; 
   rdfs:comment "Never syntactically appears as an element."; 
   rdfs:subClassOf rdf:List, 
     [ rdf:type owl:Restriction; 
       owl:onProperty rdfs:member; owl:allValuesFrom :item ] .

:item rdf:type owl:Class; 
   rdfs:label "item" .
]]

My preference would be for "items" to be called "ItemList"
with allValuesFrom a class called "Item".

cheers,

Dan

Received on Wednesday, 19 January 2005 10:53:08 UTC