- 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