Create a relationship

async AsyncCogniteClient.relationships.create(
relationship: Relationship | RelationshipWrite | Sequence[Relationship | RelationshipWrite],
) Relationship | RelationshipList

Create one or more relationships.

Parameters:

relationship (Relationship | RelationshipWrite | Sequence[Relationship | RelationshipWrite]) – Relationship or list of relationships to create.

Returns:

Created relationship(s)

Return type:

Relationship | RelationshipList

Note

  • The source_type and target_type field in the Relationship(s) can be any string among “Asset”, “TimeSeries”, “File”, “Event”, “Sequence”.

  • Do not provide the value for the source and target arguments of the Relationship class, only source_external_id / source_type and target_external_id / target_type. These (source and target) are used as part of fetching actual resources specified in other fields.

Examples

Create a new relationship specifying object type and external id for source and target:

>>> from cognite.client import CogniteClient
>>> from cognite.client.data_classes import RelationshipWrite
>>> client = CogniteClient()
>>> # async_client = AsyncCogniteClient()  # another option
>>> flowrel1 = RelationshipWrite(
...     external_id="flow_1",
...     source_external_id="source_ext_id",
...     source_type="asset",
...     target_external_id="target_ext_id",
...     target_type="event",
...     confidence=0.1,
...     data_set_id=1234,
... )
>>> flowrel2 = RelationshipWrite(
...     external_id="flow_2",
...     source_external_id="source_ext_id",
...     source_type="asset",
...     target_external_id="target_ext_id",
...     target_type="event",
...     confidence=0.1,
...     data_set_id=1234,
... )
>>> res = client.relationships.create([flowrel1, flowrel2])