A Hierarchically Typed Relation Algebra Patrick Roocks Institut fr - - PowerPoint PPT Presentation

a hierarchically typed relation algebra
SMART_READER_LITE
LIVE PREVIEW

A Hierarchically Typed Relation Algebra Patrick Roocks Institut fr - - PowerPoint PPT Presentation

A Hierarchically Typed Relation Algebra Patrick Roocks Institut fr Informatik, Universitt Augsburg September 17, 2012 Introduction Basics The problem Multitypes Conclusion Motivation Motivation We have introduced a typed relational


slide-1
SLIDE 1

A Hierarchically Typed Relation Algebra

Patrick Roocks

Institut für Informatik, Universität Augsburg

September 17, 2012

slide-2
SLIDE 2

Introduction Basics The problem Multitypes Conclusion Motivation

Motivation

We have introduced a typed relational algebra to model:

▸ Tuples of a databases

▸ There the types represent the attributes (database columns)

▸ Relations between database tuples

Patrick Roocks — A Hierarchically Typed Relation Algebra

2

slide-3
SLIDE 3

Introduction Basics The problem Multitypes Conclusion Motivation

Motivation

We have introduced a typed relational algebra to model:

▸ Tuples of a databases

▸ There the types represent the attributes (database columns)

▸ Relations between database tuples

Additionally we introduced:

▸ A join algebra: Differently typed elements can be “glued together” ▸ This is embedded in a semiring with 1 and ⊺

Patrick Roocks — A Hierarchically Typed Relation Algebra

2

slide-4
SLIDE 4

Introduction Basics The problem Multitypes Conclusion Motivation

Motivation

We have introduced a typed relational algebra to model:

▸ Tuples of a databases

▸ There the types represent the attributes (database columns)

▸ Relations between database tuples

Additionally we introduced:

▸ A join algebra: Differently typed elements can be “glued together” ▸ This is embedded in a semiring with 1 and ⊺

Application:

▸ Preferences in databases

  • → See talk tomorrow

Patrick Roocks — A Hierarchically Typed Relation Algebra

2

slide-5
SLIDE 5

Introduction Basics The problem Multitypes Conclusion Motivation

Outline

Problems:

▸ Arbitrary unions are not typable with our typing mechanism ▸ 1 and ⊺are also not typable ▸ This is a lack of uniformity in our algebra

Our idea:

▸ Introducing an new typing concept covering arbitrary unions

Patrick Roocks — A Hierarchically Typed Relation Algebra

3

slide-6
SLIDE 6

Introduction Basics The problem Multitypes Conclusion Motivation

Outline

Problems:

▸ Arbitrary unions are not typable with our typing mechanism ▸ 1 and ⊺are also not typable ▸ This is a lack of uniformity in our algebra

Our idea:

▸ Introducing an new typing concept covering arbitrary unions

The talk is structured as follows:

1 Basics (Typing, Join-Algebra) 2 Sketch of the problem 3 Definition of the new typing mechanism 4 Some properties

Patrick Roocks — A Hierarchically Typed Relation Algebra

3

slide-7
SLIDE 7

Introduction Basics The problem Multitypes Conclusion Types and Tuples Typed relations

Typed tuples

▸ Database tuples consist of values according to their attributes ▸ We introduce types of relations according to their attribute names

Patrick Roocks — A Hierarchically Typed Relation Algebra

4

slide-8
SLIDE 8

Introduction Basics The problem Multitypes Conclusion Types and Tuples Typed relations

Typed tuples

▸ Database tuples consist of values according to their attributes ▸ We introduce types of relations according to their attribute names

We use:

▸ A: set of attribute names (e.g. set of column names) ▸ DA for all A ∈ A: The type domain of the attribute, e.g. R,N,

strings,... (int, float, varchar,...)

Patrick Roocks — A Hierarchically Typed Relation Algebra

4

slide-9
SLIDE 9

Introduction Basics The problem Multitypes Conclusion Types and Tuples Typed relations

Typed tuples

Definition (Typed Tuples, (1/2))

▸ A type T is a subset T ⊆ A. ▸ An attribute A ∈ A also denotes the type {A} ▸ A T-tuple is a mapping

t ∶ T → ⋃

A∈A

DA where ∀ A ∈ T ∶ t(A) ∈ DA

▸ The type domain DT for a type T is the set of all T-tuples, i.e.

DT = ∏

A∈T

DA

Patrick Roocks — A Hierarchically Typed Relation Algebra

5

slide-10
SLIDE 10

Introduction Basics The problem Multitypes Conclusion Types and Tuples Typed relations

Typed Tuples

Definition (Typed Tuples, (2/2))

▸ The greatest type domain is the universe:

U =df ⋃

T⊆A

DT

▸ Abbreviations:

t ∶∶ T ⇔df t ∈ DT, M ∶∶ T ⇔df M ⊆ DT

Patrick Roocks — A Hierarchically Typed Relation Algebra

6

slide-11
SLIDE 11

Introduction Basics The problem Multitypes Conclusion Types and Tuples Typed relations

Typed Tuples

Definition (Typed Tuples, (2/2))

▸ The greatest type domain is the universe:

U =df ⋃

T⊆A

DT

▸ Abbreviations:

t ∶∶ T ⇔df t ∈ DT, M ∶∶ T ⇔df M ⊆ DT Unions of types and differently typed tuples can be expressed by joins: Definition (Join) We define the join of types T1, T2 and sets of tuples Mi ∶∶ Ti (i = 1, 2) T1 ⋈ T2 =df T1 ∪ T2. M1 ⋈ M2 =df {t ∶∶ T1 ⋈ T2 ∣ t∣Ti ∈ Mi, i = 1, 2}

Patrick Roocks — A Hierarchically Typed Relation Algebra

6

slide-12
SLIDE 12

Introduction Basics The problem Multitypes Conclusion Types and Tuples Typed relations

The join operator – an example

Example Assume a database of cars with attributes: ID, model, power Consider the sets M1 = {{ID ↦ 1, model ↦ ’BMW’},{ID ↦ 3, model ↦ ’Mercedes’}} M2 = {{ID ↦ 2, power ↦ 230},{ID ↦ 3, power ↦ 315}}. The sets are typed as follows: M1 ∶∶ ID ⋈ model, M2 ∶∶ ID ⋈ power

Patrick Roocks — A Hierarchically Typed Relation Algebra

7

slide-13
SLIDE 13

Introduction Basics The problem Multitypes Conclusion Types and Tuples Typed relations

The join operator – an example

Example Assume a database of cars with attributes: ID, model, power Consider the sets M1 = {{ID ↦ 1, model ↦ ’BMW’},{ID ↦ 3, model ↦ ’Mercedes’}} M2 = {{ID ↦ 2, power ↦ 230},{ID ↦ 3, power ↦ 315}}. The sets are typed as follows: M1 ∶∶ ID ⋈ model, M2 ∶∶ ID ⋈ power The join M1 ⋈ M2 ∶∶ ID ⋈ model ⋈ power combines tuples with the same ID, because (ID ⋈ model) ∩ (ID ⋈ power) = ID M1 ⋈ M2 = {{ID ↦ 3, model ↦ ’Mercedes’, power ↦ 315}}

Patrick Roocks — A Hierarchically Typed Relation Algebra

7

slide-14
SLIDE 14

Introduction Basics The problem Multitypes Conclusion Types and Tuples Typed relations

Type assertions for elements and tests

Algebraically: a ∶∶ T 2

⇔df

a = 1T ⋅ a ⋅ 1T p ∶∶ T

⇔df

p ≤ 1T

Patrick Roocks — A Hierarchically Typed Relation Algebra

8

slide-15
SLIDE 15

Introduction Basics The problem Multitypes Conclusion Types and Tuples Typed relations

Type assertions for elements and tests

Algebraically: a ∶∶ T 2

⇔df

a = 1T ⋅ a ⋅ 1T p ∶∶ T

⇔df

p ≤ 1T In the concrete relational instances: a ∶∶ T 2

a ⊆ DT × DT p ∶∶ T

p ⊆ DT

Patrick Roocks — A Hierarchically Typed Relation Algebra

8

slide-16
SLIDE 16

Introduction Basics The problem Multitypes Conclusion Types and Tuples Typed relations

Type assertions for elements and tests

Algebraically: a ∶∶ T 2

⇔df

a = 1T ⋅ a ⋅ 1T p ∶∶ T

⇔df

p ≤ 1T In the concrete relational instances: a ∶∶ T 2

a ⊆ DT × DT p ∶∶ T

p ⊆ DT Note that subidentities can be represented as sets:

{(x, x) ∣ x ∈ M} ↦ M

for M ⊆ DT

Patrick Roocks — A Hierarchically Typed Relation Algebra

8

slide-17
SLIDE 17

Introduction Basics The problem Multitypes Conclusion Types and Tuples Typed relations

Typed relations and their join

Definition (Typed homogeneous binary relations) For a type T we define:

(t1, t2) ∶∶ T 2 ⇔df

ti ∈ DT, R ∶∶ T 2 ⇔df R ⊆ DT × DT

Patrick Roocks — A Hierarchically Typed Relation Algebra

9

slide-18
SLIDE 18

Introduction Basics The problem Multitypes Conclusion Types and Tuples Typed relations

Typed relations and their join

Definition (Typed homogeneous binary relations) For a type T we define:

(t1, t2) ∶∶ T 2 ⇔df

ti ∈ DT, R ∶∶ T 2 ⇔df R ⊆ DT × DT Special relations:

▸ The full relation ⊺

T =df DT × DT

▸ The identity 1T =df {(x, x) ∣ x ∶∶ T} ▸ The empty relation 0T =df ∅

Patrick Roocks — A Hierarchically Typed Relation Algebra

9

slide-19
SLIDE 19

Introduction Basics The problem Multitypes Conclusion Types and Tuples Typed relations

Typed relations and their join

Definition (Typed homogeneous binary relations) For a type T we define:

(t1, t2) ∶∶ T 2 ⇔df

ti ∈ DT, R ∶∶ T 2 ⇔df R ⊆ DT × DT Special relations:

▸ The full relation ⊺

T =df DT × DT

▸ The identity 1T =df {(x, x) ∣ x ∶∶ T} ▸ The empty relation 0T =df ∅

Definition (Join of relations / Generalised Cartesian Product) For Ri ∶∶ T 2

i (i = 1, 2) we define R1 ⋈ R2 ∶∶ (T1 ⋈ T2)2

t (R1 ⋈ R2) u ⇔df t∣T1 R1 u∣T1 ∧ t∣T2 R2 u∣T2 .

Patrick Roocks — A Hierarchically Typed Relation Algebra

9

slide-20
SLIDE 20

Introduction Basics The problem Multitypes Conclusion

The problem

▸ Assume attributes A, B and tests pA ∶∶ {A} and pB ∶∶ {B} ▸ Consider the union pA + pB ▸ pA + pB ∶∶ {A, B} does not hold ▸ We have {A} ∪ {B} = {A} ⋈ {B}, but pA + pB is a union, not a join!

Patrick Roocks — A Hierarchically Typed Relation Algebra

10

slide-21
SLIDE 21

Introduction Basics The problem Multitypes Conclusion

The problem

▸ Assume attributes A, B and tests pA ∶∶ {A} and pB ∶∶ {B} ▸ Consider the union pA + pB ▸ pA + pB ∶∶ {A, B} does not hold ▸ We have {A} ∪ {B} = {A} ⋈ {B}, but pA + pB is a union, not a join!

Consider the subsumption order x ≤ y

=df

x + y = y

▸ Consider the following inequation:

pA ≤ pA + pB ≤ 1 ≤ ⊺

▸ This is valid due to the definition of the subsumption order ▸ (pA + pB), 1 and ⊺are all not typable with “∶∶”

Patrick Roocks — A Hierarchically Typed Relation Algebra

10

slide-22
SLIDE 22

Introduction Basics The problem Multitypes Conclusion

A first idea

▸ Consider U = ⋃

T⊆A

DT

▸ T ranges over P(A) − ∅

(P(...) denotes the power set)

⇒ “P(A) − ∅” could be the type of U

Patrick Roocks — A Hierarchically Typed Relation Algebra

11

slide-23
SLIDE 23

Introduction Basics The problem Multitypes Conclusion

A first idea

▸ Consider U = ⋃

T⊆A

DT

▸ T ranges over P(A) − ∅

(P(...) denotes the power set)

⇒ “P(A) − ∅” could be the type of U

This would mean:

▸ Types are not anymore subsets of A... ▸ ...but subsets of the powerset

Patrick Roocks — A Hierarchically Typed Relation Algebra

11

slide-24
SLIDE 24

Introduction Basics The problem Multitypes Conclusion

A first idea

▸ Consider U = ⋃

T⊆A

DT

▸ T ranges over P(A) − ∅

(P(...) denotes the power set)

⇒ “P(A) − ∅” could be the type of U

This would mean:

▸ Types are not anymore subsets of A... ▸ ...but subsets of the powerset

  • → In the following we will formalize this

Patrick Roocks — A Hierarchically Typed Relation Algebra

11

slide-25
SLIDE 25

Introduction Basics The problem Multitypes Conclusion Definition Properties

Multitypes – Definition

Definition For a (finite) attribute set A we define:

1 The set of fundamental types F: 1 Base types: If A ∈ A, then {A} is a base type

Patrick Roocks — A Hierarchically Typed Relation Algebra

12

slide-26
SLIDE 26

Introduction Basics The problem Multitypes Conclusion Definition Properties

Multitypes – Definition

Definition For a (finite) attribute set A we define:

1 The set of fundamental types F: 1 Base types: If A ∈ A, then {A} is a base type 2 Complex types: Let T1 and T2 be fundamental

⇒ Then T1 ∪ T2 is a complex type.

In summary we have:

F = P(A) − ∅

Patrick Roocks — A Hierarchically Typed Relation Algebra

12

slide-27
SLIDE 27

Introduction Basics The problem Multitypes Conclusion Definition Properties

Multitypes – Definition

Definition For a (finite) attribute set A we define:

1 The set of fundamental types F: 1 Base types: If A ∈ A, then {A} is a base type 2 Complex types: Let T1 and T2 be fundamental

⇒ Then T1 ∪ T2 is a complex type.

In summary we have:

F = P(A) − ∅

2 Multitypes: M consists of all subsets M ⊆ F of fundamental types:

M = P(F) = P(P(A) − ∅)

Patrick Roocks — A Hierarchically Typed Relation Algebra

12

slide-28
SLIDE 28

Introduction Basics The problem Multitypes Conclusion Definition Properties

Type assertions for multitypes

In the relational case, for M ∈ M: R ∶∶ M2

⇔df

R ⊆ ⋃

T⊆M

(DT × DT)

R ∶∶ M

⇔df

R ⊆ ⋃

T⊆M

DT

Patrick Roocks — A Hierarchically Typed Relation Algebra

13

slide-29
SLIDE 29

Introduction Basics The problem Multitypes Conclusion Definition Properties

Type assertions for multitypes

In the relational case, for M ∈ M: R ∶∶ M2

⇔df

R ⊆ ⋃

T⊆M

(DT × DT)

R ∶∶ M

⇔df

R ⊆ ⋃

T⊆M

DT In the algebraic setting, for M ∈ M: a ∶∶ M2

⇔df

a ≤ ∑

T∈M

1T ⋅ a ⋅ 1T p ∶∶ M

⇔df

p ≤ ∑

T∈M

1T

Patrick Roocks — A Hierarchically Typed Relation Algebra

13

slide-30
SLIDE 30

Introduction Basics The problem Multitypes Conclusion Definition Properties

Type assertions for multitypes

In the relational case, for M ∈ M: R ∶∶ M2

⇔df

R ⊆ ⋃

T⊆M

(DT × DT)

R ∶∶ M

⇔df

R ⊆ ⋃

T⊆M

DT In the algebraic setting, for M ∈ M: a ∶∶ M2

⇔df

a ≤ ∑

T∈M

1T ⋅ a ⋅ 1T p ∶∶ M

⇔df

p ≤ ∑

T∈M

1T Consequence: The typing of 1 and ⊺ : 1 ∶∶ F, ⊺∶∶ F 2

Patrick Roocks — A Hierarchically Typed Relation Algebra

13

slide-31
SLIDE 31

Introduction Basics The problem Multitypes Conclusion Definition Properties

Minimal types

▸ “⊆” is the natural order on M = P(F) ▸ F is the maximal type, i.e.

M ⊆ F for all M ∈ M

Patrick Roocks — A Hierarchically Typed Relation Algebra

14

slide-32
SLIDE 32

Introduction Basics The problem Multitypes Conclusion Definition Properties

Minimal types

▸ “⊆” is the natural order on M = P(F) ▸ F is the maximal type, i.e.

M ⊆ F for all M ∈ M

▸ Consider an element a ∶∶ T 2 where T ∈ F ▸ We also have for any M ∈ M with T ∈ M:

a ∶∶ M2

Patrick Roocks — A Hierarchically Typed Relation Algebra

14

slide-33
SLIDE 33

Introduction Basics The problem Multitypes Conclusion Definition Properties

Minimal types

▸ “⊆” is the natural order on M = P(F) ▸ F is the maximal type, i.e.

M ⊆ F for all M ∈ M

▸ Consider an element a ∶∶ T 2 where T ∈ F ▸ We also have for any M ∈ M with T ∈ M:

a ∶∶ M2

⇒ An element has its “real” type and all supertypes ⇒ We want to define a unique “minimal” type

Patrick Roocks — A Hierarchically Typed Relation Algebra

14

slide-34
SLIDE 34

Introduction Basics The problem Multitypes Conclusion Definition Properties

Minimal types

▸ “⊆” is the natural order on M = P(F) ▸ F is the maximal type, i.e.

M ⊆ F for all M ∈ M

▸ Consider an element a ∶∶ T 2 where T ∈ F ▸ We also have for any M ∈ M with T ∈ M:

a ∶∶ M2

⇒ An element has its “real” type and all supertypes ⇒ We want to define a unique “minimal” type

Definition (Minimal type) The minimal type for a general element x is defined as follows: x

min

∶∶ M2 ⇔df

M = ⋂{N ∈ M ∣ x ∶∶ N2}

Patrick Roocks — A Hierarchically Typed Relation Algebra

14

slide-35
SLIDE 35

Introduction Basics The problem Multitypes Conclusion Definition Properties

Minimal types

▸ “⊆” is the natural order on M = P(F) ▸ F is the maximal type, i.e.

M ⊆ F for all M ∈ M

▸ Consider an element a ∶∶ T 2 where T ∈ F ▸ We also have for any M ∈ M with T ∈ M:

a ∶∶ M2

⇒ An element has its “real” type and all supertypes ⇒ We want to define a unique “minimal” type

Definition (Minimal type) The minimal type for a general element x is defined as follows: x

min

∶∶ M2 ⇔df

M = ⋂{N ∈ M ∣ x ∶∶ N2}

▸ x

min

∶∶ ∅ is only fulfilled by x = 0, hence 0T = 0U

Patrick Roocks — A Hierarchically Typed Relation Algebra

14

slide-36
SLIDE 36

Introduction Basics The problem Multitypes Conclusion Definition Properties

An example

Example

▸ Assume attributes A, B with type domains DA = {A1, A2} and

DB = {B1, B2}.

▸ The set X = {(A1, A2),(B1, B2)} fulfils

X ∶∶ {{A},{B}}2

Patrick Roocks — A Hierarchically Typed Relation Algebra

15

slide-37
SLIDE 37

Introduction Basics The problem Multitypes Conclusion Definition Properties

An example

Example

▸ Assume attributes A, B with type domains DA = {A1, A2} and

DB = {B1, B2}.

▸ The set X = {(A1, A2),(B1, B2)} fulfils

X ∶∶ {{A},{B}}2

▸ We do not allow relations between different multitype-subsets:

R ∶∶ M2

⇔df

R ⊆ ⋃

T⊆M

(DT × DT) ≠ ( ⋃

T⊆M

DT) × ( ⋃

T⊆M

DT)

⇒ Y = {(A1, B1)} does not fulfil the assertion Y ∶∶ {{A},{B}}2

Patrick Roocks — A Hierarchically Typed Relation Algebra

15

slide-38
SLIDE 38

Introduction Basics The problem Multitypes Conclusion Definition Properties

An example

Example

▸ Assume attributes A, B with type domains DA = {A1, A2} and

DB = {B1, B2}.

▸ The set X = {(A1, A2),(B1, B2)} fulfils

X ∶∶ {{A},{B}}2

▸ We do not allow relations between different multitype-subsets:

R ∶∶ M2

⇔df

R ⊆ ⋃

T⊆M

(DT × DT) ≠ ( ⋃

T⊆M

DT) × ( ⋃

T⊆M

DT)

⇒ Y = {(A1, B1)} does not fulfil the assertion Y ∶∶ {{A},{B}}2

▸ But note that Y ∶∶ {A} ⋈ {B} is true

Patrick Roocks — A Hierarchically Typed Relation Algebra

15

slide-39
SLIDE 39

Introduction Basics The problem Multitypes Conclusion Definition Properties

Generalized Union

▸ We want to allow unions of elements in F and in M ▸ We generalize the union between types:

T1 ∪m T2 =df T ′

1 ∪ T ′ 2 where T ′ ∶=

⎧ ⎪ ⎪ ⎨ ⎪ ⎪ ⎩ {T}

for T ∈ F T for T ∈ M

▸ Analogously we define ∩m ▸ We need this to characterize the type of an addition or composition

Patrick Roocks — A Hierarchically Typed Relation Algebra

16

slide-40
SLIDE 40

Introduction Basics The problem Multitypes Conclusion Definition Properties

Type of an addition

Corollary (Type of an addition) Let a ∶∶ M2

a, b ∶∶ M2

  • b. Then we have

a + b ∶∶ (Ma ∪m Mb)2

Patrick Roocks — A Hierarchically Typed Relation Algebra

17

slide-41
SLIDE 41

Introduction Basics The problem Multitypes Conclusion Definition Properties

Type of an addition

Corollary (Type of an addition) Let a ∶∶ M2

a, b ∶∶ M2

  • b. Then we have

a + b ∶∶ (Ma ∪m Mb)2 Proof.

▸ We have:

a ≤ ∑T∈Ma 1T ⋅ a ⋅ 1T

b ≤ ∑T∈Mb 1T ⋅ b ⋅ 1T

▸ We conclude:

a + b ≤ ∑

T∈Ma

1T ⋅ a ⋅ 1T + ∑

T∈Mb

1T ⋅ b ⋅ 1T

≤ ∑

T∈Ma

1T ⋅ (a + b) ⋅ 1T + ∑

T∈Mb

1T ⋅ (a + b) ⋅ 1T

= ∑

T∈Ma∪mMb

1T ⋅ (a + b) ⋅ 1T

Patrick Roocks — A Hierarchically Typed Relation Algebra

17

slide-42
SLIDE 42

Introduction Basics The problem Multitypes Conclusion Definition Properties

More typing properties

▸ In the relational setting we also have:

a

min

∶∶ M2

a, b min

∶∶ M2

b

a + b

min

∶∶ (Ma ∪m Mb)2

Patrick Roocks — A Hierarchically Typed Relation Algebra

18

slide-43
SLIDE 43

Introduction Basics The problem Multitypes Conclusion Definition Properties

More typing properties

▸ In the relational setting we also have:

a

min

∶∶ M2

a, b min

∶∶ M2

b

a + b

min

∶∶ (Ma ∪m Mb)2

Corollary (Type of a composition) Let a ∶∶ M2

a, b ∶∶ M2

  • b. Then we have

a ⋅ b ∶∶ (Ma ∩m Mb)2

Patrick Roocks — A Hierarchically Typed Relation Algebra

18

slide-44
SLIDE 44

Introduction Basics The problem Multitypes Conclusion Definition Properties

More typing properties

▸ In the relational setting we also have:

a

min

∶∶ M2

a, b min

∶∶ M2

b

a + b

min

∶∶ (Ma ∪m Mb)2

Corollary (Type of a composition) Let a ∶∶ M2

a, b ∶∶ M2

  • b. Then we have

a ⋅ b ∶∶ (Ma ∩m Mb)2 For “

min

∶∶ ” this does not hold:

▸ Assume a, a′ ∶∶ A, DA = {A1, A2} and

a = (A1, A1), a′ = (A2, A2)

▸ We have a ⋅ a′ = 0, hence a ⋅ a′ min

∶∶ ∅

▸ But we have (A ∩m A) = {A}

Patrick Roocks — A Hierarchically Typed Relation Algebra

18

slide-45
SLIDE 45

Introduction Basics The problem Multitypes Conclusion

Conclusion

What was done in this work:

▸ Introduced a type hierarchy (basic/fundamental types, multitypes) ▸ Extended the typing to arbitrary unions of fundamental types ▸ Introduced a typed 1 and ⊺in our calculus

Future work:

▸ Combining sub-typing (1′

T ∶= r ≤ 1T ) and multitypes

▸ Introducing projections ((a ⋈ b)∣Ta = a)... ▸ ...and embedding them into the multitype-setting ▸ Extending the multitype-setting to more complex algebras

(i.e. heterogeneous relation algebras)

Patrick Roocks — A Hierarchically Typed Relation Algebra

19