| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: Undefinedness
David Cressey wrote:
> "Jan Hidders" <hidders_at_gmail.com> wrote in message
> news:46b18d2e-3a66-457d-b4ab-b7c98753cd2b_at_l1g2000hsa.googlegroups.com...
>
>>On 23 nov, 12:31, "David Cressey" <cresse..._at_verizon.net> wrote: >> >>>"JOG" <j..._at_cs.nott.ac.uk> wrote in message >>> >>>
>>>>>"JOG" <j..._at_cs.nott.ac.uk> wrote in message >>> >>>
>>> >>> >>> >>> >>>>>>Word up CDT. How the devil are you all? Well, I return with a
>>>>>>that as ever highlights my complete lack of formal mathematical >>>>>>training, and in light of knowing no logicians in my daily life
>>>>>>that), I was hoping that one of you kind folks might be able to
>>>>>>advise:
>>>
>>>>>>Say I had a set of 3 encoded propositions:
>>>>>>R := { {(Name, Tom), (Age, 42)}, {(Name, Dick), (Age, 16)},
>>>>>>Harry)} } >>> >>>>>>(note that Harry's Age is missing, so instead of adding a null,
>>>>>>intentionally just left the attribute out. Just ride with such
>>>>>>for now if you would.) >>> >>>>>>What if I deigned to create a simple 'adults' subset of this set
>>>>>>propositions, by creating a predicate that only returned the
>>>>>>p, which contained an age attribute greater than 18. Could I state
>>>>>>this as (where E signifies set membership):
>>>
>>>>>>Adults := { p E R | EXISTSx ( x > 18 && (Age, x) E p ) }
>>>
>>>>>>My question obviously hinges around Harry's missing age attribute.
>>>>>>this case would the EXISTSx (...) part of the set's intension
>>>>>>return a FALSE, or will I end up in the quagmire of 3VL with an >>>>>>UNDEFINED? My instinct is that I am still in 2VL given there is
>>>>>>null floating about, but since the recent, excellent discussions
>>>>>>Jan's DEF operator, and having delved into beeson's logic of
>>>>>>terms, I am not at all confident. >>> >>>>>>Any comments are much appreciated, and regards to all, Jim. >>> >>>>>I'm no mathematician or logician, but I'll answer anyway. >>> >>>>>To me, it dpends on whether the relationship (Name, Age) follows
>>>open
>>>
>>>>>world assumption or the closed world assumption.
>>>
>>>>While I was only really concerned about whether my logic statements
>>>>are sticking to 2VL internally, you've sent me off at a tangent here
>>>>because CWA is one of my bugbears. Imho its at best silly, and at
>>>>worst contradictory. Take relations such as:
>>>
>>>>Weather_is = { condition: Hot }
>>>>Weather_is_not = { condition: Cold }
>>>>Domain = {Hot, Cold}
>>>
>>>>Perfectly fine with full information, and a constraint that a
>>>>condition can't appear in both. And I can happily extrapolate from CWA
>>>>from the first relation that: !is(condition:cold)), and from the
>>>>second !is_not(condition:hot). Nice...
>>>
>>>>...until we're faced missing information. If both relations are empty
>>>>(because we just don't have the data say), then CWA tells me that:
>>>>!Weather_is(condition:Hot) and !Weather_is_not(condition:Hot). It is
>>>>both hot and not hot. Genius. I don't see how CWA based directly on
>>>>what propositions state can ever be justified for a system working in
>>>>the real world (TM).
>>>
>>>In theory, you never have to be concerned about missing information. In
>>>practice, you do.
>>
>>I know that's not how you meant "in theory", but in current research
>>in database theory this is actually a hot topic, especially in
>>connection with missing or uncertain information (including null
>>values) and also with data integration where the classical CWA almost
>>never fully applies. There's a whole spectrum between the full CWA and
>>the OWA that go from stronger assumption to weaker assumptions. It can
>>for example be that the CWA applies only to certain selections or
>>projections of the relation.
>>>The best we can hope for is that database will not amplify the mistakes >>>people make, at least not very often. >> >>That seems to me almost unavoidable. Any system that enhances your >>power is likely to amplify the magnitude of your mistakes. The best we >>can do is to make the people that deal with these systems aware of >>these dangers and train them well. They should hire more database >>professors. ;-)
According to my mug, one of Troutman's Laws is "If the input editor has been designed to reject all bad input, an ingenious idiot will discover a method to get bad data past it."
That's the closest to relevant I could get from the mug.
> I don't think ordinary people need database professors. They need
> information age kindergarten teachers. It's not the same skill.
Received on Fri Nov 23 2007 - 16:59:01 CST
![]() |
![]() |