Re: LC 323 thoughts

---- Original message ----
>Date: Thu, 15 Sep 2005 16:33:28 +0200
>From: Jacek Kopecky <jacek.kopecky@deri.org>  
>Subject: Re: LC 323 thoughts  
>To: David Orchard <dorchard@bea.com>
>Cc: WS-Description WG <www-ws-desc@w3.org>
>
>
>Hi, 
>
>I think this is a very good summary of our options. My view is that
>SPARQL in fact does have multiple operations (most probably the four as
>described in point two below) 

That seems to be a strained view considering that their canonical wire format of 
the query isn't particularly specializable. That is, the query language is in a non-
xml format. The query processor, depending on the particular query you pop in, 
will return a different media type.

The operation (conceptually) is "process a query in this language".

You can argue that there is no such sensible operation and that they should 
have more finegrained discrimination on their input, but but but...then we aren't 
describing what they are actually doing.

[snip]
>> 1. Two different query operations that each have their own return
>> media type and then are deployed at the same url.  As jacek mentioned,
>> query operation has to fulfill the "operation name mapping"
>> requirement.  I'm not sure if this would also work for fault media
>> types, but probably.
>> 
>> Looking at their scenario, I think that a WSDL author that didn't know
>> or worry about media types that allowed two different return "types"
>> would define a different operation for each type, ala "get sparql" and
>> "get rdf". 

I don't see that that would have been natural. The result format is controlled by 
the query langauge form.

>> Deployed at the same URL, the qname (either rdf or
>> sparql-results) of the return value will tell them what "they got".  
>> 
>>  
>> 
>> 2.   Four different query operations that each have their own return
>> media type and then are deployed at the same url.  The sparql queries
>> have well defined rules for which media type will be returned based
>> upon the input query type.  I *think* they have actually defined about
>> 4 query types.  So they could define 4 operations:
>> 
>> Select returns sparql-results
>> 
>> Ask returns sparql-results
>> 
>> Describe returns rdf+xml
>> 
>> Construct returns rdf+xml 

The part that doesn't appeal about this is that there is no way in XML-Schema, I 
believe, to type check or dispatch the input to correlate with the output. If we 
had an xml format for queries so that we could specialize the input type, then it 
would be (more) appealing.

And what if there were an extension that allowed you to conditionalize the query 
form? E.g., if the number of results is >100, treat as a select, otherwise treat as 
a describe? Perhaps this isn't realistic?
[snip]
>> I think they are effectively asking the WSDL group "How many wsdl
>> operations are there", and we should provide them an answer.
[snip]

FWIW, at the tech plenary, everyone just assumed you could specify multiple 
alternative output types and that there was only one operation.

Probably, the real heart of the problem is that there is no effective type 
contruction language for mimetypes. I mean, we don't balk, I don't think, at a 
single operation returning an xml form that was a union of two disjoint types, 
right? Because xml schema can express that. It would be coherent with the alt 
schema document to say that if you want such capability you need to define 
your own language that can handle it and then WSDL will use that.

Cheers,
Bijan.

Received on Thursday, 15 September 2005 14:50:17 UTC