defineSeries when Bijection admits and stores the observations; use
defineVirtualSeries when they already live elsewhere.
Declare the series
Units are the series units, for example
"°C", "K", "bar", "kW" or
"ppm". A warehouse capture also names its matching executor.
Corrections, withdrawals and gaps
Each observation resolves to its greatestcorrectionOrder before any time
range applies, so a correction can move an observation to another instant.
Each instant then keeps its greatest order, the same rule a native series
applies to its accepted occurrences:
- identical copies at the winning order count once;
- a contradictory winning value refuses the read, even when a later filter or limit would have hidden it;
- a null value withdraws that measure at that instant;
- an instant with no observation is a gap; nothing is interpolated unless you ask for a signal.
{ from, to } includes from and excludes to.
Read samples
between returns a typed relation of { subject, time_us, source_order, value, unit }. Use it in an analytical question or q.program admitted through
Compute; it is not a native subscription.
Summarize a population
measure(name) without a key selects every series. Summarize it for each
member of a population, comparing every key field:
Signals
Native and virtual series share one signal vocabulary:signal.capture(questions, { from, to }, limits) first accepts a complete input in one original question, then
resolve(ctx.series) evaluates the same expression with the shared series
kernel.
Object properties
q.seriesRef(temperatures, { key, measure }) binds a measure to a property of
an ontology view, exactly as for a native series. Reading the object does not
acquire external observations; an analysis captures them explicitly.