Add an object and return its ObjectIndex. The object type must have been declared via locel_add_object_type first; otherwise this returns None. id: If None, a UUID is assigned. Returns None if the id is already taken. attributes: Positional list of time-indexed attribute histories (one (timestamp, value) list per declared attribute, in order). Use 1970-01-01T00:00:00Z for constant/initial values. Padded with empty lists or truncated on length mismatch (with a warning). relationships: Outgoing O2O relationships as (qualifier, object_index) pairs (can also be added later via locel_add_o2o).
Get the full OCELEvent (resolved type name, named attributes, string object IDs). Allocates; prefer the specific locel_get_ev_* accessors for single fields. Panics if the index is out of bounds.
Add an event and return its EventIndex. The event type must have been declared via locel_add_event_type first; otherwise this returns None. id: If None, a UUID is assigned. Returns None if the id is already taken. attributes: Positional values in the declared attribute order. Padded with Null or truncated on length mismatch (with a warning). relationships: E2O relationships as (qualifier, object_index) pairs (can also be added later via locel_add_e2o).
Get the full OCELObject (resolved type name, named time-indexed attributes, string object IDs). Allocates; prefer the specific locel_get_ob_* accessors for single fields. Panics if the index is out of bounds.
Create a new empty SlimLinkedOCEL. A SlimLinkedOCEL is an object-centric event log where events and objects are referenced by integer indices (EventIndex / ObjectIndex) returned from the add_* calls, and each indexed event/object is an instance of an event/object type (activity / object class) declared beforehand with an ordered list of attributes.
Remove all E2O relationships between the given event and object (across every qualifier). Returns true on success, false if either index is out of bounds (with a stderr warning).