W3C home > Mailing lists > Public > www-webont-wg@w3.org > March 2002

Re: LANG: OWL non-xml syntax

From: Jonathan Borden <jonathan@openhealth.org>
Date: Mon, 25 Mar 2002 02:30:51 -0500
Message-ID: <018301c1d3ce$ff19f720$0301a8c0@ne.client2.attbi.com>
To: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>
Cc: <Frank.van.Harmelen@cs.vu.nl>, <www-webont-wg@w3.org>
Peter F. Patel-Schneider wrote:
>
> Each of the above *is* a description, i.e., something that defines a
> collection of individuals.  A sequence of descriptions wouldn't define
> anything.  THe intersection of a sequence of descriptions is again a
> description.
>

Right. My confusion resulted from not seeing the _second_ set of definitions
for Primitive and DefinedClass's (and note that these definitions do not
correspond to prose explanations of the differences between the classes).
Sorry. It was not immediately obvious to me what the intended relationship
between description and class was. We are speaking at a purely _syntactic_
level, so the production class ::= 'class' '(' description* ')' is close to
the intention _from a syntactic point of view_ and is not intended to
literally mean that a class is a sequence of descriptions.

The intention of the OWL abstract syntax is to organize OWL is a way that is
easier to understand, particularly at the entry level. I am suggesting that
if this proposition is true (and I believe that it is), the a concrete
syntax, closely modelled on the abstract syntax, should be a useful tool for
deciding these issues (of course the final XML syntax itself needs to be
relatively easy to understand, but along the lines of deciding on the
language features, and 'concepts' without needing to parse redundant angle
brackets...)

In any case the class definition:

class ex:foo (
            subClassOf ( class ex:bar ) ,
            datatypeProperty ex:prop (xsd:string("1234")),
            property ex:prop2 (class ex:baz)
        )

seems reasonably easy to understand, and even:

class ex:bar (
        oneOf(  individual ex:a,
                    individual ex:b,
                    individual ex:c
                )
    )

on the other hand:

class ex:baz (
        oneOf(
                    property ex:a,
                    property ex:b,
                    property ex:c
        )

would not _have been_ immediately obvious to me, lacking further
explanation.

on the other hand, although you may consider the below, something that bangs
you on the head:

class ex:baz (
        oneOf(
                   class ( required property ex:a)
                   class ( required  property ex:b),
                   class ( required property ex:c)
        )

may be a bit easier for to uninitiated to understand. i.e. if a property
restriction is being used as a class description, then explicitly label it
as such. Of course you may rightly consider this syntactic fluff, however,
the main point is that _syntax is critical_ and can successfully make
otherwise complicated concepts usable at a much lower point on the learning
curve.

Jonathan ** along the lines of, if a language feature is not obvious to me,
consider it advanced :-)
Received on Sunday, 24 March 2002 14:26:33 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:57:48 GMT