Mombu the Programming Forum

Mombu the Programming Forum > Programming > Interpretation of Relations
REGISTER NOW! Mark Forums Read




Reply
 
Thread Tools Display Modes
1 1st May 02:42
jonathan leffler
External User
 
Posts: 1
Default Interpretation of Relations



I'm going to stop here...

This means that everyone I will ever want to model in this database can
be identified by 'Joe'; no-one will ever have any other identity. The
domain is a type, and defines (in some way) all the possible valid
values for that type. So, your domain of people can only ever identify Joe.

Similarly, your domain D_Hair says that the only possible hair colours
of interest, ever, will be Red and Blond. No-one who has black, white,
grey, brown, or purple-with-pink-stripes hair will be of interest to
this database (or, if they are, they'll have to be treated as either red
or blond or both - or neither?).

So, I think you've over-minimized your domains. Einstein said "Make
everything as simple as possible, but no simpler". --
Jonathan Leffler #include <disclaimer.h>
Email: jleffler@earthlink.net, jleffler@us.ibm.com
Guardian of DBD::Informix v2005.02 -- http://dbi.perl.org/
  Reply With Quote
SPONSORED LINKS BY GOOGLE

 


2 1st May 02:42
joe thurbon
External User
 
Posts: 1
Default Interpretation of Relations



Yep. That was intentional. The nub of my question is what happens when
you apply the closed world assumption. The bigger the domains, the more
implicit negative statements I'd have to enumerate. I agree that the
domain is extremely simple, but the purpose is not to actually do any
modelling, but rather to examine how the model, once chosen, is interpreted.

I was probably unclear in my original post, and hopefully I've explained
that above. If you don't mind running with the example as written, I'd
appreciate hearing any further comments.

Cheers,
Joe
  Reply With Quote
3 17th May 18:59
neo
External User
 
Posts: 1
Default Interpretation of Relations


Below I test your hypothesis with an experimental db.

(new 'red 'hair_color)
(new 'blond 'hair_color)

(new 'joe 'person)
(set joe hair_color blond)

(; Get joe hair_color red)
(get joe hair_color red)

The last expression returns nothing, impling db doesn't know this fact.
  Reply With Quote
4 17th May 18:59
neo
External User
 
Posts: 1
Default Interpretation of Relations


On second thought, following may be a better test:

(new 'red 'color)
(new 'blond 'color)

(new 'hair1 'hair)
(set hair1 color blond)

(new 'joe 'person)
(set joe has hair1)

(; Get joe hasn't hair whose color is red)
(new 'hasn't 'verb)
(get joe hasn't (& (get hair instance *)
(get * color red)))

The last expression returns nothing, impling db doesn't know this fact.
  Reply With Quote
5 17th May 18:59
joe thurbon
External User
 
Posts: 1
Default Interpretation of Relations


Thanks for your reply.

I think my original post was unclear in stating my problem, since this
is the second reply which talks about my impoverished domain.

As far as I understand it "Joes hair is Brown" is not even a valid
statement in my domain.

Since the Colour domain contains only Red and Blond, and I've not made
either assertion {Joe Blonde} nor {Joe, Red}, the CWA means that I've
effectively "asserted" the negation of both.

Cheers,
Joe
  Reply With Quote
6 17th May 18:59
paul c
External User
 
Posts: 1
Default Interpretation of Relations


I believe it is not right. There is only one row/tuple in the
negation/complement. To say that Joe's hair colour is neither Red or
Blond, the complement needs two rows.

I think this is something that often trips me up - we can obtain tuples
that have no attributes only by projecting away other attributes (which
I believe is the purpose of TABLE_DEE and DUM) or by declaring a
relation that has no attributes and then "assigning" (basically, this
means memorizing) a value that stands for true or false to that
relation. In the RM, it is a logical mistake to assign an imagined value
of "empty set" to a tuple that has non-set-valued attributes, eg., as in
"R_Hair Colour: <<D_People X D_Hair>: {}>".

p
  Reply With Quote
7 17th May 18:59
paul c
External User
 
Posts: 1
Default Interpretation of Relations


Not impoverished, rather unnecessary! For this purpose the only domain
you need is hair colour.

p
  Reply With Quote
8 6th September 08:38
jog
External User
 
Posts: 1
Default Interpretation of Relations


I see nothing wrong with your logic. What you are saying via an empty
relation is that there is no proposition for which Joe has a hair
colour. In fact I think from it you can infer: Joe has no hair colour.
(which given my external knowledge --> Joe has no hair).


My current understanding is that:

* If an attribute is Inapplicable then simply stating no proposition
containing it is sufficient for that fact to be inferred.
* If the attribute is Applicable but we do not have value for it, then
we must state this propositionally to avoid inferring it as
inapplicable under the CWA.
* Alternatively if the attribute is 'possible' (we don't know if it is
missing or inapplicable) then we must also state a proposition
reflecting this in order to avoid the inapplicability inference.

It is worth noting that many view db-query results as coming with the
caveat "as far as I, poor naive database, know". Jim.
  Reply With Quote
9 6th September 08:38
paul c
External User
 
Posts: 1
Default Interpretation of Relations


If the applicable attribute with no value or possible attribute with or
without a value, should an invoice be sent to the customer?

p
  Reply With Quote
10 6th September 08:38
joe thurbon <
External User
 
Posts: 1
Default Interpretation of Relations


On 2007-01-19 21:24:25 +1000, paul c <toledobythesea@oohay.ac> said:


Yes, that's true. It's obvious to me, now that you've said it.

Thanks,
Joe
  Reply With Quote
Reply


Thread Tools
Display Modes







Copyright © 2006 SmartyDevil.com - Dies Mies Jeschet Boenedoesef Douvema Enitemaus -
Also visit Ogoun the Usenet Archive
666