[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Extensibility in Syndication formats

--- Antone Roundy <antone@xxxxxxxxxxxxxx> wrote:
> After thinking about this briefly and realizing what
> it meant (I 
> think), this became the single most interesting
> point yet to come out 
> of this discussion.  Allow me to make another
> example (with some 
> fanciful elements and structure) to illustrate the
> point and see if I 
> understand it correctly:
> <item>
> 	<title>My title</title>
> 	<author>
> 		<name>Joe</name>
> 		<url>http://www.joe.com/</url>
> 	</author>
> 	<colors>
> 		<text>blue</text>
> 		<background>white</text>
> 	</colors>
> </item>
>  From this, we know that the item has an author and
> colors, but what do 
> the elements inside <author>...</author> and
> <colors>...</colors> 
> describe?  The author, or the item?  The "colors",
> whatever that is, or 
> the item?  We must understand this XML syntax to
> know.
> <item rdf:about="http://abc.com";>
> 	<title>My title</title>
> 	<author rdf:about="http://www.joe.com/";>
> 		<name>Joe</name>
> 	</author>
> </item>
> <colors rdf:about="http://abc.com";>
> 	<text>blue</text>
> 	<background>white</text>
> </colors>
> Not being very familiar with RDF/XML, I have a
> nagging suspicion that 
> I've done something wrong having the author right
> inside the item, but 
> the point is that now we know that the author's
> <name> is referring to 
> the author, and not the item, and that the <text>
> and <background> 
> colors are referring to the item (or, more
> precisely, to the same thing 
> that the item is referring to), because the
> rdf:about URI for <item> 
> and <colors> is the same--they're talking about the
> same thing.
> Does that capture a non-trivial part of what RDF
> gets us?  That we can 
> tell exactly what each piece of data is talking
> about? And as more 
> extensions are added to make places for more types
> of data within an 
> Atom feed, however they may or may not be nested, we
> don't end up 
> confused about what thing any particular piece of
> data is describing?

There are several issues with your example. The first
is common to all of RDF, using URIs as identifiers is
ambiguous (another URI permathread coming up).  

If I use RDF:about="http://www.microsoft.com";, am I
talking about the HTML retrieved by performing an HTTP
GET of that URL or the actual company Microsoft? Well,
it depends on context. If the tagname is <author> I'm
probably talking about the markup on the page but if
it is <ceo> I'm probably talking about the company.
This goes off into permathread land from here but this
example should get the point of why using URI as
identifiers is problematic in RDF. Since RDF isn't
used much outside closed environments or academic
circles you don't hear people complain about this
problem much. However if RDF ever gained traction on
the World Wide Web, this would be a significant

Secondly, XML is all about hierarchies so I fail to
see why one would think that an element described its
sibling as opposed to its parent element in a markup
vocabulary. That is simply not idiomatic XML. 

No matter how well it would perform, I will never construct any sort of machinery which is completely indestructible except for one small and virtually inaccessible vulnerable spot.

Do you Yahoo!?
Yahoo! Mail - 50x more storage than other providers!