Relationships

Relationships allow you to link your entities together, and subsequently build signals that traverse your graph of entities to retrieve and aggregate time series data.

Relationship Types

Every relationship has a relationship type, such as HAS_BRAND, LOCATED_IN or OWNED_BY. The full resource name for a relationship type is relationshipTypes/ns.NAME.

The relationship types provided by Exabel are the following:

Relationship typeResource nameTypical connected entities
listingrelationshipTypes/HAS_LISTINGregional → listing
primary regionalrelationshipTypes/HAS_PRIMARY_REGIONALsecurity → regional
regionalrelationshipTypes/HAS_REGIONALsecurity → regional
securityrelationshipTypes/HAS_SECURITYcompany → security
locationrelationshipTypes/LOCATED_INcompany → country
web domainrelationshipTypes/WEB_DOMAIN_OWNED_BYcompany → web domain
rbicrelationshipTypes/HAS_PRIMARY_RBICScompany → rbics
rbics focusrelationshipTypes/HAS_PRIMARY_RBICS_FOCUScompany → rbics

The relationship types provided by Exabel are read-only, meaning that customers cannot add new relationships with those relationship types. Customers are free to create new relationship types in their own namespace, using the API.

Some relationship types are marked as being an ownership. Relations of those types are aggregation paths in a data set, and they go from the owner to the sub-entity.

Relationships

A relationship is a directed connection between two entities with a relationship type, that is, it is a connection from one entity to another entity. There can only be a single relationship of the same type and in the same direction between any two entities.

Typically a relationship only makes sense for specific entity types: For example, the relationship HAS_LISTING requires the from entity to be a company and the to entity to be a listing. However, this restriction is not enforced.

📘

Relationships are directional

All relationships created in the Exabel platform are directional, specifying the "from" and "to" entities.

This allows for extremely flexible and powerful queries to be written with the signal DSL, where you may traverse the graph from a starting entity (eg a company) in a specified direction, aggregating and transforming time series data along the way.

Exabel maintains a large number relationships between entities in the global namespace. These relationships all have one of the relationship types in the global namespace.

Customers can create new relationships between any entities they have access to.

Ownership relationships

Ownership relationships are aggregation paths in a data set, and go from owner entities to child entities.

In order for entities within a data set to show up in the Data Explorer, there must be ownership relationships connecting all such entities to the "leaf" entities on which raw data signals are defined.

All relationships, regardless if they are ownership relationships or not, can be used in DSL expressions for aggregation purposes.