Re: Towards a definition of atomic

From: Marshall <marshall.spight_at_gmail.com>
Date: Sun, 3 Feb 2008 09:13:17 -0800 (PST)
Message-ID: <d8422f94-f42c-40f2-87b2-418ab1574140_at_f10g2000hsf.googlegroups.com>


On Feb 3, 5:33 am, Jan Hidders <hidd..._at_gmail.com> wrote:
> On 1 feb, 19:55, Marshall <marshall.spi..._at_gmail.com> wrote:
>
> This is the usual explanation for why and how abstract identifiers can
> have meaning. So does that mean you think that abstract identifiers
> can sometimes actually have meaning and be useful?

It seems pretty clear they have meaning. As to useful, I would be more comfortable with the question of whether they are a good design or not. However in verifying that I understood exactly what you meant by "abstract identifier" I came across an old post:

http://groups.google.com/group/comp.databases.theory/msg/a29e6e6cd225b6e5

Quote:



Suppose you use numbers to represent
the nodes of a nested value like a tree. Normally in a query in a model with
explicit nested values you can ask a query that transforms the given nested
values into another nested value, e.g., it transforms the trees into other
trees. If you want to do that in your surrogate-identifier simulation you
have to generate new identifiers in your query. There are theoretical results that prove that whatever computation on numbers you use you cannot
simulate every query that you could do with explicit nested values.

However, these results also apply to abstract identifiers if you only have a
new_id() constructor and only flat relations. But it is also known that you
can remedy this by either allowing 1 level of nesting (no more is needed) or
introduce a special algebra operator that creates new abstract identifiers
for each of the sets defined by a (flat) binary relation.



End quote.

In the face of the above results my opinions don't seem particularly relevant. :-) I will just mention the practical reality is that externalization is a ubiquitous requirement, and however abstract we might wish an identifier to be, it will need some degree of concreteness if it is going to be serialized to a bytestream. But that's not such a big deal: if both ends (or even just one?) are clear about the handling of abstract identifiers, appropriate mechanisms can be in place. (In fact I vaguely recall more or less this exact issue in dealing with the .wmf format sometime 15+ years ago.)

It still seems to me the interesting use-case is the parse tree, and I go back and forth about relational representation vs. union types.

Marshall Received on Sun Feb 03 2008 - 18:13:17 CET

Original text of this message