- From: Drew McDermott <drew.mcdermott@yale.edu>
- Date: Wed, 21 May 2003 15:39:21 -0400 (EDT)
- To: www-ws@w3.org
From: Saied Tazari <Saied.Tazari@zgdv.de> regarding the issue raised in http://lists.w3.org/Archives/Public/www-ws/2003Mar/0019.html, I would like to make a suggestion for enhancing the concept behind 'process:sameValues'. According to my idea, we may express a statement like (cp. http://www.daml.org/services/owl-s/0.9/CongoProcessDataFlow.owl): <process:sameValues rdf:parseType="Collection"> <process:ValueOf process:atClass="#FullCongoBuy" process:theProperty="#fullCongoBuyBookName"/> <process:ValueOf process:atClass="#LocateBook" process:theProperty="#bookName"/> </process:sameValues> this way (the new property and class names are supposed to come from the 'process' ontology): <process:dataFlow> <process:ValuePipe> <process:source> <process:ValueOf process:atClass="#FullCongoBuy" process:theProperty="#fullCongoBuyBookName"/> </process:source> <process:sink> <process:ValueOf process:atClass="#LocateBook" process:theProperty="#bookName"/> </process:sink> <process:pipes rdf:resource="&process;allValues"/> </process:ValuePipe> </process:dataFlow> This would make it possible to define another alternative for 'process:pipes', namely "&process;someValues" which would solve my problem with restricting input depending on output. Could this be used as an initial idea for enhancing DAML-S in terms of dealing with data flow? Yes, it could. ... P.S. I wonder if we could rewrite the above in the following abbreviated form: <process:dataFlow> <process:ValuePipe> <process:source rdf:resource="#FullCongoBuy.fullCongoBuyBookName"/> <process:sink rdf:resource="#LocateBook.bookName"/> <process:pipes rdf:resource="&process;allValues"/> </process:ValuePipe> </process:dataFlow> I take it the innovation here is the use of dot-notation to indicate class.property relationships more concisely than RDF allows. Well, we're pretty much operating in a gray zone, where we're apparently using RDF syntax, but in ways that don't really obey the intended meaning. The dot notation may go too far, but it's a matter of taste. When you're designing these notations, keep in mind that it may be difficult to say exactly what they mean. LocateBook is a _class_, to wit, the class of all its execution instances. So when you talk about LocateBook.bookName, you mean the value of bookName on a particular instance of that class. In particular, when used in a sameValues or ValuePipe context, it means "the instance of this class that is part of the same execution instance that supplies FullCongoBuy.fullCongoBuyBookName." Otherwise, you would get nonsensical assertions about someone's FullCongoBuy last week providing the input to my LocateBook this week. There is no way to infer this constraint from the RDF semantics, so you have to spell out how these instance equalities are extracted from an arbitrary occurrence of ValuePipe. -- -- Drew McDermott
Received on Wednesday, 21 May 2003 15:39:22 UTC