uindex 0.1.1

Universal index
Documentation


Numeric segments


Relational implementation:

    Segment:
        text
        type
        depth
        is_leaf
        is_var
        in_logical

    Fact:
        id_fact
        path-tail
        path-head -> Segment
        order


    SELECT F.id_fact (...) FROM Fact as F JOIN Segment as S ON S.id_segment = F.path_head WHERE F.path_tail = ? AND S.text = ?;


NO!

Node
    path: Path
    depth: int  # number of ancestors

Path
    head: Segment
    tail: hash

Segment
    value: String
    production: Enum

Tree -> indexes of nodes
    index for query
        keys: node-depth:node-path-tail:node-path-head-text:
        values: id-node,parents
    index for reconstruction
        keys: node-depth:parent:



problems

no sé a qué nivel guardar los string
los tipos de production (Segment.name) son un desastre, deberían salir mejor del parser.




Investigar marcar los nodos con su profunddad, y re-usarlos  -- no: las preguntas recuperarían hijos ajenos

restaurar nodos no lógicos?

segmentos de distintos tipos - correspondiendo a nombres reservados de producciones

io get data from files

actions -functions in rust- triggered by certain patterns of facts

action tell - send facts to other dbs

chain of dbs ticking, one after another - garbage collection.