Re: DAML-S expressiveness challenge #2

David Martin wrote:
> 
> In a DAML-S process description, we need to be able to express the
> following sort of restriction:
> 
>     the set of things whose property P has values in [Class1, Class2,
> ... ClassN]

Sorry, I should have mentioned that I'm talking about the values being
in a Cartesian product, and I suppose I might have used a more standard
notation.

- David

> 
> that is,
> 
>     the set of things x such that, for each property instance P(x, y), y
> is a daml:list whose first element is an instance of Class1, second
> element an instance of Class2, ..., and nth element is an instance of
> ClassN.
> 
> I'm looking for something like this:
> 
>     <daml:Restriction>
>       <daml:onProperty rdf:resource="#P"/>
>       <daml:toClass>
>           WHAT GOES HERE?
>       </daml:toClass>
>     </daml:Restriction>
> 
> For brevity, and because I think the above request is pretty clear (but
> correct me if I'm wrong about that :-), I won't give any motivation or
> examples related to processes per se in this message.  But I'll be glad
> to follow up with such if needed.
> 
> Question 1: What's the nicest way to do the above with current DAML+OIL?
> 
> Question 2: Could we reasonably easily define a new property (or make it
> part of the base language), say "listOfInstancesOf", so that the
> following reasonably pretty declaration would be possible:
> 
>     <daml:Restriction>
>       <daml:onProperty rdf:resource="#P"/>
>       <daml:toClass>
>         <listOfInstancesOf rdf:parseType="daml:collection">
>           <rdfs:Class rdf:about="#Class1"/>
>           .....
>           <rdfs:Class rdf:about="#ClassN"/>
>         </daml:listOfInstancesOf>
>       </daml:toClass>
>     </daml:Restriction>
> 
> Thanks,
> 
> -- David
> 
> PS - Thanks to Mark Burstein for doing most of the work that led to the
> formulation of this question.

Received on Monday, 16 July 2001 05:12:21 UTC