Re: DAML-S expressiveness challenge #1

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.

I believe that Dan Connolly is making a list of useful DAML+OIL
"recipes". Perhaps he could add this one.

Regards, Ian

Received on Sunday, 17 June 2001 18:11:40 UTC