Re: SAWSDL first working draft

So, one interesting thing in the WD is this section:
	http://www.w3.org/TR/2006/WD-sawsdl-20060630/#schemaMapping

This borrows from OWL-S the use of XSLT to map between XML Schema  
types and some other type system (e.g., OWL or RDF or what have you).

"""This specification provides a mechanism for associating optional  
schema mapping functions with a global type or element definition  
without any restriction on the choice of the schema mapping language.  
The following excerpt from the purchase order example shows how XSLT  
can be used as a schema mapping language to specify associations  
between XSD elements and concepts in a semantic model. Detailed  
examples showing mapping using XSLT [XSLT] and XQuery [XQuery] are  
shown in Appendix A.""""

Ok, like everything in SAWSDL, it's extensible, so it doesn't *have*  
to be XSLT. But the real question in my mind is whether 1) there is  
*anything* proper to use and 2) is XSLT etc. *ever* proper?

Now, frankly, I'm perhaps mostly to blame for this phenomenon, having  
gotten it into OWL-S. It was meant as a stopgap measure, as I was  
hoping for something a little more declarative, such as the Meaning  
Description Language (which seems to have gone away).

There is a certain conceptual sense in which "lifting" as they seem  
to be calling it is not absurd. You can see something similar in WSDL  
where the wire format need not be XML per se but the abstract  
interface type pretty much has to be XML schema. (You can add other  
type systems, but the WSDL working group hasn't specified any; nor  
has anyone else.) Of course, the XML schema type usually comes first,  
in this scenario, and the marshalling and unmarshalling is typically  
fixed, or nearly fixed, and lossless (since there is a generic  
translation).

But I worry a lot about hand written transformations between so  
unlike formalisms as XML Schema and OWL. Is there really an advantage  
moving from one to the other? I'm very skeptical. Stefan Decker  
pointed out years ago that there is a (roughly) closed world/open  
world mismatch between the OWL level and the XML layer (roughly, an  
OWL type doesn't tell you how *much* information belongs in the  
actual packet you're outputting, whereas the XML Schema does, sorta  
mostly). (XSLT *does* help a bit because it forces the data to be  
present and only slurps it the data you care about.)

There are several vantage points to consider things from. For  
example, with my planning hat on, I'm suspect that I could settle for  
using xml schema types for inputs and outputs, and use functions or  
xslt queries to break things down for the variables in the  
preconditions and effects. This isn't *so* different from lifting,  
except it put things in a better place and doesn't require you to  
determine whether your conversion is correct. It might also move us a  
bit closer to a message conscious paradigm.

Anyway, I'd be interested in hearing about thoughts, experiences,  
grumbles, etc. about this.

Perhaps a separate question is what sort of type system *do we really  
way* for web services? Where does XML Schema let us down?  
Matchmaking? What do you want out of your type system?

Cheers,
Bijan.

Received on Friday, 4 August 2006 09:55:36 UTC