- From: Ian Horrocks <horrocks@cs.man.ac.uk>
- Date: Mon, 9 Jul 2001 11:47:17 +0100 (BST)
- To: David Martin <martin@ai.sri.com>
- Cc: Tim Finin <finin@cs.umbc.edu>, "'Marcelo Tallis'" <mtallis@teknowledge.com>, "'Dan Connolly'" <connolly@w3.org>, www-rdf-logic@w3.org
On July 9, David Martin writes: > > > Tim Finin wrote: > > > > > From: www-rdf-logic-request@w3.org > > > [mailto:www-rdf-logic-request@w3.org] On Behalf Of Ian Horrocks > > > ... > > > Another possible interpretation is some sort of "role value > > > map", as it is called in description logics. i.e., we may > > > want to say that for all pairs of individuals (x,y) related > > > by some property P (or some chain of properties), the P1 > > > property of x and the P2 property of y must have the same > > > individual as their objects. I believe that we can't capture > > > this in DAML+OIL - if we can then we made some mistake > > > somewhere as the language would certainly be undecidable. > > > > I understood that this was what David needs, or something close to it. > > Yes, as I replied earlier, that is what I need. And I appreciate, of > course, the concern about decideability, with respect to the general way > this has been framed above. > > But what about 2 simpler alternatives: > > (1) What about if we could say <P1 sameValuesAs P2> - meaning simply > that the set of values of all the instances of property P1 is precisely > the same as the set of values all the instances of property P2 (and > again, there's no assumption that P1 and P2 have the same domain)? (I'm > asking, not so much how this might be useful, but whether it would be a > reasonable addition to DAML+OIL.) An instance of a property P is a tuple (x,y) s.t. P(x,y) is true. I presume that you mean y to be the "value" of such a tuple, and that what you want to state is that P1 and P2 have the same range. This is easy: just specify the range of P1 and P2 as RangeP1 and RangeP2 respectively and say (sameClassAs RangeP1 RangeP2). I can't see how this helps you though as what you want to say (I think) is that the range of P1 and P2 are the same w.r.t. certain individuals. > (2) And if (1) seems reasonable, what about if we could then say <P1 > sameValuesWithinNamespaceAs P2> - meaning that the set of values of all > the instances of property P1, for which the domain object is in any > particular namespace N, is precisely the same as the set of values all > the instances of property P2, for which the domain object is in that > same namespace N? Would something like that be reasonable (because I > can imagine it being very useful)? You could also do this for explicit namespaces simply by using named subProperties in each namespace. E.g., in namespace N1 use P1N1 and P2N2 s.t. (subPropertyOf P1N1 P1) and (subPropertyOf P2N1 P2) and the ranges of P1N1 P2N1 are made equal as above. Stating this more generally (e.g., that such a relationship holds for arbitrary namespaces) would be tricky I think as it would be giving some sort of semantic significance to namespaces which they don't really have. Again, I am not at all sure that this mechanism would address your problem. Regards, Ian > > - David > > > We want to be able to say, for example, that a Process has two > > steps and that the output of step one must be the same individual > > as the input of step two. If we don't have this in our language then it > > may be very hard to model complex processes which have sub-processes > > that have constraints between them. For that matter, it will be hard to > > model complex things composed of parts which have constraints among > > them. > > > > Tim
Received on Monday, 9 July 2001 06:55:02 UTC