- From: Boris Motik <boris.motik@comlab.ox.ac.uk>
- Date: Wed, 17 Oct 2007 20:46:06 +0100
- To: "'Elisa F. Kendall'" <ekendall@sandsoft.com>, <public-owl-wg@w3.org>
- Message-ID: <007101c810f6$5bc6bed0$2711a8c0@wolf>
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