- From: <jpan@csd.abdn.ac.uk>
- Date: Tue, 10 Jan 2006 09:26:32 +0000
- To: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>
- Cc: Alan.Rector@manchester.ac.uk, owl@lists.mindswap.org, semantic-web@w3c.org
"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