- From: Boris Motik <boris.motik@comlab.ox.ac.uk>
- Date: Thu, 19 Jun 2008 08:56:50 +0100
- To: "'Alan Ruttenberg'" <alanruttenberg@gmail.com>
- Cc: "'Bijan Parsia'" <bparsia@cs.man.ac.uk>, "'OWL Working Group WG'" <public-owl-wg@w3.org>
- Message-ID: <001701c8d1e2$0835d960$6c12a8c0@wolf>
Hello,
I agree. I've just changed the mapping and the syntax document.
Thanks!
Boris
_____
From: Alan Ruttenberg [mailto:alanruttenberg@gmail.com]
Sent: 19 June 2008 08:41
To: Boris Motik
Cc: Bijan Parsia; OWL Working Group WG
Subject: Re: I've extended the specification with easy keys (ACTION-160)
On Jun 16, 2008, at 4:27 PM, Bijan Parsia wrote:
On 16 Jun 2008, at 21:14, Boris Motik wrote:
[snip]
Hads up, contrary to Bijan's suggestion, I haven't introduced a nonterminal production KeyPropertyExpression that would
be a superclass for ObjectPropertyExpression and DataPropertyExpression. Introducing another class seemed like quite a bit of
overhead, particularly that you need to syntactically distinguish object from data property expressions in the semantics and in
various other places. Instead, in the RDF mapping and semantics document, I chose to refer to the axiom as KeyFor( OPE1 ... OPEm
DPE1 ... DPEm CE ). Although this seems to suggest that all object properties should come before all data properties, this is not
the intended meaning; in fact, the syntax allows for interleaving object and data properties.
Yeah, I tried that but got stuck on the implied meaning. Works though if it's all a set anyway.
Fine for the semantics document, but why keep the complexity in the syntax document. (as long as there is explicit mention that
there is no loss to do the reordering there) But the mapping document implies that they are ordered, the grammer says they can be
interleaved:
For syntax you could say:
A key axiom KeyFor( PE1 ... PEn CE ) states that the object or data property expressions PEi are keys for (named) instances of the
class expression CE - that is, no two (named) instances of CE can coincide on the values of all the property expressions PEi. ...
For mapping you've introduced OPEorDPE anyways. I don't see the problem with adding, in 2.1
PE denotes either a data property expression or a object property expression.
Then:
KeyFor( PE1 ... PEn CE ) => T(CE) owl:hasKey T(SEQ PE1 ... PEn)
This has the benefit of there being a mapping for
KeyFor( OPE1 DPE1 OPE2 CE)
which is allowed by the grammer.
KeyFor := 'KeyFor' '(' { annotation } ObjectPropertyExpression | DataPropertyExpression { ObjectPropertyExpression |
DataPropertyExpression } ClassExpression ')'
-Alan
Received on Thursday, 19 June 2008 07:58:27 UTC