RE: UFDTF Metamodeling Document

Peter,

 >  > I should have said work in the OWL 1 tooling.  

 >  Well, perhaps it would be better to say that this works with tools
 >  that handle supersets of OWL DL or tools that handle OWL Full.
 >  However, although existing practice on extensions can be a good
 >  input to extending a recommendation, there may be good reasons not
 >  to use the this practice.

OK, I just would want to avoid people concluding that the DL reasoners
won't work on this superset of DL, which would be a natural conclusion.
They work and to mind its reasonable that they do, see below.

As long as we're being precise in wording, I wouldn't say a language has
"metamodel facilities" if it doesn't have these capabilities.  Simply
making direct instances of owl:class, then instantiation those instances
is not metamodeling.  The "meta" means to to use a language to model
other languages, including by extending other languages.

 >  That would be useful, but it would also be useful to know which
 >  version of Protege, Racer, Pellet, TopBraid, and JENA are involved,
 >  and what is being passed to the reasoner.  (For example, it may be
 >  that Protege is converting to OWL DL and thus that Racer isn't
 >  handling this ontology.)

See http://www.w3.org/2007/OWL/wiki/OWLMetamodelingExample1.

 >  > The tools behave how I'd expect them to, ie, instances of
 >  > subclasses of owl:Class are instances of owl:Class, so it's
 >  > natural that they'd behave consistently with "direct" instances of
 >  > owl:Class.

 >  Well, they are certainly not behaving how I expect them to.  I
 >  expect OWL DL tools to report "syntax" violations when given inputs
 >  that are not in OWL DL.

Sure, but I would claim the standard overreached.  There's no reason for
OWL to declare that all extensions of DL are not DL, when it has no way
of knowing what those extensions are.  Some of them might well be
outside DL, others not.  The tools vendors fortunately ignored or didn't
notice this overly broad restriction in the standard.

 >  Well, to determine whether the input can be correctly translated
 >  into a DL style, there would have to be some determination of
 >  whether the initial ontology made semantic sense.  This could
 >  involve lots of things, including checking that values of isAbstract
 >  are acceptable.

But the extensions are the language extender's problem, not the DL
reasoner's.  The language extender should provide checking and
translation to DL as part of supporting the extension.

 >  > It would be handy, of course, to apply DL at the "meta" level to
 >  > check that instances of owl:Class or its subclasses satisfy their
 >  > types, but it wasn't what is immediately needed.

 >  Why not?  Consider an ontology in which the meta-level was
 >  semantically incoherent.  Should this incoherency be ignored?  If
 >  so, then what is the use of the metalevel?  If not, then the
 >  checking could be very complicated.  Even picking out simple
 >  patterns/languages for which it is easy to check inhcoherency is not
 >  easy.  (Just look at the early history of Description Logics for
 >  several examples.)

Sure it might be needed, just not as the highest priority, at least as
far as my applications are concerned.  And see above about whose
responsibility checking extensions is.

 >  >  >  	SubClass( <umlclass> ... )
 >  >  >  	ClassAssertion( <umlclass> uml:Class )

 >  >  >  You can even add information to the UML classes by adding
 >  >  >  information to the ClassAssertion axiom.

 >  > What is "..." in the SubclassOf axiom?

 >  The necessary condition for <umlclass>, as in the OWL 1.1 
 >  specification.

Where is the axiom for uml:class being a subclass of owl:class?  That
would be metamodeling, see above.

Conrad

Received on Thursday, 29 November 2007 20:49:43 UTC