- From: David Martin <martin@AI.SRI.COM>
- Date: Sun, 20 Mar 2005 23:50:31 -0800
- To: public-sws-ig@w3.org
- CC: Evren Sirin <evren@cs.umd.edu>
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