Signals from the Exabel Data API

Data uploaded with the Exabel Data API can be accessed by using the graph signal.

When time series are uploaded through the Exabel Data API, they are always associated with some entity. An entity can for example be a company, a brand belonging to a company, or a sector which consists of multiple companies. These entities form a graph, and you can retrieve the time series by using the graph_signal.

A signal is always evaluated for some root entity, for example a company. The graph signal accepts a path argument, which is a list of relationships to be traversed, starting at the root entity. For more information on how to traverse relationships in the graph, see the page on graph relations.

If you have uploaded time series for, say, company sentiments and associated them with companies using the signal signals/namespace.company_sentiment, you can retrieve these time series with the expression graph_signal('namespace.company_sentiment').


graph_signal(signal, path=[], leaf_entity_as_label=True, semantic_labels=None, target_entity_index=- 1)

Retrieve time series for entities in the graph.

  • signal – a Data API signal name, which is on the format namespace.signal_name, or a regular signal expression

  • path (list) –

    a list of relationships to traverse from the root entity. Each relationship is specified either as a string with the name of the relationship type or as a dict specifying the name of the relationship type and additional restrictions. When using a dict, the following dict keys are available:

    • relationship_type (str): Mandatory relationship type.

    • direction (str): Direction of relationship. Allowed values are 'IN', 'OUT' and None, where None specifies that both directions will be followed. Default value is None.

    • target_types (list[str]): Target entity types. The given target entity types will be prefixed with “entityTypes/” to construct the entity type resource name. Default value is empty list, which means all target types are allowed.

    • tag (str): Semantic tag id identifying a tag which the target entities must be part of. Default value is None, which means no tag filtering is performed.

    • target_ids (list[str]): Semantic target entity ids. Default value is empty list, which means no target id filtering is performed.

  • leaf_entity_as_label (bool) – whether to remove leaf entities from the result. If False, the result contains the leaf entities which is needed for the group_by_entities transform. Default value is True.

  • semantic_labels (bool) – whether this signal may produce multiple time series for each entity it is evaluated for. By default, this is True if a non-empty path is given. However, if there is a single leaf entity for each root entity that this signal is evaluated for, this may be set to True to produce time series with the same name for all entities.

  • target_entity_index (int) – index of the target entity in the path. This can be used to return intermediate entities in the traversal path. The index is 0-indexed, such that index 0 corresponds to the root entities. The default value is -1, which corresponds to the target entity of the last element in the path (or the root entity if no path is given).