- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Wed, 28 Nov 2007 11:52:22 -0500 (EST)
- To: conrad.bock@nist.gov
- Cc: public-owl-wg@w3.org
From: "Conrad Bock" <conrad.bock@nist.gov> Subject: RE: UFDTF Metamodeling Document Date: Wed, 28 Nov 2007 11:45:13 -0500 > Peter, > > > > - I would expect the draft metamodel document > > > (http://www.w3.org/2007/OWL/wiki/MOF-Based_Metamodel) is part > > > of the user-facing documents, at a similar level and audience > > > as the reference manual. It's important that this and the > > > OMG's Ontology Definition Metamodel for OWL are aligned, > > > because OMG is perceived as the primary source for MOF-based > > > metamodels. > > > Is where any particular reason to make the metamodel document a > > recommendation track document? > > It would be fine with me if it weren't, because it would reduce > cross-talk with OMG. Not sure what Elisa and Evan think. I > misunderstood which draft documents were on the recommendation track. > BTW, I assume draft documents that are not never included in the > recommedation track will just remain unofficial work of the WG? They can be "submissions"/notes, which gives them some official status, and permanency. [...] > > > Even with no metamodeling, the use of a name as an instance of > > > owl:class and as the type for an individual are of course > > > related. For example, if M1:car is an instance of owl:Class, > > > it is also the type for M0:johns-car. This is also true for > > > metamodeling, see next. > > > I don't understand this in an OWL 1.1 context. In the functional > > syntax for OWL 1.1 there is no owl:class. > > Was referring to what I thought would be in the XML interchange format, > which some users would be looking at, see OWL 1 example [1] in > http://www.w3.org/2007/OWL/wiki/OWLMetamodeling. I'm assuming OWL 1.1 > will be backward compatible enough to support that sort of syntax. > > > If by M1:car you are referring to some MOF or OMG constructs and not > > some IRI, then please include a pointer to some place that provides > > an understanding of what these constructs mean. > > I meant that in the OWL 1 sense (namespace:name). See example above. Then I don't see any reason that M1:car is the "type" of M0:johns-car. > > > - Finally, we should address a common use of metamodeling that > > > extends OWL for modeling languages. This defines subclasses > > > of owl:Class with additional properties that have values on > > > the instances of the subclass. For example, uml:Class as a > > > subtype owl:Class would add characteristics of classes > > > peculiar to UML, such as isAbstract. This does not imply any > > > DL reasoning on owl:class its subtypes (these are only used to > > > type instances, which are only created, read/queried, > > > modified, and deleted), or introduce any constraints that > > > would affect DL reasoning on the instances of instances of > > > owl:class. > > > How would these extensions work in OWL 1.1? > > That's my question. :) They work in OWL 1, including reasoners (see > example above), so I was expecting OWL 1.1 would be backward compatible > in this. Well, they don't work in OWL DL, only in OWL Full, as subclassing owl:Class is outside of OWL DL. They also don't work in OWL 1.1, as OWL 1.1 is (currently) only has a DL-style definition. > > How could it be guaranteed that there are no effects to the DL > > reasoning paradigm? > > If the modeler subclasses owl:Class or owl:Property in a way that > affects DL reasoners, then they're in OWL Full. We can't make > guarantees when we can't control the modeler. However, the applications > I'm aware of would be introducing properties or restrictions in > subclasses that would either > > - not affect DL reasoning, or > > - affect it in a way that can be expressed in DL (eg, > uml:class.isAbstract is equivalent to making the class equivalent to > union of its subclasses), or > > - the affect would be unspecified and not accounted for by DL > reasoners. Yes, but how can you be sure that you aren't affecting DL reasoning or even affecting it in an "acceptable" manner? For example, if the isAbstract property above has a range, then providing an illegal value would affect DL reasoning. Determining whether the modelling affects DL reasoning could, in the worst case, require complete OWL Full reasoning. > > (I can see at least one way of setting up this sort of thing in OWL > > 1.1, but I don't know whether it would suit this usage because I > > don't know what is supposed to happen.) > > Would be very interested to hear about it. Sure, just use the OWL 1.1 metamodelling facilities in an obvious manner. Set up a class, say uml:Class, and say things like: SubClass( <umlclass> ... ) ClassAssertion( <umlclass> uml:Class ) You can even add information to the UML classes by adding information to the ClassAssertion axiom. However, as I don't what you want to have happen, I don't know whether this meets your needs. > Conrad peter
Received on Wednesday, 28 November 2007 17:08:44 UTC