Re: [namespaceDocument-8] RDF and RDDL

From: "Sean B. Palmer" <sean@mysterylights.com>

> According to:-

> http://www.w3.org/TR/rdf-syntax-grammar/#section-Schemas

> the only official schema for RDF is the BNF, and the non-normative XML
> schema isn't even working yet. Since extensions to XHTML will most
> likely require both working DTD and XSD modules, validation is not
> going to be as easy as you appear to think it will be. 

In Tim B's version, there is a fixed vocabulary of RDDL elements. An RDDL schema,
extending an XHTML schema with RDDL-vocabulary elements, can easily be
made, and the document validated.  

It probably impossible that there can be a nice XML Schema for arbitrary RDF, since 

  1) it is an architecture not a complex type (i.e. it is a pattern to which
     particular complex types may conform by design)

  2) it has co-occurrence constraints, for example where the contents
    of an element selects the type[1] or where the contents of an
    attribute selects the type[2] which are impossible in XML Schemas,
    (them not being bugs but well-publicised and legitimate
    design decisions of the Schema WG)

  3) the original quasi-BNF specification of RDF syntax is broken[3] 
    (since it is untestable, hardly surprising: the discipline of validation
    is essential for interoperability: TAG deliver us from such ad hocery!)

But the reformulation of RDF syntax is well under way, kudos to Dave Becket, 
and it looks like RELAX NG is powerful enough[4] for people who wish
to validate RDF *as* RDF. Schematron would probably be powerful
enough, too, though I am still not happy with my efforts even with the
reformed RDF syntax.

I don't think the RDDL-in-RDF proposal should allow any arbitrary RDF:
Sean is right that that is not ripe yet. Instead, please consider just using RDF 
as an architecture embodied in a simple fixed element set which can be 
modeled in DTDs (or XML Schemas, Schematron, RELAX NG, DSDL, etc),
as in Tim's proposal.

> Embedding
> NTriples (well, Sandro's version) would be better from a validation
> standpoint (you'd have to delimit it with <![CDATA[NTriples]]>).

Yuck.

Cheers
Rick Jelliffe
www.topologi.com

[1] for example a literalPropertyElement or a resourcePropertyElement
http://www.w3.org/TR/rdf-syntax-grammar/#section-grammar-summary
at 5.8
[2] for example, parseType="other"
[3] http://www.w3.org/2000/03/rdf-tracking/#rdf-containers-syntax-ambiguity
[4] http://www.w3.org/TR/rdf-syntax-grammar/#section-RELAXNG-Schema

Received on Tuesday, 9 April 2002 09:27:57 UTC