W3C home > Mailing lists > Public > public-ws-semann@w3.org > July 2006

review of last call of WSDL RDF mapping

From: Eric Prud'hommeaux <eric@w3.org>
Date: Fri, 7 Jul 2006 03:01:38 +0200
To: Jacek Kopecky <jacek.kopecky@deri.org>
Cc: SAWSDL public list <public-ws-semann@w3.org>
Message-ID: <20060707010138.GD14372@w3.org>

On Mon, Jul 03, 2006 at 06:26:37PM +0200, Jacek Kopecky wrote:
> 2006-05-23: EricP to review last call of WSDL RDF mapping
>             http://www.w3.org/TR/wsdl20-rdf/ by beginning of July
>  - ongoing, status?

I can't say that it's missing anything. In fact, it looks very well
thought out. I did, however, work out an opportunity we'd have in
RDFland (new theme park, very geeky). The spec [WSDF] calls for
extension elements to be mapped to XMLLiterals (chunks of XML in the
RDF graph)

[[
Extension elements are represented as XML literals containing the
whole extension XML elements (and should also include all the in-scope
namespaces and the XML base); ...
]]

and extenion attributes to be turned into a little graph construct:

[[
extension attributes are represented as instances of the class
ExtensionAttribute, which in turn have a name (property attributeName
pointing to a QName) and a value (property rdf:value pointing to a
literal containing the attribute value).
]]

This object is linked to the parent component (as represented in RDF)
by a wsdl:extensionElement or wsdl:extensionAttribute arc. This is
cool; it means we can take the mapping produced by a naive WSDL2.0 to
RDF mapping tool (one that does not know specifically of SAWSDL) and
implement SAWSDL entirely by examining the RDF model.

This suites SAWSDL well because its attributes do not rely on any
namespaces inherited from the document. SPDL (some crazy thing i'm
working on), however, has constructs like:

[[
<wsdl:Operation
    spat:SPAT='?req myservice:functionName myservice:JPEG2Gif'/>
]]

which require knowing the in-scope namespaces. SPDL is, perhaps, an
excentric, but there are lots of XML constructs with qnames in XML
attributes.

A way around this is to canonicalize the attribute in an element
called (arbitrarily) wsdf:extensionElement, ala

[[
<foo> rdf:type wsdf:InterfaceOperation .
<foo> wsdl:extensionAttribute
    "<wsdf:extensionElement xmlns:myservice="..."
        spat:SPAT='?req myservice:functionName myservice:JPEG2Gif'/>"^^rdf:XMLLiteral
]]

This allows latent namespace processing, and therefor, all your work
can be done after the XML document is unavailable.

Thoughts?

[WSDF] http://www.w3.org/TR/2006/WD-wsdl20-rdf-20060518/#genericext
-- 
-eric

home-office: +1.617.395.1213 (usually 900-2300 CET)
	    +33.1.45.35.62.14
cell:       +33.6.73.84.87.26

(eric@w3.org)
Feel free to forward this message to any list for any purpose other than
email address distribution.
Received on Friday, 7 July 2006 01:00:22 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 17 April 2012 12:14:27 GMT