[
Lists Home |
Date Index |
Thread Index
]
Rick Jelliffe wrote:
[[
From: "Jonathan Borden" <jonathan@openhealth.org>
> The DTD approach only works for carefully constructed OWL documents. I
know
> this because any RDF document can be considered an OWL Full document and
> this was one of the prime reasons to invent OWL DL in the first place. I
> don't think it is possible to write a DTD that validates all legal RDF
> documents and invalidates all documents that are not legal RDF. It *is*
> possible to do this with RELAX NG, however, e.g. see
> http://www.openhealth.org/RDF/RDFSurfaceSyntax.html and
> http://www.openhealth.org/RDF/RDF1.rng
>
> You might use this as a good starting point for OWL (or use the RELAXNG
> developed for the 'new' RDF syntax).
Just to go further than my previous posting.
A standard which does not define itself using/providing/profiling a standard
executable syntax
(e.g. schema) for its non-specific properties (i.e. its grammar not its
semantics) should be rejected
on the QA basis of being error-prone. An unmeasurable standard is no
standard at all, it is a sketch
for a standard or a parody of a standard. (Of course, there has to be the
usual pragmatic exception
for bootstrapping: where there are no prior executable tools.) It is a fact
of business that
vague contracts screw the weaker party.
]]
A few points of clarification:
1) I agree that standards need to be testable -- this is a _requirement_ for
ASTM standards for example.
2) Syntactic schemas (written in languages such as XSD, RELAXNG, Schematron)
are excellent ways to test the conformance of a document to an XML syntax.
3) The _syntax_ of OWL has been defined using an _abstract syntax_ which is
mapped to sets of _triples_. The triples are syntactically defined using the
RDF N-Triples syntax.
see the OWL S&AS http://www.w3.org/TR/owl-semantics/mapping.html#4.1
The folks who have written the OWL S&AS are rather intelligent as well as
experienced and have not fallen into the trap you have discussed above
precisely given the issues surrounding the RDF/XML syntax and its
ambiguities (rather there are often several ways to write the same thing
which makes testing difficult). Hence you will see that OWL _is not defined
using XML_. Don't worry, as the RDF specs define a proper mapping from
RDF/XML into the N-Triples syntax -- N-Triples is simply a list of triples,
with its own BNF (it's not XML).
Many of the issues are discussed in the OWL Test document:
http://www.w3.org/TR/owl-test/
For extra credit, I'd like to see a Schematron that can properly
differentiate between an OWL Lite, OWL DL, and OWL Full document (as defined
in the above document as an OWL Syntax checker).
So you see that one person's syntax is often another's semantics...
In any case the real answer is that we have so many languages for specifying
things, because there are so many different things to specify and what they
need to specify may be so disparate.
Jonathan
|