ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] Knowledge graphs by Google and Facebook

To: "[ontolog-forum] " <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "Barkmeyer, Edward J" <edward.barkmeyer@xxxxxxxx>
Date: Thu, 24 Jan 2013 11:36:33 -0500
Message-id: <63955B982BF1854C96302E6A5908234417D34404F5@xxxxxxxxxxxxxxxxxxxxxxxxxx>
This is a religious argument.  Codd and Date conducted a famous debate on the 
subject.    (01)

It is true that one does not "need" to have NULL, in the sense that it is 
always possible to design the database to avoid it in those cases where it 
represents "no value".  The rest is a matter of agreeing that you don't insert 
an incomplete record, or using similar design principles to deal with "may not 
be provided".    (02)

In every such case, the solution is to break up a 3rd normal form table into 
multiple tables, one for each column that "might be NULL", for whatever reason. 
 And of course, every query that needs all of that information must formally 
"join" those tables.  But the join eliminates all the incomplete instances, so 
you have to do separate queries to get the "incomplete records", or you have to 
reintroduce NULL as a possible value in a query result (the so-called 
'generalized join').  The point is that the religious purism creates costly 
mechanical overheads for very reasonable and meaningful situations;  it is not 
just a crutch for poor database designs.      (03)

The analogous idea in ontologies is to require a subclass for every optional 
property of objects of a "natural" class, the subclass being a subclass of the 
domain of the property -- objects that do have that property.  The problem is 
that those classes are not really meaningful to end-users; they are pure 
technical constructs.  They may have a use, in that some queries would restrict 
the class to a subclass that does have the property, but to force the ontology 
to explicitly contain every such "contextual subclass" creates a very 
cumbersome ontology.    (04)

I think of including things like NULL in languages as "Goedel's corollary for 
computational languages":  you can't get everything you want without allowing 
things you don't want.    (05)

-Ed    (06)

--
Edward J. Barkmeyer                        Email: edbark@xxxxxxxx
National Institute of Standards & Technology
Systems Integration Division
100 Bureau Drive, Stop 8263                Tel: +1 301-975-3528
Gaithersburg, MD 20899-8263                Cel: +1 240-672-5800    (07)

"The opinions expressed above do not reflect consensus of NIST, 
 and have not been reviewed by any Government authority."    (08)


> -----Original Message-----
> From: ontolog-forum-bounces@xxxxxxxxxxxxxxxx [mailto:ontolog-forum-
> bounces@xxxxxxxxxxxxxxxx] On Behalf Of John F Sowa
> Sent: Tuesday, January 22, 2013 8:30 AM
> To: [ontolog-forum]
> Subject: Re: [ontolog-forum] Knowledge graphs by Google and Facebook
> 
> Bob and Matthew,
> 
> There's an excellent reason why nobody mentions NULL in SQL:
> it's an embarrassment, which every expert wishes would go away.
> 
> BN
> > I am sure there is a really good reason why none of the experts on
> > this thread have mentioned the "NULL' value in RDBMS practice, but for
> > the life of me I cannot guess it.
> 
> MW
> > That is precisely the problem with NULL. You don't know if it means
> > not known, or does not exist. In principle it could mean either in any
> > situation.
> 
> Yes.  There is no way to define any rational semantics for NULL, and many
> people have been trying to get rid of it (deprecate it) for years.
> But once something goes into a standard and people start to use it, it's
> extremely difficult to get rid of it.
> 
> If you need a value to represent something that is known to exist but has not
> been identified, it's better to choose some name that does not normally
> occur in the domain.
> 
> Many businesses would use 99999 for an unknown ZIP code.  That caused
> huge volumes of mail to be delivered to Alaska before it got sorted out and
> sent back to the other 49 states.  With more computerization, the USPS now
> avoids shipping the physical mail to Alaska.
> 
> John
> 
> __________________________________________________________
> _______
> Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
> Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
> Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
> Shared Files: http://ontolog.cim3.net/file/ Community Wiki:
> http://ontolog.cim3.net/wiki/ To join: http://ontolog.cim3.net/cgi-
> bin/wiki.pl?WikiHomePage#nid1J
>     (09)

_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J    (010)

<Prev in Thread] Current Thread [Next in Thread>