Key Concepts

The Exabel Data Model

Understanding these key concepts will help you understand how Exabel works under the hood.

The following concepts are widely used in this guide and the Exabel platform:

  • Namespace: allows for the separation of data between customers.
  • Data set: a collection of signals, such as price and revenue, those signals’ time series and a graph of entities, starting from entities having those time series.
  • Signal: a group of time series that have the same meaning across multiple entities. For instance, Close_Price is a signal of daily closing share prices for all listed company entities.
  • Time series: a series of data points each with corresponding timestamps. Every time series belongs to a signal, linked to the entity they correspond to. For instance, the time series of Apple daily closing share prices belongs to the Close_Price signal.
  • Entity: represents real-world entities, such as companies, brands, regions, etc. For instance, the company Apple is an entity.
  • Entity type: a group of entities having similar real-world meaning. For instance, company is an entity type. Every entity has a single entity type.
  • Relationship: connect entities with each other. For instance, the company entity Volkswagen and the brand entity Audi may be connected with a relationship of the type HAS_BRAND.
  • Relationship type: a group of relationships having similar meaning. For instance, HAS_BRAND describes all relationships between a company and the brands it owns.

Namespaces & Data Separation

Exabel uses the concept of "namespaces" to keep customer data segregated and private to users of that customer.

All customers can connect their data to the entities maintained by Exabel in the global namespace.

If you have an Exabel full platform license (which is needed for you to import data), you will have your own namespace, eg customer1. Data imported by you will be created in that namespace and therefore private; this includes entities, relationships, signals and time series.

Resource Naming

The name property of a resource is its resource name, which is a unique reference to the resource that follows certain rules. (For display friendly names, use the displayName property.)

A resource name consists of a collection ID and a resource ID joined by a forward slash (/).

The collection ID is the type of the resource, as defined by this API.

The resource ID consists of a namespace and an identifier. If the namespace is non-empty the parts are joined by a period (.).

The namespace is either empty or the namespace given to the customer, for instance customer1.

An identifier must start with a word character (a-zA-Z0-9_) and continue with any combination of letters, numbers (0-9), hyphens (-) and underscores (_). Identifiers must be between 1 and 64 characters long (inclusive). Some resources have further restrictions on the allowed characters.

Some resource names start with another resource name as its parent.

Please note that resource names are case sensitive, so entities/customer1.APPLE is different from entities/customer1.apple. By convention, entities have lowercase names; while relationships must be spelled in uppercase.

Examples of resource names

  • Entity type: entityTypes/company, entityTypes/customer1.factory
  • Relationship: relationshipTypes/LOCATED_IN, relationshipTypes/customer1.OWNED_BY
  • Entity (containing a parent): entityTypes/customer1.factory/entities/customer1.van_nelle

What’s Next

Learn more about the different parts of the Exabel data model