- 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