LANG: pushing daml:collection was: Re: Is a non-RDF triples syntax out of charter?

Jeff Heflin wrote:
> Jonathan Borden wrote:
> >
> > <Class rdf:ID="foo">
> >         <oneOf>
> >                 <Thing rdf:resource="#A"/>
> >                 <Thing rdf:resource="#B"/>
> >                 <Thing rdf:resource="#C"/>
> >         </oneOf>
> > </Class>
> >
> > This really isn't that bad XML.
> Your right, it isn't bad XML. In fact it is probably how I would suggest
> such a thing be written in XML. Unfortunately, it's not RDF. ...
> That is, you can't assume daml:collection,
> it must be stated explicitly.

Sure. But that is proper use of an XML attribute, so:

<Class rdf:ID="foo">
    <oneOf rdf:parseType="daml:collection">
        <Thing rdf:resource="#A"/>
        <Thing rdf:resource="#B"/>
        <Thing rdf:resource="#C"/>

is RDF, using an XML extension (parseType) extension. Asking RDFCore to
enable something like "daml:collection" is something that we can do, and
maintain our charter. That is to say, this is something that DAML+OIL has
already done, parsers exist, software exists that understands this etc.

> This is a syntactic wort. Common sense
> tells you you shouldn't need it, but you can't write this in RDF without
> it (and when you use it, you're not really writing RDF).

I would like to call it a syntactic compromise, and compromise is the name
of the game.


> Once again, this is fine XML, although maybe a little excessive (one
> might argue whether you need the Class subelement of intersectionOf).
> However, RDF won't allow this syntax. The problem is RDF syntax must be
> striped (meaning you alternate Class/Property/Class/Property/etc.).
> Assuming you follow RDF naming conventions of initial caps for classes
> and initial lower case for properties, then you have a Restriction class
> as the immediate child of the Class class. This is a no-no in RDF
> because it violates the striping rule.

To be clear, RDF does not mandate that classes are capitalized and property
names are lowercase. Well, the point is that whether this exact syntax is
used, or modified just a bit to fit RDF, it remains close to what one might
write in XML.

> > My questions are:
> >
> > What do I get by using another XML syntax? (what do I _actually get_)
> > What does it cost me?
> >
> > I need concrete answers to these questions.
> By using another XML syntax you get:
> 1) more freedom in the design of your syntax. Thus you can make it more
> intuitive and ease the learning barrier for users

I was not asking why another XML syntax _might_ be better, rather: show me
an _actual_ alternative XML syntax so I can see _how much_ better it really
is, given the cost of not being in RDF syntax.

> 2) your syntax can more easily rule out things that shouln't be allowed.
> For example, a daml:Restriction shouldn't mix "toClass" with "hasClass"
> or "hasValue."

The abstract syntax for OWL could better prohibit illegal constructs. Indeed
an OWL ontology for OWL should be a design goal (IMHO)-- rather than the
current RDF Schema for DAML+OIL

> 3) the semantics of the language is easier to specify, because it
> doesn't have to represent all of the meta information included by the
> triples.

Why not define semantics on the abstract OWL syntax (as proposed) and
provide an RDF/XML representation?

> What does it cost?
> 1) existing RDFS agents will not be able to understand your WebOnt
> ontologies (they can understand small portions of DAML+OIL ontologies.)
> 2) people may need to convert existing RDF Schemas in order to use
> WebOnt
> Honestly, that's all I can think of. Maybe someone else can suggest
> more?

The actual cost is the creation of a rift in the semantic web community. I
would like to see WebOnt language as "RDF Schema ++".

Other costs include need to develop parsers, and work through many of the
nitty gritty details that RDFCore has dealt with -- this will be a cost in
time and energy that looks like it will significantly delay the introduction
of WebOnt. Think of it, it is already April, and still no sight of an
alternative XML syntax. The only concrete syntax proposal is (JavaCC version of ) -- I've yet to see much
comment on this. We will need rounds and rounds of discussion about an
alternate XML  syntax whenever it appears, development of parsers, debugging
of issues, etc. etc. When will this happen?

> > In the absense of an  actual concrete syntax I can't judge if the
> > would be worth the cost, regardless of what the charter allows.
> I agree that it hard to see these things without a concrete syntax. For
> an example of concrete syntax that uses RDF-triples, see DAML+OIL[1].
> That's about as good as it will get. Although I haven't suggested a
> complete syntax for a non-RDF approach yet, I provide some examples of
> what it could look like in my first message on this subject[2].

That is good, certainly we could rename "oneOf" to "or" and "intersectionOf"
to "and" and maintain RDF compatibility. I am just not sure that removing
the requirement for a few rdf:parseType="ont:collection" attributes will so
greatly improve the readability of the syntax. On the other hand RDFCore is
moving rapidly toward last-call WD, and if we don't make tangible and
specific requests in the very near future, we are likely to miss the boat
(in which case the RDF syntax i.e. writing everything out in full
daml:List,first,rest glory will cause real pain - IMHO).

By pushing something very much like "daml:collection" we can have a big
impact and make RDF syntax, warts and all, pretty reasonable.


Received on Friday, 29 March 2002 17:39:14 UTC