From: Jim Hendler (jhendler@darpa.mil)
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 jhendler@darpa.mil 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