Re: [OWL] annotations and meta-modelling in OWL 1.1

"Peter F. Patel-Schneider" <pfps@research.bell-labs.com> wrote:

> From: "Jeff Z. Pan" <jpan@csd.abdn.ac.uk>
> Subject: Re: [OWL] annotations and meta-modelling in OWL 1.1
> Date: Sun, 8 Jan 2006 20:05:20 -0000
>
>> Hi Peter, Alan and all,
>>
>> After reading Alan's following email and the proposed OWL 1.1 syntax [1], it
>> seems to me that punning is not a convincing choice for metamodeling in OWL
>> 1.1. ( For those who are not familiar with punning - punning means 
>> that a name,
>> like Person, can be used as both an individual and a class and a property.)
>
> Punning may not be the ideal way to proceed.  However, it is an easy 
> way to go,
> and appears to be at least somewhat useful.

I agree that it is an easy way to go, although I don't see how useful it is.


>> 1. It is impossible to distinguish higher order statements from 
>> annotations of
>> symbols and
>> artefacts we are using to represent that domain, as pointed out in Alan's
>> email. The reason that they are not distinguishable is because 
>> annotations in
>> [1] are simply syntactic sugar of individual axioms.
>
> Yes,

OK.

> but what proposal does distinguish between higher-order statements and
> annotations of symbols?

Higher-order statements (axioms about meta-classes and meta-properties) and
annotations (in the sense of OWL DL) are two seperate things, I don't
understand why we cannot distinguish them.


>> 2. Datatype axioms, unlike other axioms in OWL 1.1 [1], cannot have
>> annotations. This seems pretty strange, at least to me. The reason is that
>> although individuals, object properties and classes can share names, classes
>> and datatypes cannot.
>
>> From the OWL 1.1 syntax document [1], recapitulating the OWL DL syntax:
>
> axiom ::= 'DatatypeProperty(' datavaluedPropertyID ['Deprecated'] { 
> annotation }                { 'super(' datavaluedPropertyID ')'} 
> ['Functional']
>                { 'domain(' description ')' } { 'range(' dataRange ')' } ')'
>
> This sure looks as if datatype axioms can have annotations.

What I meant was

axiom ::= 'Datatype(' datatypeID 'base(' datatypeID ')' { 
datatypeRestriction }
')'.

We don't have annotations here, don't we?

Cheers,
Jeff

--Dr. Jeff Z. Pan (http://www.csd.abdn.ac.uk/~jpan/)Department of Computing
Science, The University of Aberdeen

Received on Tuesday, 10 January 2006 09:27:23 UTC