SOAP data model - comparison with RDF

Looking at the SOAP data model (SOAP part 2: Adjuncts, section 2;  also 
section 3 on graph encoding) I note the following:

Graph edges:
- SOAP: labelled with QNames or simple names
- RDF:  labelled with URIrefs
- SOAP: outbound edges from a node may be ordered
- RDF:  edges are not unordered:  any required ordering is obtained through 
labeling, or other means (c.f. RDF collections).

Graph nodes:
- SOAP distinguishes between "terminal" and "non-terminal":  terminal nodes 
have no outbound edges.  I'm not sure what the significance is, except that 
only terminal nodes may have lexical values, which is pretty much like RDF 
literals.
- SOAP distinguishes single-reference and multi-reference nodes, depending 
on whether they have one or more than one inbound edge.  (The SOAP spec 
doesn't seem to say which type is a node with zero inbound edges.)  I'm not 
sure what the significance is.
- Any SOAP node (terminal or non) may carry a local unique ID *and* a QName 
type identifier -- I don't know if the type identifier is restricted in its 
use, or can be used like an RDF node label.
- SOAP allows terminal nodes to carry literals *and* ID and type labels.

SOAP goes on to define a concept of "value" based on the graph constructed 
above.

...

On the (debatable) assumption that it's desirable for SOAP and RDF to use 
similar underlying models, the biggest problem I see is that SOAP 
recognizes an ordering on outbound edges from a node.  Mapping that into 
the RDF graph model would, I think, be difficult.

Other differences I note are:

- use of locally unique IDs on nodes (maybe we could treat those like bNode 
identifiers, excpet that they can be defined for *any* node?

- non-subject nodes can have both URI and literal labels.

- SOAP graph edges can terminate only at nodes defined in the same 
document.  (This is apparent from the encoding rules rather than the graph 
definition.)

- the QName label on a node must be used to indicate a datatype in a quite 
restricted fashion.  Again, this is only apparent from the encoding rules.

My conclusion is that, in the general case, there is very little 
commonality between the SOAP graph model and RDF's model.  The goals 
driving the graph design seem to be very different.   Specific applications 
with limited requirements might be able to span both models, but I don't 
think it's fruitful to try and do so in a general way.

#g


-------------------
Graham Klyne
<GK@NineByNine.org>

Received on Friday, 12 July 2002 21:13:33 UTC