- From: Dan Brickley <danbri@w3.org>
- Date: Fri, 12 Nov 1999 17:47:47 -0500 (EST)
- To: www-rdf-interest@w3.org
On Wed, 10 Nov 1999, Perry A. Caro wrote:
> Dan Brickley wrote:
>
> > the
> > Cambridge Communique clarifications about the relationship between RDF
> > and XML [4]
>
> Pardon the out-of-context digression, but your mention of the Cambridge
> Communique reminded me that I'm confused by that very document. I've read
> it, both at face-value and with an attempt at reading between the lines, and
> the impression I come away with is that the RDFSchema and XSchema camps have
> agreed to disagree.
No; we agreed to agree.
> This strikes me as tragic.
>
> What I'm sure most of us developers want to know is:
>
> * How do we decide which one to use (RDFSchema vs. XSchema)?
The only thing to regret is that we used the same word for different
things.
<disclaimer>
This is just my personal gloss on the situation, not an official policy,
decree or pronouncement of W3C, the RDF WGs or anyone else. ie. don't
bother trying to read between the lines, it's only whitespace ;-)
</disclaimer>
The Cambridge meeting was very positive, and made genuine progress on
some tough issues. The 2nd item in the communique is, to my mind, the most
valuable observation:
2. Many data-oriented applications are being defined which build their own
data structures on top of an XML document layer, effectively using XML
documents as a transfer mechanism for structured data;
(from http://www.w3.org/TR/1999/NOTE-schema-arch-19991007)
RDF is only one such application layered on top of XML. There are many
others. One way to think about this is that XML Schema is producing a
successor to DTDs to allow data-oriented applications to be better served
by XML. RDF is one of several data-oriented applications that stands to
benefit from XML Schemas.
It is clear (see for eg excerpt from the 'XML Schema: Structures' document
below) that XML Schemas are targetted at describing classes of XML
documents. The Cambridge Communique notes that such documents are now
commonly used to transport data between systems that have their own way
of modelling the world. This isn't just RDF -- other examples include
various ways of serialising eg Java and CORBA objects using XML.
XML Schemas are likely to be much used instead of DTDs when using XML for
database and object-serialization applications. RDF applications are in this
context analagous to such systems: we will IMHO likely see XML Schemas
used to facilitate the transportation of data between RDF-based systems.
(from http://www.w3.org/TR/xmlschema-1/ )
The purpose of an XML Schema: Structures schema is to define and
describe a class of XML documents by using
these constructs to constrain and document the meaning, usage and
relationships of their constituent parts:
datatypes, elements and their content, attributes and their values,
entities and their contents and notations. Schema
constructs may also provide for the specification of additional
information such as default values. Schemas are
intended to document their own meaning, usage, and function through a
common documentation vocabulary. Thus,
XML Schema: Structures can be used to define, describe and catalogue XML
vocabularies for classes of XML documents.
There was much talk at the Cambridge meeting about appropriate mechanisms
(eg. XSL, or additional declarative annotations) that might be included in
an XML Schema to facilitate mappings to application data models (RDF and
others, eg. OO systems, databases). I believe we'll see placeholders for
such annotations in XML Schema, but that the content of these annotations
will be for others to describe, ie. XML Schema anticipates but doesn't
enumerate these application-specific mapping annotations.
RDF is a modelling formalism targetted at describing classes of
'resources', where resources (roughly) are things that might
be identified with URIs, ie. everything. Again, RDF isn't alone in
this - lots of other XML applications describe stuff. While XML
Schema in itself only describes classes of XML document,
instances of those document types (whether RDF or not) use XML to describe
pretty much everything. So there's a subtle and interesting connection
between mechanisms for describing XML document types (ie. XML Schemas) and
the descriptive conventions of systems that use those document types to
describe non-XML resources.
Consequently we see in the Communique...:
An XML Schema schema document will be able to hold declarations for
validating instance documents. It should also be able to hold
declarations for mapping from instance document XML infosets to
application-oriented data structures.
This acknowledges that there are many more data management systems on this
planet than XML and RDF. XML gives us a universal syntax for shipping
chunks of data around the network; one much-desired component of this
picture is the ability to write down in XML declarations some info about
how to turn the shipped-about data back into other representations.
> * Are we going to have to live in a world where we have to support both, and
> have two sets of processors, two sets of specifications, two sets of user
> guides, converters to/from, etc., etc.?
I believe the Cambridge meeting went a long way towards minimising such
duplication, confirming that XML Schema constructs will work with RDF, and
establishing common understanding about what we're collectively trying to
do.
The communique says...
The XML Schema and RDF Schema languages are separate languages
based on different data models and do not need to be merged into a
single comprehensive language.
This was the considered technical judgement of a group of people drawn
from both XML and RDF schema groups. And I think it is true: RDF Schema is
a vocabulary description system for the Resource Description
Framework. XML Schemas define and describe classes of XML
document. These are different, although related, activities.
As noted below, the RDF approach to vocabulary description is pretty
minimalist right now. In essence, all RDF Schemas says is the following:
"We should use the RDF model to describe RDF vocabularies".
This follows quite simply from the approach taken in the core RDF model
itself and from an axiom of Web architecture mentioned by DanC earlier:
"The Web works best when anything of value and identity is a first
class object. If something does not have a URI, you can't refer
to it, and the power of the Web is the less for that."
-- TimBL, Dec 1996
http://www.w3.org/DesignIssues/Axioms
Since RDF itself (even without Schema) already gives us a nice model for
describing things with URIs, anybody who has an RDF storage or query
system pretty much already has implemented an RDF schema management
system as well. That's the nice thing about using RDF to describe itself.
However, since RDF's current XML syntax is widely considered a little cumbersome,
RDF *in it's current syntax* does not recommend itself for all descriptive
tasks (eg. describing XML document types). This doesn't stop us later on
describing mappings of non-RDF XML syntax into the RDF model, in cases
where this is considered useful. (The circularity here is that
better-than-DTDs mechanisms for describing XML document types (ie. XML
Schema) are just the kind of mechanism that will make it easier to have
nicer RDF syntaxes.)
While it may be possible to consider XML Schema documents generally to
be making RDF statements about XML document types (ie. following the DCD
approach http://www.w3.org/TR/NOTE-dcd ) I don't believe anyone considers
this an urgent priority for XML Schema right now. There are a bunch of
things that it would be useful to explore; the role of the Cambridge
meeting was to help people decide which issues were critical, and which
were opportunities to explore later.
> Also, I wonder if anyone can confirm my conjecture that the reason RDFSchema
> is so underspecified is because of the long shadow cast by the impending
> XSchema? [It's been at least 6 months since I read RDFSchema, so pardon me
> if the omissions I list here have been addressed] RDFSchema lacks some
> obviously useful features,
The RDF Schema WG discussed a number of features (some visible in the
first public draft, eg. cardinality constraints) which were
not present in the final product. Simplicity and extensibility were valued
above feature richness. Primitive datatyping is the most obvious issue
that we explicitly left for future work; RDF anticipates URI-identifiable
datatypes but doesn't enumerate these.
Constraints are an interesting topic: in more complex cases these turn
out to look a lot like queries expressed over RDF graphs. Rather than
hardcode a whole range of likely-looking and hopefully useful constraints,
a decision was made to leave complex constraint machinery to subsequent
specifications. Instead, RDFSchema describes a mechanism for declaring the
existence of new forms of constraints, so that older processors know when
they're meeting new things they don't understand.
> [...]like concrete syntax for specifying whether a
> value is required or optional, or read-only in a named context, etc. Is it
> because RDFSchema is waiting until XSchema defines those concepts, and then
> will incorporate equivalents in a future extension?
The only mechanism that we're relying on XML Schema for are
URI-identifiable primitive datatyping constructs. I suspect other
mechanisms from XML Schema will have a natural representation within RDF's
graph model -- for example the facetting machinery in the datatypes
spec. So, yes, it makes sense for us to have kept the RDF stuff simple
while waiting to see what came out of the XML work.
Hope this helps
Dan
(speaking only with his XML and RDF implementors hat on)
Received on Friday, 12 November 1999 17:47:47 UTC