Skip to main content

Table 8 An example of Cassandra (columnar model) schema mapping

From: A universal approach for multi-model schema inference

Construct

Name

Unique

Share

Id

Types

Models

Children

regexp

Refs.

Row

_

F

(1,1)

F

Map

COL

{...}

\(\epsilon\)

\(\epsilon\)

Column (simple)

Name

T/F/U

(0/1,0/1)

T/F/U

Simple

COL

\(\epsilon\)

\(\epsilon\)

\(\epsilon\)

Column (homogeneous array)

Name

T/F/U

(1,1)

F/U

Array

COL

{...}

Trivial

\(\epsilon\)

Tuple

Name

T/F/U

(1,1)

F/U

Tuple

COL

{...}

Automaton

\(\epsilon\)

Column family (complex structure)

Name

T/F/U

(1,1)

F/U

Map

COL

{...}

Trivial

\(\epsilon\)

List (= array; column)

Name

T/F/U

(1,1)

F/U

Array

COL

{...}

Automaton

\(\epsilon\)

Column (map)

Name

T/F/U

(1,1)

F/U

Map

COL

{...}

\(\epsilon\)

\(\epsilon\)

Column (set)

Name

T/F/U

(1,1)

F/U

Set

COL

{...}

\(\epsilon\)

\(\epsilon\)

Element of an array

_

T/F/U

(1,0/1)

F/U

AnyType

COL

\(\epsilon\)

\(\epsilon\)/trivial/ automaton

\(\epsilon\)

Element of a tuple

_

T/F/U

(1,1)

F/U

AnyType

COL

\(\epsilon\)/{...}

\(\epsilon\)/trivial/ automaton

\(\epsilon\)

Element of a set

_

T/F/U

(1,1)

F/U

AnyType

COL

\(\epsilon\)/{...}

\(\epsilon\)/trivial/ automaton

\(\epsilon\)

Identifier (simple)

Name

T

(1,1)

T

Simple

COL

\(\epsilon\)

\(\epsilon\)

\(\epsilon\)