Kevin Kirkpatrick wrote:
> On Mar 21, 11:38 am, Bob Badour <bbad..._at_pei.sympatico.ca> wrote:
>
>>Marshall wrote:
>>
>>>On Mar 21, 8:28 am, Bob Badour <bbad..._at_pei.sympatico.ca> wrote:
>>
>>>>Marshall wrote:
>>
>>>>>On Mar 21, 4:00 am, Bob Badour <bbad..._at_pei.sympatico.ca> wrote:
>>
>>>>>>Marshall wrote:
>>
>>>>>>>On Mar 20, 10:31 am, "JOG" <j..._at_cs.nott.ac.uk> wrote:
>>
>>>>>>>>[...] Nothing in a
>>>>>>>>proposition should ever be hidden from the user. Propositions come
>>
>>>>>>>>from outside of the logical layer after all. If an attribute is an
>>
>>>>>>>>identifier then it clearly impacts on identifying items in the real
>>>>>>>>world.
>>
>>>>>>>I buy the "nothing should be hidden" argument, but I can't
>>>>>>>decide if a domain that only supports equality is hiding
>>>>>>>anything or not.
>>
>>>>>>It has to have at least one possible representation.
>>
>>>>>Can you elaborate? Why does it need at least one?
>>>>>What breaks if it doesn't?
>>
>>>>How does one express any literal without at least one possible
>>>>representation?
>>
>>>Okay, sure, yes, that's a point. But that's more of a structural
>>>objection than a functional one. What breaks if a type doesn't
>>>have literals?
>>
>>The basic ability to specify a value.
>>
>> What about the model requires literals?
>>
>>A model for expressing values has to have a way to express them. I don't
>>think I understand your question.
>>
>>
>>>In the case of equality, I can point to what exactly breaks if
>>>a type doesn't support it: join. Specifically equijoin requires
>>>some kind of "equi-".
>>
>>>What breaks if a type doesn't have literals?
>>
>>Everything.
>>
>>
>>>I'm not particularly attached to this construct, but if it is
>>>flawed I'd like to be able to put my finger right on it.- Hide quoted text -
>
> Assignment is obvious (and assignment implies representation)... I've
> always wondered about the need for "equality". Consider
> "fingerprint_scan" a domain in which the only means for comparison of
> two fingerprint_scan values is "resembles(F1, F2, points_to_match)".
> As such, equality is not defined and F1=F2 should be considered
> meaningless. Does this really break anything in the relational model
> - after all, I can still do theta joins, just not equijoins.
Kevin, one would still need a way to tell if two fingerprints were the
exact same scan. Consider a self-join using a fingerprint relation
looking for possible matches among a set of scans. Presumably, one would
want to know which different scans resemble each other. One cannot
express the need for difference without equality and its negative.
Suppose, instead of a "resembles" boolean predicate, one has a
"distance" measure and one seeks to find for each fingerprint the
minimum distant fingerprint. Without excluding equality, the query would
necessarily return each fingerprint as closest to itself.
Received on Wed Mar 21 2007 - 12:21:07 CDT