RE: [Impr] Structural Specification and Functional-Style Syntax

Hello,

 

The UML model and the functional syntax serve two different purposes. A structural specification gives you a higher-level
perspective on the language, which can be beneficial for numerous reasons.

 

Ontologies are nowadays often not stored in files, but in other media such as databases. If you want to develop an ontology
repository (which is what I personally had to do several times), the grammar of the language does not really help you much: you need
to reverse-engineer the structure of the language from some syntax. Personally, I found this to be highly undesirable: I had to
think quite a bit about how to extract the structural model out of the OWL DL specification. If was not immediately clear to me what
an OWL ontology really is - that is, what are the core features of the language and what is just syntactic sugar. Furthermore,
because there was no official structural specification, other people had different conceptualizations of what OWL was. This often
made discussing the features of the language difficult. For example, it was really unclear to me how to define membership of a class
in an ontology (particularly if you consider this together with imports). I spoke to numerous people, and each person conceptualized
the problem in a different way. Thus, the discussions often were going in circles because we had no precise way to talk about
components of a language.

 

A structural definition of a language closes many of these gaps. It allows you to explicitly name different parts of your language
and specify how these parts interact. Talking about components of the language thus gets more precise. For example, since you treat
an ontology as a collection, you can define what it means for an axiom to occur in an ontology. If you have only a BNF grammar of a
language, you can at best just point to some production in the grammar; however, it is not clear whether this production is some
fundamental element underlying the structure of the language. How do you define axiom membership in this case? How do you represent
inheritance (which is quite a useful tool in understanding the structure of complex systems) in BNF?

 

Thus, a structural specification is, in my view, a much cleaner and more precise approach than having just a grammar.

 

The structural specification of OWL should be as concise as possible, i.e. it should allow the readers to grasp the underlying
concepts easily. Because of that, we did not pay any attention to unifying the diagrams with the existing standards; rather, we
wanted an easy way of expressing the structure of the language visually. We (here I mean "the authors of the current proposal") are
not particularly keen on UML as such; we are more interested in defining the language at a higher level of abstraction than just
with a grammar. We used UML because we thought that this will make the spec more accessible to a wider audience; however, we are
open to alternative proposals.

 

 

 

When we were developing the OWL 1.1 proposal, we would have actually preferred to define OWL 1.1 only through a structural
specification. We defined the grammar as well was because we found it hard to use UML diagrams in other parts of the spec, such as
the definition of the formal semantics. (How do you create a semantics table using UML diagrams?) Therefore, we adopted a pragmatic
approach and defined the grammar; however, this grammar closely follows the structural specification, which (we believe) makes it
easier to understand. In fact, you can treat our functional grammar just as a convenient serialization of the structural diagrams.

 

 

To summarize, we see the grammar as subordinate to a structural, object-oriented specification. 

 

 

 

The MOF metamodel was produced mainly by the people at AIFB and FZI in Karlsruhe, with the intention of providing the formalization
of the diagrams. I do not know whether there are any differences between the two; if there are, this was clearly unintended.

 

 

Sincerely yours,

 

            Boris Motik

 

 

  _____  

From: public-owl-wg-request@w3.org [mailto:public-owl-wg-request@w3.org] On Behalf Of Elisa F. Kendall
Sent: 17 October 2007 20:07
To: public-owl-wg@w3.org
Subject: Re: [Impr] Structural Specification and Functional-Style Syntax

 

I agree with Peter on this, especially if we are publishing this as more than just an editor's draft soon. The UML diagrams
represent neither a MOF metamodel nor UML profile, and are not related to the current OMG ODM standard, as Evan alluded in his
email.  We can point to open source, commercial, and research implementations of various aspects of the ODM, and would like to
assist in the migration effort to help ease the burden on that community.

Having a revised abstract syntax, as Peter suggests, would be a much cleaner approach.  I would be happy to work with whoever is
developing the abstract syntax on the related metamodel, and that work could inform the syntax development, as we did with Common
Logic.  There are other folks, Peter Haase at FZI for example, who are also interested in contributing to the metamodel, which could
be done in conjunction with the OMG Ontology PSIG.  It would also be useful to have more consensus on the RDF mapping, which, even
if we choose to uncouple the OWL metamodel from the currently related RDF metamodel in ODM, would be required on our side to create
a synchronized ODM modification.

Thanks,

Elisa


Peter F. Patel-Schneider wrote:



From: Bijan Parsia  <mailto:bparsia@cs.man.ac.uk> <bparsia@cs.man.ac.uk>
Subject: [Impr] Structural Specification and Functional-Style Syntax
Date: Tue, 16 Oct 2007 16:49:45 +0100
 
  

[I'm confining my comments to document issues, mostly]
 
1) The first issue I have is that I don't understand the relation  
between this document, esp. its UML diagrams and the MOF-Based  
Metamodel document. In general, I'm not exactly sure what is gained  
overall from having both UML and a grammar. I believe that the UML  
represents some aspects not available in the grammar e.g., setness of  
some constructs:
 
 dataOneOf := 'DataOneOf' '(' constant { constant } ')'
 
doesn't express that the arguments form a set (that is, neither the  
unorderedness nor the lack of duplicates is captured by the  
production), yet the UML diagram does express that.
    

 
[...]
 
I also have some issues with the UML diagrams.  Although the UML
diagrams provide some information as to unordered arguments to
constructors, the UML set tag does not show which sorts of mixed
reorderings are allowed (e.g., allowing interspersed annotations and
axioms in an ontology construct).  It seems to me that the role of the
UML <<set>> tags could be better provided by an upgraded BNF grammar or
a true abstract syntax, where the constructors took sets, or bags, or
sequences of possible mixed subconstructs.  
 
  

Cheers,
Bijan.
    

 
 
 
 
  

Received on Wednesday, 17 October 2007 19:46:56 UTC