Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/terminusdb/terminusdb
TerminusDB is a distributed database with a collaboration model
https://github.com/terminusdb/terminusdb
acid cms collaboration database document-database graph-database headless headless-cms immutable knowledge-graphs linked-data nosql open-source opensource revision-control terminusdb
Last synced: 25 days ago
JSON representation
TerminusDB is a distributed database with a collaboration model
- Host: GitHub
- URL: https://github.com/terminusdb/terminusdb
- Owner: terminusdb
- License: apache-2.0
- Created: 2019-07-23T16:15:27.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-08-07T00:50:40.000Z (3 months ago)
- Last Synced: 2024-09-30T12:40:50.321Z (about 1 month ago)
- Topics: acid, cms, collaboration, database, document-database, graph-database, headless, headless-cms, immutable, knowledge-graphs, linked-data, nosql, open-source, opensource, revision-control, terminusdb
- Language: Prolog
- Homepage: https://terminusdb.com
- Size: 13.7 MB
- Stars: 2,742
- Watchers: 39
- Forks: 104
- Open Issues: 277
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: docs/CODE_OF_CONDUCT.MD
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-distributed-system-projects - terminusdb - distributed database with a collaboration model
- awesome-ccamel - terminusdb/terminusdb - TerminusDB is a distributed database with a collaboration model (Prolog)
- awesome-repositories - terminusdb/terminusdb - TerminusDB is a distributed database with a collaboration model (Prolog)
- awesome-starred - terminusdb/terminusdb - TerminusDB is a distributed database with a collaboration model (open-source)
- awesome-list - terminusdb - intensive applications and knowledge graphs. | terminusdb | 1453 | (Prolog)
- awesome-production-machine-learning - TerminusDB - A graph database management system that stores data like git. (Model, Data and Experiment Tracking)
- awesome-prolog - TerminuDB - for knowledge graph representation (Database)
README
[![CI](https://github.com/terminusdb/terminusdb/actions/workflows/ci.yml/badge.svg?event=push)](https://github.com/terminusdb/terminusdb/actions/workflows/ci.yml) [![Issues](https://img.shields.io/github/issues/terminusdb/terminusdb)](https://github.com/terminusdb/terminusdb/issues)
## TerminusDB is a distributed database with a collaboration model.
It is designed to be like git, but for data. If you are reading this, **give this repo a star**.
The building blocks of the model are -
- Revision Control: commits for every update
- Diff: differences between commits can be interpreted as patches between states
- Push/Pull/Clone: communicate diffs between nodes using push / pull / clone
- Query: You can query any state of the database at any commit.TerminusDB allows you to link JSON documents in a knowledge graph through a [document API](https://terminusdb.com/docs/document-insertion). TerminusDB is available as a standalone server, or you can use our headless content and knowledge management system [TerminusCMS](https://dashboard.terminusdb.com/).
### TerminusDB Version 11
[TerminusDB 11](https://github.com/terminusdb/terminusdb/releases/tag/v11.0.0) features a new Rustified storage backend that reduces storage overhead and latency, improves search performance, and simplifies interchange. TerminusDB 11 also comes with some exciting features to make building easier and faster -
- [GraphQL](https://terminusdb.com/docs/graphql-basics) - Use GraphQL as a proper graph query language with deep link discover and path queries
- Added `@unfoldable` document flag to frames - Making data curation easier by unfolding subdocuments within a frame to add all relevant data in one place
- Add `@metadata` to frames - Include additional metadata to document frames including data formatted as Markdown.## Installation Guide
[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/terminusdb)
The easiest way to install TerminusDB as a developer is by using the [Snap](https://snapcraft.io/terminusdb). It does not provide a daemon and is mainly intended for developers that want to try TerminusDB.
For deployments, or if you want to use the local dashboard:
1. Add the following to a .env file in the source directory:
```shell
OPENAI_KEY=YOUR_OPENAI_KEY_HERE
# And optionally specify number of pages for the vector database
# for instance
BUFFER_AMOUNT=120000
```2. `docker compose up`
You should be able to view TerminusDB running by default at `localhost:6363`
> If you're installing TerminusDB on Windows with Docker, our friends at DFRNT wrote this [comprehensive guide](https://dfrnt.com/blog/2023-02-25-run-terminusdb-on-windows-with-docker/).
You can also install TerminusDB from the [Source Code](https://terminusdb.com/docs/install-terminusdb-from-source-code).
## TerminusDB CLI
A simple example creating a person with friends can be created as follows:
```shell
terminusdb db create admin/example1
terminusdb doc insert --graph_type=schema admin/example1 <