ArticleslgStudy

computer science

TerminusDB

TerminusDB is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand TerminusDB rather than just read about it. In short: TerminusDB is an open source knowledge graph and document store. It is used to build versioned data products.

TerminusDB — main illustration
TerminusDB — illustration

Key takeaways

  • TerminusDB belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect TerminusDB to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of TerminusDB from memory before moving on to harder problems.

Reference excerpt

TerminusDB is an open source knowledge graph and document store. It is used to build versioned data products. It is a native revision control database that is architecturally similar to Git. It is listed on DB-Engines. TerminusDB provides a document API for building via the JSON exchange format. It implements both GraphQL and a datalog variant called WOQL. TerminusDB is available under the Apache 2.0 license. TerminusDB is implemented in Prolog and Rust.

History TerminusDB was founded in Dublin, Ireland. 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 open-access e-book entitled Engineering Agile Big-Data Systems was published on completion of the ALIGNED project. Version 1.0 was released in October 2019. TerminusDB was first released under the GPLv3 license with the client libraries released with the Apache 2 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

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

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

Data model TerminusDB is based on the RDF standard. This standard specifies finite labelled directed graphs which are parameterized in some universe of datatypes. 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 schema 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 browser 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.

References

External links Official website

Worked examples

Example 1 — a first encounter with TerminusDB

Start with the simplest possible case. Write down what TerminusDB claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to TerminusDB before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about TerminusDB ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of TerminusDB

In research
TerminusDB appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses TerminusDB in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
TerminusDB is common in secondary-school and first-year university syllabi. It links to neighbouring topics 2019 software, Free database management systems, Free software programmed in Prolog, so understanding it makes those chapters shorter.
In everyday life
Look for TerminusDB outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study TerminusDB in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what TerminusDB means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain TerminusDB out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is TerminusDB in simple terms?

TerminusDB is an open source knowledge graph and document store. It is used to build versioned data products.

Why does TerminusDB matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study TerminusDB?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on TerminusDB.

Tags

  • 2019 software
  • Free database management systems
  • Free software programmed in Prolog
  • Free software programmed in Rust
  • Graph databases
  • Logic programming
  • NoSQL
  • Software companies of Ireland
  • Software using the Apache license
  • Software using the GNU General Public License
  • Structured storage

Keep exploring