Mombu the Programming Forum

  Mombu the Programming Forum > Programming > Interpretation of Relations


User Name
Password
REGISTER NOW! Search Today's Posts Mark Forums Read


Reply
 
Thread Tools Search this Thread 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
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes







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