aboutsummaryrefslogtreecommitdiff
path: root/Readme.org
blob: 99dc98e3b19a930b45600361c4ca7dc3fe4f8c6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#+TITLE: Data model proof-of-concept

This is a proof-of-concept implementation of a data model for [[https://openengiadina.net/][openEngiadina]].

See also the [[https://gitlab.com/openengiadina/notes/-/blob/master/data_model_and_data_storage.org][notes]] on this research project in the [[https://gitlab.com/openengiadina/notes][openEngiadina wiki]].

* Plan

A rough outline of what is planned.

** STRT Ordered Key Value Store (okvs)

As underlying storage engine we use an ordered key-value store.

*** STRT Bindings to LevelDB
*** STRT SRFI-167 Interface

Allows swapping out of underlying storage engine.

See the [[https://srfi.schemers.org/srfi-167/srfi-167.html][SRFI-167 document]].

*** TODO In-memory storage

Using [[https://github.com/ijp/pfds/blob/master/bbtrees.sls][bounded balance tree]].

** TODO Content-addressable storage

Implement immutable part of [[https://datashards.net/][Datashards]].

** TODO Content-addressable RDF

How can RDF be made content-addressable?

** TODO Authenticity

Sign content-addressable RDF/data.

Use [[https://en.wikipedia.org/wiki/Simple_public-key_infrastructure][SPKI]].

** TODO Mutable content

How can mutability be implemented using CRDTs?

** TODO Semantic queries

How to run semantic queries on data model/data store?
** TODO Performance tests

Play around with some large data sets.