Re: declaredAs

Hi Pat!

Pat Hayes wrote:
>I wrote:
>
>>1) We need some means for doing "structural consistency" checking
>>for OWL files, and declarations provide such a means. Structural
>>consistency is defined in
>>
>>     http://webont.org/owl/1.1/owl_specification.html#8
>>
>>the following way:
>>
>>     "An ontology O is structurally consistent
>>     if each entity occurring in an axiom from the axiom closure of O
>>     is declared in O."
>>
>With that definition, this point is circular: SC requires
>declarations, by definition,

I believe, your "circular" argument seems to point to this "is declared in O" formulation in the above definition. You seem to understand this formulation to already demand a owl:declaredAs statement for each entity in the ontology, is this right? Until Bijan's answers to my previous post, I understood this "is declared in O" formulation in a more general and vague way:

    The resource kind of each entity must always be explicitly 
    given in some way
    or at least recognizable by some (technical) means.

And with this in mind, I understood Boris' argumentation in the way that declaredAs statements provide exactly such a means. And much of my argumentation until now was about saying that

    At least explicit typing axioms like ':C rdf:type owl:Class' provide
    such a means, too (the resource kind is then, of course, 
    explictly given).
    So there is no real need for having additional declaredAs statements
    for this purpose.

Of course, if the declaredAs mechanism were already demanded by the definition itself, arguing for the necessity of the declaredAs mechanism is like saying: "It's so because the bible says so!". But I won't believe that the declaredAs proponents really argue in such a trivial way. :)

Well, this discussion is a little behind, now that Bijan told me what the real intention for the declaredAs mechanism is: To make one's intention explicit ("This URI is intended to denote a /class/"). But I at least wanted to make clear how I understood the above definition of "structural consistency", because it might explain a few of my arguments in my former posts. Especially it should explain, why I argued for creating such a "best-practice" document plus a reference implementation for checking the "structural consistency" of an ontology.


>>1) Classes:
>>
>>AFAICS from OWL's abstract syntax, it can always be determined, from
>>each single axiom in an ontology containing a name N, if N denotes a
>>class or not. A few examples:
>>
>>     * ... complementOf(N)                ==> N is a class
>>     * ... unionOf(... N ...)             ==> N is a class
>>     * ... restriction(p allValuesFrom(N))==> N is a class
>>     * ... oneOf(... N ...)               ==> N is NOT a class
>>     ...
>>
>>Did I overlook a situation, where this is not always possible?
>
>You are referring to OWL-DL. But in OWL-Full it is possible for
>example to write

This is an easy one to counter: This whole thread is about a proposed feature for OWL-1.1, which is planned to become the successor of OWL/DL. So I regard bringing OWL-Full or even other languages into play here as simply to be off-topic! :)


In another answer to Bijan Parsia, Pat Hayes wrote:

> I guess what I don't see is why these have to be syntactically
> distinct from assertions, though. After all, we have here a language
> whose business is saying that things belong in classes. And what we
> want to say here is... well, you get the point. Why not just have a
> special class of classes called "isADeclarationClass", which when
> asserted of a class means that saying that something is in that class
> is a declaration. Then your declaration classes can be my ordinary
> classes, which gives us a lot of flexibility, and avoids a kind of
> global ossification into a single built-in hierarchy.

Hm, not sure if I really understand this idea. If I correctly understand you than 'isADeclarationClass' would be a specialization of owl:Class, i.e.

   owl:isADeclarationClass ISA owl:Class

And an axiom like

   my:C a owl:IsADeclarationClass

would then be a substitute for otherwise declaring

   my:C owl:declaredAs owl:Class

Is this right?

But why then not just directly saying

   my:C a owl:Class

?


Cheers,
Michael

-- 
Michael Schneider <m_schnei@gmx.de>

Received on Thursday, 9 August 2007 11:59:46 UTC