TerminusDB is an open source model driven graph database for knowledge graph representation designed specifically for the web-age.
Terminus Server provides TerminusDB with a RESTful API for interacting with knowledge graphs via the JSON-LD exchange format. This means you can easily string together applications within your own toolchain which utilise the powerful features of graph search and graph storage.
v1.0.0
To install a docker image with the latest server (RECOMMENDED) follow the instructions here: running the terminus-server from docker.
In order to build from source, follow the build from source directions.
One you have installed terminus-server either from the docker image or built from source you can go simply enter the server location into your browser to view your database from the dashboard "http://SERVER:PORT/dashboard". (for instance "http://localhost:6363/dashboard").
Terminus Server is organised to be web native which means that all actions and activities are easily automated via a RESTful JSON-LD API.
The Server API is documented here.
WOQL, the Web Object Query Language, allows you to seemlessly traverse the graph extracting graph fragments, nodes, tables or JSON-LD documents. The syntax itself is in JSON-LD, making the syntax a native data-structure in JavaScript, Python, Prolog or any other language which has the
The Syntax is documented here.
TerminusDB will:
- Make complex data models easy, maintainable and enforced.
- Overcome the Object Impedance mismatch without turning your Database into an incomprehensible soup.
- Allow you to search for repeating patterns using recursion.
- Give you powerful temporal queries using finite domain constraint logic.
- Enable the sharing of data using linked open data formats RDF and JSON-LD making scientific or organisational information sharing easy.
- Help you automate the production of UI and data-entry by knowing what data means.
In order to begin manipulating and querying your database you can
simply point your browser to TERMINUS_DIR/index.html
which should
allow you to manage and query your database.
You can also perform all configuration, querying and management functions via the RESTful API. We have a number of client libraries to help you get started:
The JavaScript client libraries give you assistance with programatic access.
The JavaScript dashboard is an example application allowing manipulation of the database, queries and .
The [Python client libraries] Coming Soon...
- Added additional typing information and documentation
- Added database bootstrapping for access permissions and controls using the capabilities ontology
- Added database initialisation utility
- Added code for instance and schema checking
We are eagerly awaiting the release of our new highly scalable lock-free storage layer, terminus-store, which will be integrated into Terminus-server in a future release.
- Write tests for Document API
- Add optimisations to document expansion in JSON-LD avoiding duplicate expansions
Gavin Mendel-Gleason gavin@datachemist.com
Matthijs van Otterdijk matthijs@datachemist.com
Put your Name here by contributing!
This file is part of TerminusDB.
TerminusDB is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
TerminusDB is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with TerminusDB. If not, see https://www.gnu.org/licenses/.