Re: Comments on Norbert's topological extension of relational algebra
Date: Sat, 19 Dec 2015 00:40:48 +0100
Message-ID: <n525hv$1h0l$1_at_adenine.netfront.net>
On 2015-12-18 19:25:34 +0000, Tegiri Nenashi said:
> I'm still wanting an example that might clarify topological extension
> of RA. If the proposal is about introducing topological datatype, then
> the extension is quite intuitive, and can explained to database person
> in terms of tuples and attributes.
Yes, I think that the extension is quite intuitive. The underlying idea is very simple: there is a well-known correspondence between a certain class of topological spaces (Alexandrov spaces), which includes the finite topological spaces, and the class of preorders (reflexive and transitive relations). There are effective procedures to build a preorder on a set X given a topology on X, and vice versa. So, instead of considering a set X with a topology T, i.e. a topological space (X,T), one may equivalently use X equipped with a preorder P induced by T. The latter has an obvious relational interpretation. Besides, instead of using P, we may in fact just use a relation R whose reflexive and transitive closure is P. The pair (X,R) is what Norbert calls a *topological datatype*.
> The first question is what are the values of topological datatype. I
> assume, they are certainly not entire topologies.
Given the equivalence above, they certainly are. Or, to be more precise, they are a lossless representation of topological spaces (through what are called "specialization preorders").
> They are geometric objects with "qualitative" description, so that for
> example cube is not distinguishable from sausage. "Topological
> datatype" means that those objects are from the same topological space;
> in the same venue as values from ordinary datatypes are chosen.
>
> Consider the following relation FavoriteShapes(name, topological_object):
>
> name topological_object
> -------- ------------------
> Jan Dohnut
> Nicola Cube
> Norbert Sausage
> Actually, if one agrees how to choose a representative in every class
> of all topologically equivalent objects, then the FavoriteShapes
> relation has to be rewritten as
>
> name topological_object
> -------- ------------------
> Jan Dohnut
> Nicola Ball
> Norbert Ball
What you mean here is that Ball, Cube and Sausage are homeomorphic. But homeomorphism is a mapping between topological spaces, not between elements of topological spaces. So, for that to make sense in the topological database context, you should represent Ball, Cube and Sausage as topological spaces, or equivalently (as per the above) as topological datatypes - not as elements of a topological space (well, you might represent Ball, Cube and Sausage each with a singleton space, but that would be trivial). One possibility (and a quite natural one, once you get by with what on earth a CW-complex is) is to use CW-complexes.
which corresponds to this drawing:
2 \
| \
| \
5 6
| 7 \
| \
1---4---3
The pair (TRIANGLE, R_t) is a topological datatype. The corresponding topological space is built by taking the reflexive and transitive closure of R_t as the specialization preorder ≼, and taking all the upper sets wrt ≼ as the open sets (where the convention is that id2 ≼ id1). So:
Set X: {1,2,3,4,5,6,7}
Topology T on X: {∅, {1,2,3,4,5,6,7}, {1,4,5}, {3,4,6}, {4}, {5}, {6},
{7}, {1,3,4,5,6,7}, {4,5,6,7}, {5,6,7}, ... }
Starting from TRIANGLE, R_t, SQUARE, R_s you may then build new topological datatypes (i.e., new topological spaces) that combine the triangle and the square in different ways, and to do so you may use RA operations as explained in the paper. Exercise for the reader (I am too tired to try this myself now): how to build a pair (X,R) that represents the following figure?
b---g---c2\
| | \
f i h5 6
| | 7 \
a---e---d1--4--3
I think that you should also be able to formulate a query to verify that (SQUARE, R_s) and (TRIANGLE, R_t) are homeomorphic (another exercise).
R1
id1 id2 object
n 1 cube
n 2 cube
... ... sausage ... sausage ...
R2
id1 id2
...
The PART relation (which Norbert has called CELLS elsewhere) would contain the data about 0-cells, 1-cells, and so on (these are both the "parts" real objects are made of and the points of a topological space). The specialization preorders (i.e., the topologies) would be represented by R1, R2, ..., possibly storing more than one topological space in each relation, with an additional attribute to distinguish among the different spaces (as I have done for R1, where each object belongs to a different space).
Nicola
- news://freenews.netfront.net/ - complaints: news_at_netfront.net ---