Re: Doubt about Parameter during execution

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 Tuesday, 11 January 2005 05:51:36 UTC