XML Serialization

   [Patrick Stickler]
   It is an unfortunate case that many folks who approach RDF from the XML
   side, as opposed to the conceptual model side, struggle with issues
   relating to the representation of RDF graphs and resource identities
   in the serialization model. Not everyone does, but many do. QName to
   URI mapping is one issue. Two sets of terminology is another issue (i.e.
   the conceptual model talks of statements, predicates, subjects, objects,
   etc. but the serialization talks of descriptions, values, about, and
   predicate resources have an alternate representation from other resources,
   etc.). Multiple variant representations is another issue. 

   I think that alot of folks (many of whom I've heard from first hand) 
   have tossed RDF aside because they can't get past the serialization into 
   the model, which is a great pity, because the conceptual model is IMO 
   fantastic. Jaane Saarela recently shared with me that because of this 
   problem, when he teaches RDF, he focuses almost exclusively on the 
   conceptual model and tells folks to not worry about the serialization;
   which is how I wish *I* had first approached RDF, as opposed to trying 
   to grok RDF based on the syntax model and serialized examples...  ;-)

   Unfortunately, XML folks tend to approach a new XML application by
   first looking at the DTD and example instances. As I've said before, the
   serialization of RDF is the doorway into the conceptual model, so if that 
   doorway isn't inviting, or is too hard to open, not many folks are going 
   to come inside, no matter how grand the interior is. No?

This is something I don't understand about XML --- or pre-N3 RDF.  Why
do people treat the XML serialization as the *primary* syntax for the
notations they make up?  In the case of RDF, the result is a
nightmare, as you suggest, but even in the simpler, more ad-hoc
notations such as WSDL, the *only* way to write something is

<definitions>
   <message>
   ...
   </message>

</definitions>

The notation would be much clearer if it started off as something like:

Definitions
{
   message
     { ... }
}

The XML serialization could then be defined in an appendix, as a
format that any compliant system must be able to produce and accept
when communicating with other entities on the Internet.

<digression type="paranoid">

If I were paranoid, I might suggest that the purpose of using XML as
the primary notation is to make it difficult or impossible to define
complex subdialects.  Since even the simplest expression is large,
unwieldy, and impressive-looking, writing complex ones is out of the
question (and unnecessary, since the people watching your demo have
already been wowed by the impressive-looking trivial examples).

In other words, the people behind XML anticipated the development of
RDF, and squelched it in advance by making its serialization
impossibly cumbersome.
</digression>

A constructive suggestion: Why not make N3 the official version of the
RDF syntax?  There would be several advantages:

> It would eliminate confusion over the sense in which RDF graphs are
  a notation, not a domain of discourse.

> It would be serialized *already.*  Because N3 is the primary
  serialization, the XML serialization would be secondary, as it
  should be.

> N3 embodies a goodie or two don't exist in the official RDF, and
  this would be a good way to sneak them in.

                                             -- Drew McDermott

Received on Thursday, 30 August 2001 14:28:23 UTC