W3C home > Mailing lists > Public > www-ws@w3.org > May 2003

Re: process:sameValues redefined

From: Drew McDermott <drew.mcdermott@yale.edu>
Date: Wed, 21 May 2003 15:39:21 -0400 (EDT)
Message-Id: <200305211939.h4LJdLS22283@pantheon-po03.its.yale.edu>
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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 3 July 2007 12:25:42 GMT