Re: Comments on structural specification

I have a few questions on Jim's comments on the Structural Specification
and Functional-Style Syntax document.  I'm trying to get clear in my
mind just what the issues are here.  I'm not trying to put forward my
views, so I'm trying to write my response as neutrally as possible.
(This is not to say that I do not have strong opinions in this area.)

From: Jim Hendler <hendler@cs.rpi.edu>
Subject: Comments on structural specification (was Re: document pubication schedule)
Date: Mon, 22 Oct 2007 18:18:03 -0400

> Peter asks that we bring up comments on the documents proposed to be  
> moved - here's my major comments on the structural specification.
> 
> 
> 1 - Structural Specification.  I am not convinced this document moves  
> forward the use of OWL, and instead forces an entirely new syntax on  
> a community that is finally learning to use N3 and RDF as OWL specs,  
> which is also what most tools currently consume and produce.  I think  
> the drawings are quite useful, but I find the syntax to be difficult  
> to teach and to use as it is not the natural thing for me the way it  
> is for some people trained in this area.  It's not that I couldn't  
> learn, but I question why, to learn to use a Semantic Web language I  
> have to learn yet another syntax.

How so?  There is also the RDF syntax.  Those who do not want to use the
functional-style syntax can still use N3 (n-triples?) or RDF as their
syntax for OWL 1.1.  Those who do not want to use a triple syntax can
use the functional-style syntax.  Where is the forcing here?

>   I also object to some of the same things in this syntax that I  
> objected to when an attempt was made for OWL 1.0 to use the "abstract  
> syntax" normatively.
>    i.  While it is nice that there is a notion of locality in the  
> document, I think it a positive and desirable feature that OWL  
> documents can have properties and classes intermixed and partially  
> defined in many parts of a document.  The non-linear nature (for lack  
> of a better term) of RDF is a positive I don't want to lose

I don't think that I understand this.  Again, you can use RDF if you
want.  Are you perhaps objecting to the way the functional-style syntax
is laid out, e.g., where an ontology has the annotations preceeding the
axioms?  This is easy to fix, and I suggest that we do so.  In fact,
I've just put in an issue on this.

>   ii. The namespace issues that Jeremy mentions are quite blurred in  
> this document

As far as I can tell, this document only refers to the following
namespaced URIs - owl:Thing, owl:Nothing, owl:imports, rdfs:label,
rdfs:comment, rdfs:Literal, and xsd:anyURI.  The discussion of
namespaces is restricted to Section 2.2.  How then does the document
blur namespace issues?

>   iii. I think the document introduces many terms into the structural  
> definitions that may or may not end up having actual vocabulary terms  
> associated with them in the OWL/RDF that results.  This means that  
> someone trying to learn OWL through this document cannot understand  
> easily by the end what is, and is not, in the vocabulary.  For  
> example, picking one of many at random, will "owl:dataComplementOf"  
> be in the set of terms we are recommending or won't it? there are  
> many other features that make it hard to know what is actually being  
> proposed as language structures and what aren't

I take it that you worry about which terminals (and non-terrminals) will
end up having corresponding properties in the triple syntax.  I don't
see why that is a concern of this document.  I suggest that this is
instead the concern of a semi-formal or informal document like the OWL
Reference document.  

As far as OWL 1.1 itself goes, everything is a "language structure" in
that is part of the functional-style syntax and the structural
specification.

>   iv. Appendix A makes some strange claims like:
> 
> "For example, one can assert the following axiom in OWL 1.0:
> 
> ObjectProperty(hasPart [owl:]inverse isPartOf) "
> 
> which is not true - only the abstract syntax of OWL (not part of the  
> recommendation as a normative way to exchange OWL documents) allows  
> that - in OWL one would say (in N3, I really should do it in proper  
> RDF but this is faster:)
>
> :haspart a owl:ObjectProperty;
>     inverse :isPartOf.

This could be easily changed to add "in the abstract syntax for OWL DL",
but I really don't understand why you are saying that this is strange.
The "abstract" syntax is normative for OWL DL and "abstracts from
exchange syntax for OWL and thus facilitates access to and evaluation of
the language" [OWL S&AS, Section 2: Abstract Syntax (Normative)
http://www.w3.org/TR/2004/REC-owl-semantics-20040210/syntax.html].

> So I believe the document, without more explanation of what it is  
> about (i.e. is this a replacement for the Abstract Syntax or  
> something more) and without changes that make it clear what was and  
> was not in OWL 1.0 will confuse a large portion of OWL users and  
> require considerable effort and learning for those who have already  
> learned and use OWL regularly.

>   v. The use of authors, over editors, is somewhat at odds with the  
> use of these terms in the W3C (http://www.w3.org/2001/06/manual/ 
> #Editors)

The document section that you cite appears to be related to how editors
and authors are listed in a W3C document.  It is true that Ian has changed
affiliations and that the name of my company has changed and thus that
this section of the document needs to be changed, but I don't see any
significant problem that this causes.

> In short, I don't see the structural syntax being needed on the Rec  
> track without at least a significantly better explanation of its use,  
> its need, and its role in the new recommendations (i.e.  is it a  
> presentation syntax, is it the definition of new terms, is it the  
> abstract syntax for logical clarity.

I think that the Introduction provides a reasonable answer for these.
However, perhaps an expansion, something like the following would make
things clearer.

       This document defines the structure of OWL 1.1 ontologies and the
	constructs that are used within them.  It provides two different
	methods for this, a functional-style syntax for OWL 1.1
	ontologies and a structural specification of the content of OWL
	1.1 ontologies.

	The OWL 1.1 functional-style syntax is a new syntax for OWL 1.1
	This abstracts from exchange syntax for OWL 1.1 and thus
	facilitates access to and evaluation of the language.  The
	functional-style syntax is suggested for use as an
	easier-to-read syntax for communication with humans.  The
	functional-style syntax is also the basis for the model theory
	for OWL 1.1.  The functional-style syntax is similar to the OWL
	1.0 Abstract Syntax; it is, however, not backwards compatible
	with the OWL 1.0 Abstract Syntax, because of several problems
	with the OWL 1.0 Abstract Syntax that would be very difficult to
	overcome without sacrificing backwards compatibility.

	The structural specification of the contents of OWL 1.1
	ontologies is provided as a non-normative way of storing OWL 1.1
	ontologies in tools, particularly tools that generate and modify
	OWL 1.1 ontologies.  In the structural specification an
	ontology is considered to be a collection of interconnected
	objects. Moreover, since the structure of OWL 1.1 objects
	(ontologies, axioms, etc.) is defined using well-understood
	notions of composition, sets, and lists, it allows us to
	explicitly specify when two objects are structurally equivalent.


peter

Received on Wednesday, 24 October 2007 16:03:49 UTC