W3C home > Mailing lists > Public > public-wai-ert@w3.org > October 2006

Design problem with "HTTP vocabulary in RDF"

From: Johannes Koch <johannes.koch@fit.fraunhofer.de>
Date: Fri, 13 Oct 2006 16:32:15 +0200
Message-ID: <452FA36F.2020305@fit.fraunhofer.de>
To: ERT group <public-wai-ert@w3.org>

Hi group,

there is a design problem in "HTTP vocabulary in RDF" that I detected
today: the order of headers, which is important for some of them. See
e.g. the content-encoding header
(<http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11>):

   If multiple encodings have been applied to an entity, the content
   codings MUST be listed in the order in which they were applied.

Assuming we have two content-encodings (first gzip, then compress), the 
HTTP response would contain the header:

   Content-Encoding: gzip, compress

in RDF/XML:

   <http:content-encoding>gzip, compress</http:content-encoding>

AFAIK this could also appear as two headers:

   Content-Encoding: gzip
   Content-Encoding: compress

in RDF/XML:

   <http:content-encoding>gzip</http:content-encoding>
   <http:content-encoding>compress</http:content-encoding>

AFAIK the order in which the property elements in an RDF/XML
serialization appear does not create an order of properties in the RDF
model. So in the RDF model

   <http:content-encoding>gzip</http:content-encoding>
   <http:content-encoding>compress</http:content-encoding>

is the same as

   <http:content-encoding>compress</http:content-encoding>
   <http:content-encoding>gzip</http:content-encoding>

but in HTTP it is not.

A solution would be to use rdf:Seq for the header properties:

   <http:content-encoding>
     <rdf:Seq>
       <rdf:li>gzip</rdf:li>
       <rdf:li>compress</rdf:li>
     </rdf:Seq>
   </http:content-encoding>

which could solve the problem per header/property.

I'm not sure whether there are situations where the order of different
headers matters. This could be solved when there is only one headers 
property with a Seq of Header objects each having e.g. a value property:

   <http:headers>
     <rdf:Seq>
       <rdf:li>
         <http:Content-encoding>
           <http:value>gzip</http:value>
         </http:Content-encoding>
       </rdf:li>
       <rdf:li>
         <http:Content-encoding>
           <http:value>compress</http:value>
         </http:Content-encoding>
       </rdf:li>
     </rdf:Seq>
   </http:headers>

-- 
Johannes Koch - Competence Center BIKA
Fraunhofer Institute for Applied Information Technology (FIT.LIFE)
Schloss Birlinghoven, D-53757 Sankt Augustin, Germany
Phone: +49-2241-142628    Fax: +49-2241-142065
Received on Friday, 13 October 2006 14:33:43 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:18:27 GMT