Scheme Request for Implementation: Generic Tuple Store (SRFI-168)

I am pleased to announce that we reached the last call for comments on
SRFI-168.

That is, a generic approach to triple and quad store. It support tuples of
n-items.

While it might seem overkill to support tuples of n-items, it was somewhat
easy to implement (once you know the math
<https://math.stackexchange.com/q/3146568/23663>). Also, I need such a
database
abstraction to implement something (that I think) will be suitable to
version
tuples in a direct-acyclic graph (ala git).

This work was inspired from:

"Collaborative Open Data versioning: a pragmatic approach using Linked Data"
Federico Morando, Raimondo Iemma, Simone Basso et Lorenzo Canova
https://iris.polito.it/handle/11583/2617308

Hopefully, it will allow to build some kind of portable and scalable
wikidata & wikibase.

The very last version of the specification can be read at:

http://htmlpreview.github.io/?https://github.com/scheme-live/srfi-168/blob/master/srfi-168.html

A few hints:

- It is supposed to be supported by an ordered key-value (wiredtiger,
foundationdb, Oracle
BerkeleyDB, TiKV, leveldb, rocksdb...), see SRFI-167
<http://htmlpreview.github.io/?https://github.com/scheme-live/srfi-167/blob/master/srfi-167.html>
.

- It can support (only!) scheme base data types but not complex ie. bigint,
float, string,
symbol, bytevector and vector and list of those preceding. This is
implementation dependant
but the implementations so far only support those.

- The query language is based on stream-processing. All queries are at
least O(n)
where n is the length of the seed generator (nstore-from).

- The specification is written in a way that will allow support geospatial
indexing
directly in the nstore and outside the nstore but inside the same database
so that
ACID semantic still holds. More generally, the nstore abstraction can live
along side
other abstractions in the same okvs database, which allows to implement
specific
indexing scheme to support geospatial indices or better pagination.


It is still time to make feedback and I hope you do :)


Amirouche ~ amz3

Received on Saturday, 8 June 2019 11:52:11 UTC