Product Code Database
Example Keywords: mmorpg -the $22
barcode-scavenger
   » » Wiki: Terminusdb
Tag Wiki 'Terminusdb'.
Tag

TerminusDB is an and document store. It is used to build versioned data products. It is a native database that is architecturally similar to . It is listed on DB-Engines.

TerminusDB provides a document API for building via the JSON exchange format. It implements both and a variant called WOQL. is a cloud self-serve content and data platform built on TerminusDB.

TerminusDB is available under the license. TerminusDB is implemented in and Rust.


History
TerminusDB was founded in , . Starting in Trinity College Dublin, the development team behind TerminusDB ran the Horizon 2020 project ALIGNED that worked from February 2015 to January 2018. An entitled Engineering Agile Big-Data Systems was published on completion of the ALIGNED project.
(2018). 9788770220163, River Publishers. .

Version 1.0 was released in October 2019. TerminusDB was first released under the GPLv3 license with the client libraries released with the license. With v4.0, which was released in December 2020, TerminusDB switched to the Apache 2.0 license. The shift was discussed extensively.


Release history
+ TerminusDB release history
1.0October 2019

  • first server release with HDT backend

1.1January 2020
  • instance and schema checking
2.0June 2020
  • Rust based storage backend
  • Delta encoding
  • Commit Graph
  • Time-travel on databases
  • Regular path queries
3.0September 2020
  • Added reverse path queries
  • Non-backtracking side-effect
  • Reset API allows resetting branch to arbitrary commit
  • Squash API operation now available
  • Default branch is now called main and not master
4.0December 2020
  • CSV support
  • Automatic CSV schema generation
  • Extraction or filtering of types from arbitrary nodes
  • New CLI interface
  • Graphical Model Building Tool
4.1December 2020
  • Multiple witness flag
  • Add deb repo
4.2February 2021
  • Delta rollups for optimize
  • Large data transfers over TUS protocol
  • Document interface with CRUD actions
  • New frame for adding class choices
  • New branch management actions: squash, reset, delete, optimize
10.0September 2021
  • JSON schema interface
  • Radically simplified document interface
  • JSON documents can refer to other documents in the graph.
11.0January 2023
  • New TerminusDB dashboard
  • GraphQL Integration
  • New storage backend introduces a layer archive format reducing storage use and latency and simplifying interchange
  • Added typed storage for a wide variety of XSD types, reducing storage overhead and improving search performance
11.0June 2023
  • VectorLink sidecar vector database launched
  • Vector sidecar that integrates with TerminusDB or can be used independently

Name
TerminusDB is named after the of Boundaries, Terminus. It is also named after the home of the Foundation in the series of science-fiction novel by .


Software design
TerminusDB is an in-memory graph database management system with a rich query language. The design of the underlying , which is implemented in a Rust library, uses a succinct data structures and approach drawing inspiration from software systems like . This allows Git semantics to be used in TerminusDB.


Data model
TerminusDB is based on the RDF standard. This standard specifies finite labelled which are parameterized in some universe of . The names for nodes and labels are drawn from a set of IRIs (Internationalized Resource Identifiers). TerminusDB uses the XSD datatypes as its universe of concrete values. For design, TerminusDB used the OWL language until version 10.0. Since version 10 it uses a JSON schema interface allowing users to build schemas using a simple JSON format. This provides a rich modelling language which enables constraints on the allowable shapes in the graph.

TerminusDB has a promise based client for the and node.js it is available through the npm registry, or can be directly included in web-sites. It also has a Python client for the TerminusDB RESTful API and a python version of the web object query language, WOQLpy.


Query language
GraphQL is implemented to allow users to query TerminusDB projects in such a way that deep linking can be discovered.

WOQL (web object query language) is a datalog-based query language. It allows TerminusDB to treat the database as a document store or a graph interchangeably, and provides query features to make relationship traversals easy. This gives a relatively straightforward human-readable format which can be easily stored in TerminusDB itself.


Example
A simple query which creates a document in the database, along with labels and cardinality constraints.

WOQL.doctype("BankAccount").label("Bank Account")

   .property("owner","xsd:string")
      .label("owner")
      .cardinality(1)
   .property("balance","xsd:nonNegativeInteger")
      .label("owner")
      .cardinality(1)
     


External links

Page 1 of 1
1
Page 1 of 1
1

Account

Social:
Pages:  ..   .. 
Items:  .. 

Navigation

General: Atom Feed Atom Feed  .. 
Help:  ..   .. 
Category:  ..   .. 
Media:  ..   .. 
Posts:  ..   ..   .. 

Statistics

Page:  .. 
Summary:  .. 
1 Tags
10/10 Page Rank
5 Page Refs
1s Time