Re: DAML-S expressiveness challenge #1

Ian Horrocks wrote:

> On June 14, David Martin writes:
> >          DAML-S expressiveness challenge #1 -
> >
> > Is it possible (or is it likely to be possible in some future release of
> > DAML+OIL or DAML-L) to express the following constraint/restriction:
> >
> >    "The value of an instance of property P1, in some particular
> > context/scope/situation, must be the same as the value of an instance
> > of property P2 in that same context/scope/situation."
> >
> > What do I mean by context/scope/situation?  Well, that's up for
> > discussion, but to get us started, let's just say I mean "namespace".
> >
> > I know about sameIndividualAs, but a straightforward use of
> > sameIndividualAs does not meet my requirements.  The instances of P1 and
> > P2 don't necessarily exist yet (that is, haven't been declared
> > anywhere); so I can't refer to them.  What I want to say is (re-phrasing
> > the above):
> >
> > "when an instance of property P1 is declared, in the same namespace as
> > an instance of property P2, they must have the same value"
> >
> > Can anyone suggest a way to express this, or a start toward doing so?
>
> You can do this now, or something close. Simply introduce a new
> property called say "P1_or_P2" such that both P1 and P2 are asserted
> to be subProperties of P1_or_P2. Now you can use a cardinality
> restriction to assert that a class C has at most one P1_or_P2. Thus if
> some instance of the class is related to individual x by P1 and
> individual y by P2, then x=y.

Thanks, Ian, for an interesting suggestion.  This approach is logically sound,
I'd say, but I still have a general concern about the issue of scope.   Your
suggestion (and other similar ones we've been kicking around) doesn't address
the phrase of my requirement that says "in the same namespace as".  So if I
adopt your approach, the cardinality restriction will say that class C has at
most one P1_or_P2 ANYWHERE  on the Web, right?

Are there any means (current or proposed) by which I could explicitly say
class C has at most one P1_or_P2 WITHIN ANY PARTICULAR NAMESPACE?

I can't help thinking that the ability to make this distinction would be
valuable in a number of different settings, not just with respect to my DAML-S
requirements.  And so I'm quite curious to hear others' thoughts on this.

Regards,

- David Martin

Received on Monday, 18 June 2001 22:16:19 UTC