Re: OWL Syntax

Another message trying to convey some of the motivations behind
the new syntax work.

This time I will concentrate on what is so wrong with the 
AS&S mapping rules. The treatment is theoretical, in terms
of co-occurency patterns of syntactic categories.

First:
The principal reason we are not at last call is because AS&S
did not satisfy either Herman or myself, acting as WG reviewers.
On section 4.2, Herman [1] said:
[[
Main points (see URL):
- reorder/rewrite material so that it becomes intelligible
- include OWL Lite
]]
I said [2]:
[[
a rewrite of this section 4.2 would be in order
]]

Having proposed a rewrite I felt some obligation to show how a rewrite could 
improve things, which is what motivates the revised syntax.

Now onto a theoretical analysis of why my mapping rules are infinitely better 
than the published ones. (also justify use of the word infinitely).

Syntax is about describing co-occurence patterns between categories of 
symbols.
Some patterns are complicated, requiring things like rewrite grammars; other 
patterns are simpler (requiring lists of patterns).
In general a syntax with fewer categories and fewer patterns is clearer and 
better than one with more categories and patterns.

One typically hope that the syntactic categories have some natural 
correspondence to something in the domain of discourse, since this makes a 
syntax easier to learn.

To describe OWL Lite/DL syntax in terms of triples we start by thinking up 
categories for the nodes and/or properties in the graph. Many of these arise 
directly from the abstract syntax and semantic distinctions, such as those 
between properties and classes. A further syntactic restriction that is 
implicit in AS&S but only made explicit in my treatment is that between the 
object-properties that may be transitive or have transitive sub-properties 
and those object-properties that may be in cardinality constraints.
It will be seen that all the URIref categories I propose are natural in the 
sense of corresponding to abstract syntax concerns.
Moreover all the blank node categories either correspond directly to some 
complex abstract syntax construct like description or restriction or are list 
categories - the number of such list categories is not excessive.

In the published mapping rules all such categories are included (except for 
ones where Peter is behind the WG decisions, and annotation properties 
treated as one implicit category as opposed to my two explicit categories).
However there are an infinite number of other categories that show their own 
distinct syntax in the triple form. These arise from a handful of problematic 
mapping rules.

DisjointClasses(description1 … descriptionn)
=>
 T(descriptioni) owl:disjointWith T(descriptionj) .
For n=2, 3, 4 ... when used with descriptions which map to blank nodes this 
rule constructs a complex structure of n blank nodes with each participating 
in precisely n-1 owl:disjointWith triples (the node corresponding to the ith 
description is object in i-1 of these and subject in n-i of these).
Thus for each n>=2 this rule introduces at least n distinct syntactic 
categories that can be distinguished on the basis of the triples produced.

(It gets worse when we rember that some descriptions can be named classes).


EquivalentClasses(description1 … descriptionn) 
=>
T(descriptioni) owl:sameClassAs T(descriptionj) . 

ditto.

restriction(ID component1 … componentn) 
=>
_:x owl:intersectionOf 
  T(SEQ(restriction(ID component1)…
    restriction(ID componentn))) .

This rule is specifically problematic in OWL Lite.
In OWL DL it is sufficiently close to a description that it could be patched 
up.

In OWL Lite, except for this rule, owl:intersectionOf appears only to define a 
named class as a list of restrictions or named classes. This rule allows a 
restricition itself to be represented as an untyped blank node as long as 
that blank node is subject of exactly one triple whose object is a list of
restrictions - these restrictions in that list can either be from one
of the other productions, or can come about from a recursive application
of this rule to itself.

Thus syntactic categories needed to support explaining this mapping rule
include:
- restriction - a blank node of type restriction (and some other constraints)
- a category x that is a singleton list with a member of category x or a 
resriction (subject to the side condition of non-circularity and finiteness)
- a list of restrictions and category x
- a blank node which is subject of one triple whose object is the above such 
list or rdf:nil.

It is easier to fix the abstract syntax than try explaining it.
A key part of my revision was the deletion of the above mapping rules, and 
then making the corresponding changes in the abstract syntax.

DifferentIndividuals(iID1 … iIDn)
=>
 _:x rdf:type owl:AllDifferent . 
_:x owl:distinctMembers T(SEQ iIDi … iIDj) 

Since the DifferentIndividuals rule in the abstract syntax requires n>=1 
this rule creates a syntactic category of lists of individualIDs of length at 
least one. Better to change the abstract syntax to permit n=0, and not 
introduce a new category in the concrete syntax.

In conclusion, we see that the published mapping rules introduce essentially 
spurious syntactic categories i.e. nodes in a graph that have distinctive 
patterns of behaviour. This problem is infinite in extent, and is best fixed 
by the central changes I am proposing in the abstract syntax.

Jeremy

[1]
http://lists.w3.org/Archives/Public/www-webont-wg/2003Jan/0426.html
[2[
http://lists.w3.org/Archives/Public/www-webont-wg/2003Jan/0332.html

Received on Thursday, 13 February 2003 03:15:39 UTC