• Stars
    star
    1,382
  • Rank 34,014 (Top 0.7 %)
  • Language
  • License
    MIT License
  • Created almost 4 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

This is a simple graph database in SQLite, inspired by "SQLite as a document database"

About

This is a simple graph database in SQLite, inspired by "SQLite as a document database".

Structure

The schema consists of just two structures:

  • Nodes - these are any json objects, with the only constraint being that they each contain a unique id value
  • Edges - these are pairs of node id values, specifying the direction, with an optional json object as connection properties

The create, read, update, and delete functions (.sql files) are complete statements with qmark bindings.

Search templates (.template files) are in Jinja2 format, which can be converted to other template syntaxes relatively easily, with a bit of regex magic (though it would be nice if they could be expressed in a more language-agnostic way).

There are also traversal function templates as native SQLite Common Table Expressions which produce lists of identifiers or return all objects along the path.

Applications

Usage

RESTful API (paid)

The Banrai Simple Graph Database and Document Store wraps this core logic with an API service, creating a managed graph database and document store, with additional features not found in any of the public bindings.

Importable library (free)

Choose an implementation:

Want to contribute an implementation in your preferred programming language?

The schema and prepared sql statements can be used by programs in any programming language with SQLite bindings.

Pull requests are welcome!

More Repositories

1

pdfminer-layout-scanner

A more complete example of programming with PDFMiner, which continues where the default documentation stops
Python
215
star
2

tweet-secret

This is a text steganography application optimized for use on Twitter, written in Clojure.
Clojure
183
star
3

go-recaptcha

A package for handling reCaptcha (http://www.google.com/recaptcha) form submissions in Go (http://golang.org/).
Go
117
star
4

go-statemachine

An implementation of a finite state machine in Go
Go
106
star
5

recipebook

This is a simple application for scraping and parsing food recipe data found on the web in hRecipe format, producing results in json
Python
104
star
6

recipes

A collection of cooking recipes in json format
79
star
7

go-api

This package provides a framework for creating HTTP servers in Go (http://golang.org/) to handle API requests capable of replying in xml, json, or any other valid content type.
Go
75
star
8

buckabuckaboo

An unobtrusive, cross-browser javascript plugin for tracking mouse movement on web pages
JavaScript
50
star
9

CleanScrape

A no-nonsense web scraping tool which removes the crap and preserves the content in epub and pdf formats.
Python
41
star
10

cmdline-news

This is a simple command-line based rss reader which is great for browsing your favorite sites unobtrusively, without having to open a browser window.
Python
27
star
11

simple-graph-pypi

This is the meta repository for packaging the simple-graph implementation in python for PyPI distribution
Python
25
star
12

go-one-password

A password generator for website logins based on a single, private passphrase. This is a self-contained, statically compiled application which runs on the command line or as a simple gui, and does not require an internet connection.
Go
22
star
13

simple-graph-go

This is the Go implementation of simple-graph (https://github.com/dpapathanasiou/simple-graph)
Go
16
star
14

intelligent-smtp-responder

This is an intelligent email-based agent server
Python
13
star
15

go-tree-notation

This is a Tree Notation library implemented in Go
Go
7
star
16

MyTeX

My LaTeX templates for personal correspondence and other documents
TeX
5
star
17

zen-thought

This is a zen thought-of-the-day aphorism application based on the daily paper calendar by JoTaiga, and modeled after the old unix fortune application.
C
5
star
18

nihongo-benkyou

This is Japanese language study: various notes and translations in easy to parse formats
4
star
19

python-recaptcha

This code handles reCaptcha form submissions in Python
Python
2
star
20

concept-catalog

This is a proof-of-concept in defining a catalog of software concepts as described in "The Essence of Software (EOS)"
Alloy
2
star
21

ARMS

Another RESTful Mongo Service
Kotlin
2
star
22

pyBDB

pyBDB is a series of helper functions for using Berkeley DB (BDB) in python, on top of bsddb3, with support for secondary indices alongside basic key/value functions
Python
2
star
23

algorithms-unlocked-haskell

An implementation of the algorithms in "Algorithms Unlocked", in the Haskell programming language, as a learning exercise.
Haskell
1
star
24

sedgewick-algorithms-racket

Implementations of the algorithms defined the first edition of "Algorithms in C++" by Robert Sedgewick but in racket
Racket
1
star