An additional data item associated with a Fact. If a Fact contained a measurement of pressure, a configurable could be the temperature the measurement was taken at. Possible configurables for a Fact need to be declared in the data model, they can't be assigned arbitrarily.

Data Table

A DataTable is a python object which controls how Entities and their Facts are formatted. It represents a mapping between FactKinds/ValueConfigurations and column names in an output table.

Data Catalog

A searchable object store for arbitrary JSON data, with features for typing and versioning


An Entity represents a collection of data values, whose properties are described by a Data Model. Each value is stored inside a Fact, that also holds associations to an object in the Data Model. The Entity therefore provides an implicit relationship between all of the Facts contained within it. If a 'Book' Data Model describes an item with the properties Year, Author and Title, an Entity could represent the specific book 'The Lord of the Rings' by J.R.R. Tolkien (1954).

Data Model

An Data Model outlines the properties of a real-world object. Each individual property the object can have is represented as a Fact Kind. Data Models do not have a role in assigning actual values to a property, this is the purpose of the Entity object. The 'real-world object' represented by an Data Model can be something more abstract, for example an 'Experiment' Data Model.


A Fact is described by a Fact Kind and contains a specific value. Facts can also contain extra data relevant to a Fact called configurables. An example of this could be measuring the Tensile Strength of a material. The Fact has a value in MPa, but could also have a configurable recording what temperature the measurement was made at.

Fact Kind

Represents a particular type of recordable property. A Data Model is a collection of Fact Kinds which together describe all the (interesting) properties of the system or object. A Fact Kind also contains details about possible configurables that a particular Fact can be assigned.

Fact Node

An object containing one or more Fact Kinds that can be linked together with other Fact Nodes to construct a data model tree. When creating Data Models which have lots of Fact Kinds, it can make sense to group similar Fact Kinds together and give the data model another level of structure. However, these links are arbitrary, and have no bearing on the relationship between Fact Kinds. In that way, Fact Nodes can be considered analagous to directories in a file tree.

Edge Service

A python object which handles the connection to the Data Catalog instance holding saved data. It is used by the main Edge App, but can also be used independently when working with the standalone API.

Value Configuration

Contains the units, default value (optional) and underlying python type of a Fact or a configurable.