From: Jim Hendler ([email protected])
Date: 06/12/01
Mike D. - can this go on some appropriate agenda.
-JH
------------------
Collections as properties:
I would like to make suggest the need for a language feature I'm
finding comes up often in several applications of DAML and DAML-S
that I am playing to (alluded to in earlier mail). I've evaluated
several long emails Ian sent me with suggestions for how to do things
in current D+O, but none quite match my need.
What I want to do is have a property of class that can be filled with
a list of elements (and ideally to be able to express limitations on
those elements). Currently, I can create a number of instances of a
given property, thus creating something like what I said, but it is
not the same.
The problem is I want this to be like any other property -- for
example, I may wish to say that all proofs have ONE AND ONLY ONE list
of proof steps. I could do this with max/min cardinality expressed
about the property filled by a collection, but can't do it with
simply a bunch of these properties expressed.
So, in RDF-S, I can say something like
Proof:Body :a rdf:Property;
rdfs:domain Proof:Proof;
range [ :collectionOf Proof:Step]
but I'd like to use the daml class and all the associated machinery.
So far, the closest thing anyone has suggested came from Ian
At 10:17 AM +0100 5/27/01, Ian Horrocks wrote:
>There really is no way in DAML to represent a "collection" of DAML
>classes - you have to specify the semantics of the collection, e.g., a
>conjunction, but this probably isn't what you intend. Another way
>would be to build a more complex class called, say,
>ProofStepCollection which consists of a ProofStep and (optionally) a
>hasClass restriction on the property "nextProofStep" with a value
>"ProofStepCollection". This would allow you to build arbitrary lists
>of ProofSteps. You could also play various tricks like making
>nextProofStep transitive (or perhaps defining a transitive
>superProperty "subsequentProofStep") so that you can get at all the
>ProofSteps via a single property link. This would then allow you to
>specify the (non)existence of certain kinds of ProofStep somewhere in
>the list, e.g., you could define the class of proofs such that all
>(none) of the steps in the proof body were of a certain kind.
but that is awfully cumbersome. I'd be willing to consider a
language idiom that maps to what Ian proposed, but wonder if anyone
else has an alternative. (Dan C., you had sent me something, but I
lost the email - perhaps send your solution to the group)
Dr. James Hendler [email protected]
Chief Scientist, DARPA/ISO 703-696-2238 (phone)
3701 N. Fairfax Dr. 703-696-2201 (Fax)
Arlington, VA 22203 http://www.cs.umd.edu/~hendler
This archive was generated by hypermail 2.1.4 : 04/02/02 EST