The Syntax is API Fallacy (was Re: Short Essay: Squeezing RDF into a Java Object Model)

David Megginson david at
Tue May 4 17:25:41 BST 1999

Steven R. Newcomb writes:

 > The "syntax is API" fallacy is a well-intentioned simplifying
 > assumption that, instead of simplifying, creates complexity and
 > significantly reduces human productivity.

Just so.  When we're working in the database world, it should be quite 
easy to explain the place of structured markup by referring to the
different layers of information models:

1. Data Model - the physical organization of the information in
   storage (such as a collection of SQL tables with primary keys,

2. Object Model - the logical organization of the information from a
   programmer's point of view (for example, a collection of Classes
   that are derived from and/or contain other classes).

3. Interchange Model - the static, serial view of the information for
   archiving or interchange with external systems (for example, an XML
   document type).

Data system designers are used to thinking about the data and (more
recently) the object models, but are just starting to get their minds
around the interchange model, now that the Web is enabling (or
forcing) them to open up their systems and share more information with

The most important point in this structure is that the layers are
isolated: there is an n:n relationship between interchange models and
related object models, and an n:n relationship between object models
and related data models.

 > Einstein once said something to the effect that things should be as
 > simple as possible, and no simpler.  In the domain of information
 > interchange, groves, inheritable information architectures, and
 > property sets for inheritable information architectures make things
 > as simple as possible, and no simpler.

Fair enough, but there is no single data model or object model that is
appropriate for all systems, whether they happen to use XML or not:
Groves (or the DOM, for that matter, or the RDF data model) can serve
as an intermediate layer, but there needs to be a domain-specific
object model built on top that hides and abstracts the details.

XML should rarely be the central focus of a system's design, any more
than SQL or CORBA should be; it's just a (very good) enabling standard
for the interchange layer, just as SQL is an enabling standard for the
data layer and CORBA is an enabling standard for the object layer.

All the best,


David Megginson                 david at

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list