Re: OO versus RDB



On 16 Jun 2006 09:56:40 -0700, David Barrett-Lennard wrote:

[ I have skipped much stuff, because the very approach to comparison of OO
and RM taken, is IMO flawed.]

father(abraham, isaac).
[...]
The strong semantics behind the relational model allows for the
database engine to support advanced forms of query. By contrast, an OO
class is usually thought of as encapsulating internal state so the
system can't know the semantics.
[...]
But when OO tries to model external entities, it loses a lot of its
appeal.

The [strong] semantics of RM is the semantics of the real world objects?
Collection of facts? What happens if some facts are wrong?

Note that this is not a critique of Prolog or RM. It is a simple fact (:-))
that there is absolutely no semantic difference between:

1. Data base + management of
2. Knowledge base + inference rules
3. Program + CPU

Neither has anything to do with Isaac and Abraham as real mythological
(:-)) characters. Any of them might model Bible (the text of, what it
describes, what its readers believe in, what the Universe is etc) wrong.
Any of them has a sematic of its own which might or maybe not map well to
the "reality", whatever it be.

My stance is that I just don't care. To me it is important the language
abstraction level I am dealing with. This does not warranty anything but at
least gives me some hope.

Now to compensate your critique of ADTs: the problem of RM, in its current
state is its extremely low abstraction level [*]. The "strong" semantics is
a consequence of. AND/OR circuits have an extremely strong semantics of
Boolean algebra. So what? Most of nasty problems of ADTs (such as LSP,
multiple dispatch, parallel types hierarchy, etc) are problems of higher
abstractions, RM does not possess. Oh, it surely does, but it would take a
human's life to construct them there manually. When RM will become ADT (and
it surely will) that type system will face *same* problems. These problems
are fundamental, IMO.

-------------
* Your string example indicates this. But that is nothing comparable to
containers of strings, constrained strings, strings of various types of
characters, their encoding, support and construction string matching
algorithms, parsing, compiler construction etc.

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
.



Relevant Pages

  • Re: Property sheet, ad hoc, property page, flexible data
    ... "ProductNotation". ... > as being one that actually has well-defined semantics. ... > the name column *aren't* metadata, since we don't know what they ... You could toss in a few of these notational attributes as strings and ...
    (comp.databases.theory)
  • Re: OO versus RDB
    ... The semantics of RM is the semantics of the real world objects? ... What happens if some facts are wrong? ... emphasis on "design by contract". ... containers of strings, constrained strings, strings of various types of ...
    (comp.object)
  • Re: Bizarre Range behavior
    ... It just makes the developer look too stupid. ... Because the semantics with which humans interact and think are ambiguous, ... who are interested in programming and not getting bogged down in the ... You could make the case that we should just use strings, ...
    (comp.lang.ruby)
  • Re: A simple metaobject protocol for packages
    ... with the current default semantics of interning of strings to symbols, ... creates incompatibilities with legacy Common Lisp code. ... semantics present in Common Lisps with historically good Unicode ...
    (comp.lang.lisp)