Re: Mixing OO and DB

From: Brian Selzer <brian_at_selzer-software.com>
Date: Thu, 14 Feb 2008 04:54:57 GMT
Message-ID: <BQPsj.6026$xq2.1517_at_newssvr21.news.prodigy.net>


"David BL" <davidbl_at_iinet.net.au> wrote in message news:3f443a68-9822-4099-9b89-e62e76e0d197_at_d70g2000hsb.googlegroups.com...

> On Feb 13, 9:22 pm, "Brian Selzer" <br..._at_selzer-software.com> wrote:

>> "David BL" <davi..._at_iinet.net.au> wrote in message
>>
>> news:8c33acce-694e-4edf-8758-7b296ea59557_at_s8g2000prg.googlegroups.com...
>>
>>
>>
>>
>>
>> > On Feb 12, 10:49 am, "Brian Selzer" <br..._at_selzer-software.com> wrote:
>> >> "JOG" <j..._at_cs.nott.ac.uk> wrote in message
>>
>> >>news:27321846-87df-4f21-a7bd-382d8b7d6605_at_m34g2000hsf.googlegroups.com...
>>
>> >> > On Feb 12, 1:01 am, JOG <j..._at_cs.nott.ac.uk> wrote:
>> >> >> On Feb 11, 4:10 pm, David BL <davi..._at_iinet.net.au> wrote:
>>
>> >> >> > On Feb 11, 11:08 pm, JOG <j..._at_cs.nott.ac.uk> wrote:
>>
>> >> >> > > On Feb 11, 12:44 pm, David BL <davi..._at_iinet.net.au> wrote:
>>
>> >> >> > > > On Feb 11, 8:07 pm, JOG <j..._at_cs.nott.ac.uk> wrote:
>>
>> >> >> > > > > On Feb 11, 2:05 am, David BL <davi..._at_iinet.net.au> wrote:
>>
>> >> >> > > > > > On Feb 11, 3:29 am, JOG <j..._at_cs.nott.ac.uk> wrote:
>>
>> >> >> > > > > > > On Feb 10, 5:45 pm, "Dmitry A. Kazakov"
>> >> >> > > > > > > <mail..._at_dmitry-kazakov.de>
>> >> >> > > > > > > wrote:
>> >> >> > > > > > > > [What is data, in your opinion?
>>
>> >> >> > > > > > > Data. Lots of datum - from latin, meaning statement of
>> >> >> > > > > > > fact.
>> >> >> > > > > > > Predicate
>> >> >> > > > > > > and value in FOL. A value without description is of
>> >> >> > > > > > > course
>> >> >> > > > > > > just
>> >> >> > > > > > > noise.
>>
>> >> >> > > > > > Latin datum is past participle of dare, "to give". What
>> >> >> > > > > > make
>> >> >> > > > > > you say
>> >> >> > > > > > data is necessarily a set of propositions?
>>
>> >> >> > > > > The OED. "Facts, esp. numerical facts, collected together
>> >> >> > > > > for
>> >> >> > > > > reference or information." The etymology stems from 'dare',
>> >> >> > > > > because
>> >> >> > > > > facts are always communicated or "given". I understand of
>> >> >> > > > > course
>> >> >> > > > > that
>> >> >> > > > > the term is thrown around wantonly and ambiguosly nowadays,
>> >> >> > > > > but
>> >> >> > > > > as
>> >> >> > > > > data theorists, we shouldn't be party to that imo ;)
>> >> >> > > > > > Are you suggesting a value
>> >> >> > > > > > is meaningless without a proposition? Why can't a datum
>> >> >> > > > > > just
>> >> >> > > > > > be a
>> >> >> > > > > > value?
>>
>> >> >> > > > > Because ta value has to be associated with something.
>> >> >> > > > > Hofstadter
>> >> >> > > > > gave
>> >> >> > > > > a good example of this with the groove modulations on a
>> >> >> > > > > vinyl
>> >> >> > > > > record.
>> >> >> > > > > To us they are (musical) data, to an alien not knowing
>> >> >> > > > > their
>> >> >> > > > > context,
>> >> >> > > > > it is not. You need the context.
>>
>> >> >> > > > > > Wouldn't you say a recorded image is data?
>>
>> >> >> > > > > Of course, so long as I know it's an image. If its just
>> >> >> > > > > ones
>> >> >> > > > > and
>> >> >> > > > > zero's stored in a computer, without anyway of telling they
>> >> >> > > > > represent
>> >> >> > > > > a picture, then it is simply noise.
>>
>> >> >> > > > Let's indeed assume we know how to interpret the 1's and 0's
>> >> >> > > > as
>> >> >> > > > an
>> >> >> > > > image. So what have we got? Nothing but a *value*.
>>
>> >> >> > > No, you now have a value with applied context. That creates a
>> >> >> > > fact.
>> >> >> > > You now therefore have data. It's simple to show - consider
>> >> >> > > "1000001".
>> >> >> > > Thats currently a value, but its not data. Its only data when I
>> >> >> > > store
>> >> >> > > it, and state one of the following:
>>
>> >> >> > > "100001" is a text string
>> >> >> > > "100001" is an integer (i.e. 65)
>> >> >> > > "100001" is an ascii character (i.e. A)
>> >> >> > > etc..
>>
>> >> >> > These "facts" are all tautologies that are true whether you
>> >> >> > record
>> >> >> > them or not.
>>
>> >> >> I'm not seeing whats so controversial or difficult about the fact
>> >> >> that
>> >> >> "10001" is just a meaningless binary value until you give it a
>> >> >> context. It seems somewhat obvious to me.
>>
>> >> >> > I dispute your premise that the purpose of the data in
>> >> >> > this case is to state a fact that is known a-priori to be true.
>>
>> >> >> A Datum is a given fact. That's what the word means formally. I
>> >> >> have
>> >> >> said nothing more, and I have no idea what you are on about talking
>> >> >> about "the purpose of data".
>>
>> >> >> > If that is its purpose then it conveys precisely zero
>> >> >> > information.
>>
>> >> >> > > > We can display
>> >> >> > > > it. We can comment on whether we like it - even if we
>> >> >> > > > haven't a
>> >> >> > > > clue
>> >> >> > > > where it came from. But I don't see any sense in which the
>> >> >> > > > image
>> >> >> > > > value gives us any statements of fact beyond the
>> >> >> > > > specification
>> >> >> > > > of a
>> >> >> > > > value. A value simply "is".
>>
>> >> >> > > > I would suggest that a lot of the data in the world is
>> >> >> > > > characterised
>> >> >> > > > more closely as "interesting values" than collections of
>> >> >> > > > propositions.
>>
>> >> >> > > You cannot store these interesting values without implicitly
>> >> >> > > stating
>> >> >> > > some fact about them.
>>
>> >> >> > By definition, when a value is specified, its type is specified
>> >> >> > as
>> >> >> > well (except possibly if type inheritance is supported).
>>
>> >> >> > C. Date states the following in "Introduction to Database
>> >> >> > Systems",
>> >> >> > section 5.2, and subsection titled "Values and Variables are
>> >> >> > typed":
>>
>> >> >> > "Every value has ... some type...Note that,
>> >> >> > by definition, a given value always has
>> >> >> > exactly one type, which never changes.
>> >> >> > [footnote: except possibly if type
>> >> >> > inheritance is supported]"
>>
>> >> >> > When a particular value like the integer 73 is specified, there
>> >> >> > is
>> >> >> > no
>> >> >> > implicit fact being specified. The statement that the integer
>> >> >> > 73
>> >> >> > exists in any absolute sense is entirely metaphysical and
>> >> >> > meaningless
>> >> >> > within computer science.
>>
>> >> >> So you just wriite "73" down and are telling me its a datum? I'm
>> >> >> pretty sure that's what we call a "value", not data. I'm wondering
>> >> >> if
>> >> >> you are misconstruing my point - "73" is only data when you apply
>> >> >> some
>> >> >> context to it, like saying this its someones room number, or
>> >> >> today's
>> >> >> average temperature, or the amount of red in a certain pixel of an
>> >> >> image (and yes, those are then facts).
>>
>> >> > Let me clarify the distinction I'm making David:
>> >> > "RED" is a value.
>> >> > "The first pixel in the image is RED" is a datum.
>>
>> >> > That can't be that contentious...can it?
>>
>> >> Isn't a datum an atomic value? I think I remember reading somewhere,
>> >> "Each
>> >> and every datum (atomic value)...."
>>
>> >> I think the distinction you want to make is whether or not some
>> >> individual
>> >> that is represented by the value 73 actually exists. For that there
>> >> needs
>> >> to be a context. If the value 73 from the domain of integers is named
>> >> in
>> >> a
>> >> tuple in a relation in a database, then clearly that particular
>> >> instance
>> >> of
>> >> the value 73 has a context and thus maps to an actual individual in
>> >> the
>> >> picture of the universe of discourse that is the database. Clearly
>> >> the
>> >> act
>> >> of storing the value 73 gives it context. Without context, 73 is a
>> >> possible
>> >> value, not an actual value.
>>
>> > Instance of a value? Context of a value? Possible value? Actual
>> > value? I cannot make sense of that.
>>
>> Perhaps I should clarify: A database is a proposition--a picture of the
>> universe. There can be many possible pictures of the universe, but only
>> one
>> is supposed to be true. A value can appear in many possible pictures, so
>> it
>> follows that a value can appear in a possible picture that is supposed to
>> be
>> true or in a possible picture that is not supposed to be true, /or both/.
>
> Yes, a value can appear in many different contexts.   In this
> discussion I think we need to be very careful with distinguishing
> between a value, and the appearance (ie encoding) of a value in a
> particular context.
>

>> If a value is a fact, how, then, can it be both true and not true?
>
> What does it mean to say a value is a fact?
>

I think that's my point.

>> An
>> instance of a value, a value in context--the association of a value with
>> a
>> picture of the universe--on the other hand, /can/ be a fact because that
>> association can be with a possible picture that is supposed to be true or
>> with a possible picture that is not supposed to be true, /but not both/.

>
> I think I understand what you are saying, but I would say it slightly
> differently.  Rather than "instance of value" I would say "appearance
> of value", but only because I'm so used to seeing "instance" used in
> the context of "instance of a type", but maybe that's my OO background
> showing through.  Instantiation also makes me think of the terminology
> used for binding variables to values such as when one says a
> proposition is an instantiation of a predicate.
>

I used the term 'instance' to eliminate confusion when there is more than one appearance of a particular value in the same picture of the universe. For example,

"Bill Jones married Judy Smith on '1995-06-23' in Cleveland, Ohio." "Bill Jones married Sally Martin on '2000-03-15' in Akron, Ohio."

Here, the value 'Bill Jones' appears multiple times in the same picture of the universe, yet due to Leibniz there can still only be one association between the value 'Bill Jones' and that particular picture of the universe. So there is only one 'instance' even though there can be more than one 'appearance.'

> I also don't see how an appearance of a value itself generally
> represents a fact (even though it's tied to a context).   I can see
> it's true if you assume the value is a tuple within a relation, but
> was that your intention?
>

The appearance of a value in a proposition that is supposed to be true asserts existence. Under an interpretation every constant symbol in a proposition is mapped to an individual in the Universe of Discourse. That obviously can't happen if any of the individuals do not exist. So it follows that every appearance of a value is a mapping from a constant symbol to an individual that actually exists.

>> A value that appears in any possible picture of the universe is a
>> possible
>> value. A value that appears in the possible picture of the universe that
>> is
>> supposed to be true is an actual value.

>
> You've lost me.
>

There can be many possible extensions, but only one, the actual extension, represents the current state of affairs.

>> Thus a value is just a value without some context. Once a value is given
>> context, such as being stored in a database, or written down, or
>> whatever,
>> then it can be considered information.

>
> I think I know what you're saying but I don't like the way you say
> it.  It doesn't make sense to say a value is given a context.   A
> value like the integer 73 doesn't float around and suddenly drop into
> your database!  The value just "is".  A database may contain any
> number of appearances or encodings of the value 73, but the abstract
> number itself doesn't have a context.  It is the appearance of the
> value that has a context (and can be considered information within
> that context)
>

I think we need to be careful not to mix concepts here. First, it doesn't matter whether something is concrete or abstract. "Bill Jones" without a context is not data even though "Bill Jones" is concrete. Second, can a value be a value if the individual it maps to doesn't exist? Third, the problem is not that the number 73 doesn't have a context--it has many contexts, one for each possible picture of the universe in which it appears; the problem is that it doesn't have one and only one context.

>> Each atomic value that is in the
>> database is a datum simply because it is /in/ the database.

>
> Agreed.  An appearance (ie encoding) of a value has a context and is
> data.
>

Careful. Just because a picture is possible doesn't mean that it is supposed to be true, so just because an appearance of a value has context doesn't mean that it is data: just because it is possible that I won the lotto doesn't mean that I actually did. Received on Thu Feb 14 2008 - 05:54:57 CET

Original text of this message