Siphon DB

Siphon is a minimalistic NoSQL database accessed via HTTP.

It consists of two languages - one for designing schemas and one for querying your data - and a HTTP server for creating and using a database.

The data is organised into a key-value store, which makes it easy to create the database and query it.

Here's an example of a schema, a query, and a response:

Schema
users: [user]
posts: <int:post>

struct user {
    id: int
    name: string
    pass: string
    post_ids: [int]
}

struct post {
    id: int
    title: string
    content: string
    likes: uint
}
                    
Query
users[5].friends[name~/^foo/]
Result
{
    "id": 5,
    "name": "foobar",
    "pass": "...",
    "post_ids": [
        1,
        5,
        10,
        21
    ]
}

Supported data-types