RE: Semantic content negotiation (was Re: expectations of vocabulary)

-- Reto

> Still not seeing exactly why I should be able to tell UPS "if 
> possible, give me that letter in French,  German or English" 
> and not "if possible, give me that graph using FOAF, DC 
> and/or SKOS". As I'm actually implementing software doing 
> both content-negotiation and delivering graphs I'd like to 
> come back to the issue I'm looking to solve, happy to discuss 
> other approaches:

Here is an analogy.  In the first case, I can have two versions of one
article. One in English and one in Chinese.  I will send the appropriate
representation according to Accept-Language.

In the second case, I have a document in Chinese but sprinkled with some
paragraphs in Engish.  If you ask me to return only those paragraphs in
English, you are asking too much, don't you think?

Whatever the HTTP headers ask, the resource is still treated as a cohesive
unit.  It applies to the resource in an all-or-none fashion.  If any request
demands the resource be broken into pieces, I think it steps out of the
boundary of HTTP GET.
 
> The webserver serving the resource <http://gmuer.ch/> 
> delivers two different XML documents depending if the Accept 
> header is set to "application/atom+xml" or to 
> "application/rss+xml". XML clients get what they want, 
> whether they prefer RSS or Atom. 

Again, they are two independent documents representing the same resource.
They are not two parts residing in one document, with part-1 being in atom
and part-2 in RSS.  

> How can I do something 
> similar for RDF oriented clients with different levels of 
> understanding of AtomOWL, AtomRDF, RSS 1.0 and/or RSS 1.1? 
> Delivering several triples with identical (or near identical) 
> meaning for every assertion an saying "sort it out when it 
> gets to your home" doesn't seem ideal to me.

I have answered this question before.  But let me repeat it again.  Your are
only thinking in very limited use case with the returned RDF triples
described in vocabularies from only one namespace.  But RDF is not limited
to that.  An RDF document can be constructed in vocabularies from any number
of namespaces.  How can you possibly put all sorts of combinations in an
HTTP header?

Such kind of reasoning is faulty: if I can do it in XML, why cann't I do it
in RDF?  Or vice versa.  By the same logic, everything doable in XML can
also be done in RDF and vice versa, why do we bother to start RDF anyway?
The inherent differences between XML and RDF are huge, though appears
subtle.   

Besides, do you ever write an article putting all possible synonyms in it?
I am not sure about you, but I never did.  It is the same for RDF.  No one
would write the same description in all available vocabularies.  If it were
me, I will choose the best sets that I think benefit me.  Whether you
understand my description or not is not my concern.  Of course, if I
eventually found out that I am using sets of obsolete vocabularies that hurt
my resource being understood by others, it will force me to change my
description in more popular terms. But if I even elect to change or not is
not your concern either.  If my resource is important enough and I am lazy
as I have always been, I can just sit there and force you to find ways to
understand my resource. 

Cheers,

Xiaoshu

    

Received on Thursday, 27 July 2006 14:43:12 UTC