Spaces
Stable logical dataset names whose physical location can change from session to session.
A Space is the name a pipeline uses for a dataset. The name is part of the pipeline declaration; the physical source is a session binding. This separation lets the same version read an upload today, an S3 prefix tomorrow, or a dated partition on its next scheduled run.
Read rows through the API
page = workspace.space_rows(
"scored-reviews",
session_id="session-…",
limit=200,
)
for item in page["rows"]:
print(item["data"], item["sessions"])
The optional session filter returns occurrences produced or explicitly introduced by that
execution. Use workspace.session_rows(...) when you need the exact supplied,
consumed, or emitted ledger. Follow next_offset until it is null; do not derive a
cursor from the number of returned rows.
Space names and bindings
# The version reads the logical Space "headlines".
SemTransform(
input_spaces=("headlines",),
output_space="sentiment",
...
)
# A run binds "headlines" to the selected dataset for this session.
sources = {"headlines": selected_dataset}
A literal Space name remains literal. Relifold does not attach timestamps or execution counters to it. If a run should read or write a dated path, resolve that path when creating the session and bind it to the same logical name.
Rows and primary keys
Rows are mappings of column names to values. A task's primary_key selects the field
or fields that identify the semantic value being processed. Choose meaningful content, such as a
headline or product-category name—not a URL, hash, or arbitrary integer—unless that identifier is
itself the subject of the task.
When rows with the same primary key reach an operation, they represent one task value and
produce one task result. This avoids paying repeatedly for the same semantic work, but it is not
an implicit row-preservation operation. If every source ID, assignment, or membership must
survive, first use a keyed Union with an explicit
union merge policy for those identity-list fields, then map the semantic result back
to the retained identities.
Read Primary and supporting keys for selection rules, two-sided tasks, and worked examples.
What Spaces do not do
- They do not choose newer data because of timestamps.
- They do not overwrite another session's relationships.
- They do not store model credentials in a pipeline declaration.
- They do not make a physical path part of task identity.
Browse and inspect
The Spaces view lists registered logical datasets. Open a Space to inspect its schema, source binding, sample rows, producing versions, session membership, and reviewed quality where available.