- From: Alan Ruttenberg <alanruttenberg@gmail.com>
- Date: Wed, 26 Mar 2008 13:17:28 -0400
- To: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>
- Cc: public-owl-wg@w3.org
On Mar 26, 2008, at 12:58 PM, Peter F. Patel-Schneider wrote: > If we do this (not that I am advocating it per se) then I suggest that > the generate the names as something like > owl11aip:xxx > where xxx is a fresh name and owl11aip expands into something in the > owl11 namespace, and also have an axiom of the form > InverseObjectProperties(owl11aip:xxx P) Yes. > > Note that it is not the case that aiP is guaranteed to not collide > with > another URI. An OWL FULL ontology may (stupidly) decide to use > URIs in > the owl11 namespace, and may even use a name of the form owl11:aip_xxx > for some xxx that is the encoding of a URI that is also in the > ontology. This is rather a remote chance, but it is not non-zero. Agreed. We can advertise that if you use URIs in this namespace you take this risk. People in the RDF world are used to "respecting namespaces". -Alan > > peter > > > From: Alan Ruttenberg <alanruttenberg@gmail.com> > Subject: Proposal to resolve ISSUE-86 > Date: Sun, 16 Mar 2008 21:30:28 -0400 > >> >> RDF/XML serialization for anonymous inverse properties >> To remind: >>> Anonymous inverse properties can be used in >>> ObjectPropertyAssertion axioms like >>> >>> ObjectPropertyAssertion(InverseObjectProperty(property) >>> subject object ) >>> >>> According to [1], the RDF/XML serialization of this assertion >>> will be >>> >>> subject _:p object . >>> _:p owl11:inverseObjectPropertyExpression property . >>> >>> which is not valid RDF because RDF does not allow bnodes in the >>> predicate position [2]. AFAICT this is the only place where >>> anonymous inverse properties appear in the predicate position >>> (all other uses get serialized into subject or object position). >>> Disallowing anonymous inverses in ObjectPropertyAssertion would >>> solve the problem (and would not affect the expressivity). >> >> I think it is beneficial to allow for anonymous inverses in >> ObjectPropertyAssertion. Note that this is not an issue with RDF/ >> XML specifically, but rather of RDF proper. >> The proposal is as follows. >> 1) InverseObjectProperty can currently be nested. Thus we can have >> InverseObjectProperty[1](InverseObjectProperty[2]... >> InverseObjectProperty[N](P) closed with an appropriate number of >> parentheses. If N is even, rewrite the expression to "P", >> otherwise rewrite the expression to "InverseObjectProperty(P)". >> If the expression is now P we're done. >> [Alternatively, change the grammar so that the nesting is not >> possible - this is my personal preference, btw] >> 2) Change the production "inverseObjectProperties := >> 'InverseObjectProperties' '(' { annotation } >> objectPropertyExpression objectPropertyExpression ')'" >> to "inverseObjectProperties := 'InverseObjectProperties' >> '(' { annotation } objectPropertyURI objectPropertyURI ')'" >> I don't see the need for using objectPropertyExpression here, and >> it simplifies the below. >> 3) Consider that there may already be an axiom >> InverseObjectProperties(P IP) in which case I'll say IP exists. >> If IP exists, on serialization, an implementation MAY substitute >> IP for InverseObjectPropery(P) and we're done. (I'm mixed on this >> one - I could take it or leave it) >> 4) If IP exists an implementation may and if not it must create a >> new URI to name the inverse property, in a canonical way - the >> URI that results from the concatenation of unabbreviated form of >> "owl11:aip_" and the % encoded objectPropertyURI - call this aiP. >> Note that this is guaranteed to not collide with another URI. >> if this choice is made, then add another triple - aiP owl:inverseOf P >> -Alan >> >>
Received on Wednesday, 26 March 2008 17:18:25 UTC