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

Re: Data Flow

From: David Martin <martin@ai.sri.com>
Date: Thu, 09 Oct 2003 22:59:18 -0700
Message-ID: <3F864AB6.20503@ai.sri.com>
To: Bijan Parsia <bparsia@isr.umd.edu>
Cc: Massimo Paolucci <paolucci@cs.cmu.edu>, www-ws@w3.org

Bijan Parsia wrote:

> 
> On Thursday, October 9, 2003, at 08:50 PM, Massimo Paolucci wrote:
> 
> [snip]
> 
>> While the two proposals seem to be quite distant, there is a simple
>> way to combine them using the owl sameAs construct.
>>
>> From the owl reference document:
>>
>>     The built-in OWL property owl:sameAs links an individual to an
>>     individual. Such an owl:sameAs statement indicates that two URI
>>     references actually refer to the same thing: the individuals have
>>     the same "identity".
>>
>> We could then say that there are inputs and outputs parameters, and
>> that the data flow is then represented by asserting a sameAs relation
>> between an input and an output.  Effectively those input and output
>> become the very same object in the context of the process model, which
>> looks very similar to Drew's channel proposal.
> 
> 
> Does it make sense for them to be the same object?  Aren't inputs and 
> outputs, well, different things? 

It seems to me it doesn't make sense, and I tried to make that point in 
a message back in August.  I copy it here

Massimo Paolucci wrote:

 > Actually I disagree.  sameInstanceAs says that in a given process
 > model two parameters are the same.

I wrote:

For one thing, when you assert sameInstanceAs about 2 objects, you're 
asserting that those 2 objects are identical, period.  To my knowledge, 
there's no concept of context; no way that OWL gives us to say "within a 
given process/scope/namespace/whatever, these things are identical". 
(I've wished there were a way, on a number of occasions   But let's 
ignore that for the moment.

Even this:
   "in a given process model two parameters are the same"
is not really what we want to say.  That is, we don't want to say that 
"output parameter X of process P1 is the same thing as output parameter 
Y of process P2".  sameInstanceAs asserts that two things are identical; 
they are precisely the same entity.  And it doesn't make sense to say 
that about 2 different parameters, belonging to 2 different processes. 
In fact, to say that might very well lead to unintended and 
inappropriate inferences.  Input and output parameters have a variety of 
characteristics; just because their execution-trace-values are bound 
within some larger process does not mean that they are identical in all 
respects.

Notice also that if we say that inputs and outputs are disjoint (as we 
discussed in the context of the Profile *Description classes), then it 
won't even be legal to say that some output parameter is sameInstanceAs 
some input parameter.

It also implies that in ALL the

 > traces of that process model they are the same.


I agree that *this* is what we need to say; that is, that, in every 
execution trace, the two parameters have the same value.  And I agree 
that *if* we could assert sameInstanceAs between the two parameters, 
this would be implied.  But, since we can't meaningfully assert 
sameInstanceAs between the two parameters, it seems to me we need a 
different approach.

-- David
Received on Friday, 10 October 2003 02:00:48 GMT

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