Re: Doubt about Parameter during execution

OWL-S folks -

Could we discuss this issue at the next telecon?  I understand Bijan's 
perspective on this (expressed below), but I'm getting feedback from a 
tool development effort that life would be much easier with cardinality 
= 1 instead of minCardinality of 1.  Personally I think the practical 
advantages of the former considerably outweigh the theoretical or 
practical advantages of the latter.

Cheers,
David

Bijan Parsia wrote:
> Catching up.
> 
> On Jan 6, 2005, at 7:56 AM, David Martin wrote:
> 
>> Hi Bijan -
>>
>> Bijan Parsia wrote:
>>
>>> I'm not following the whole discussion, but...
>>> On Jan 5, 2005, at 2:14 PM, David Martin wrote:
>>>
>>>> Evren Sirin wrote:
> 
> [snip]
> 
>>>> I also think it should  be a cardinality, and I don't remember 
>>>> anyone advocating minCardinality.
>>>
>>> You forgot :) We had a lengthy discussion about this.
>>
>>
>> Thanks for the reminder; you are right.  I remember now (although in 
>> my memory it seems more like a short discussion, for what that's worth).
> 
> 
> Well, I seem to recall having it more than once :) Also, I sorta 
> assimilate it to the whole parameterType thing which was lengthy (since 
> it encompasses deading with OWL fullisms). Be that as it may.
> 
>> However, now that I'm not under the sway of your telecon eloquence 
>> ;-), I'm not sure I agree with your point anymore ...
>>
>>> If you interpret it as syntax (i.e., the *user specified* type) then 
>>> a cardinality could be appropriate. If it is the *actual type* (in 
>>> the sense that it should eventually resolve to the rdf:type of a 
>>> value) then, minCardinality is required. The understanding at the 
>>> time of the design was the latter.
>>
>>
>> I fully agree, of course, that a specific value of a parameter (at 
>> runtime) will normally have multiple types.  E.g., if input I1 is 
>> defined to have parameterType "http://animalkingdom.com/....#Racoon" 
>> then when #Rocky is provided as a particular runtime value of I1, 
>> #Rocky clearly has (at least) types ...#Racoon, ...#Mammal, and 
>> ...#Animal.
> 
> 
> It will have an infinite number of types, given a sufficiently 
> expressive logic (like owl), since it will be a member of all 
> disjunctions involving one if its types.
> 
>> Note that #Rocky is *not* an instance of I1, in the OWL sense.  As you 
>> know, the relationship between I1 and a runtime value like #Rocky 
>> isn't made explicit in OWL-S (although various people, including you, 
>> have ideas about how to extend OWL-S to make it explicit).  What I 
>> mean is that there's no explicit property, like, say,
>>   runtime_value_of(#Rocky, #I1)
>> that relates these 2 things.
> 
> 
> Prolly.
> 
>> #Rocky *does* of course have to be an instance of ....#Racoon.  We 
>> know that (implicitly) because that's what our documentation says 
>> about how parameterType is supposed to be used.
> 
> 
> Yes.
> 
>> What we are discussing here is possible values of instances of the 
>> property parameterType (like "http://animalkingdom.com/....#Racoon" in 
>> the above example).  As the authors of the OWL-S ontology, we can say 
>> what a particular value of parameterType means.
> 
> 
> Yes.
> 
>>   Why don't we just say that a particular value of parameterType is "a 
>> URI for a class description for the unique class that contains all 
>> possible values that can be taken by the relevant parameter at runtime".
> 
> 
> Because there is no such such (unique) class description or class? And 
> the URI prolly identifies the class not the description? Sorry, that's a 
> bit of nitpicking on wording. I think it's perfectly coherent to change 
> the meanning of parameterType to something like "specified parameter 
> type" or "explicit paramter type signature", even without changing the 
> name. I was mostly noting that it wasn't an *accident* that we put 
> minCard, indeed, minCard is required for the interpretation we had in 
> mind (especially as an evolution of the older one).
> 
>> Then, it seems to me, parameterType declarations would correspond to 
>> most people's normal intuition of what a parameter type declaration 
>> means.
> 
> 
> I don't share that sense, largely because I have no idea what people's 
> normal intuition is about type declarations, much less whether it's a 
> good one :) Hmm. I suspect that it's extra dangerous to rely on that 
> since if their intuitions are based on programming languages, they will 
> be surprised at the fact that classes in different branches of a class 
> tree might overlap.
> 
>>  And then a cardinality of 1 (which is also intuitive for most people 
>> here) would be valid.
> 
> 
> I don't believe that. Subtyping is common!
> 
>> What am I missing?  Would this approach break something?
> 
> 
> I don't think it would break anything, since the literal pushes us way 
> outside anything OWL would require of us anyway. I don't endorse the 
> move. It seems to be a minimal gain. Ok, we have evidence that Tatiana 
> and maybe Evren had been confused by it, and that three out of you find 
> it more intuitive the other way, but...well...I still disagree :) It 
> certainly pushes us closer to modeling syntax (i.e., it is often true 
> that you can have on a formal parameter only one type declaration).
> 
> Either way, it is clear that documenting it better is essential.
> 
> Cheers,
> Bijan Parsia.
> 

Received on Monday, 21 March 2005 07:51:16 UTC