assets#

One row per asset: the vehicle, ground station, or other physical thing that data belongs to.

Metadata table, so no dataset_rid predicate is required.

For how assets organize data in Nominal, see Assets in the data model.

Columns#

Column

Type

Nullable

Notes

asset_rid

VARCHAR

No

Resource ID.

title

VARCHAR

Yes

Asset title.

description

VARCHAR

Yes

Free-text description.

labels

ARRAY

Yes

Labels applied to the asset.

properties

MAP

No

Key-value properties applied to the asset. See Properties.

links

ARRAY

Yes

Links associated with the asset. Each element is a map with string keys.

dataset_rid

VARCHAR

Yes

The dataset backing the asset. Null for an asset with no dataset attached.

Properties#

Each entry in properties is a JSON object holding the property’s type and value, such as {"type":"string","value":"<value>"}, so read a value with properties['<key>']['value']. The runs, datasets, and events tables store properties the same way.

Examples#

List assets:

SELECT asset_rid, title FROM assets ORDER BY title LIMIT 50

Filter on a property:

SELECT asset_rid, title, description
FROM assets
WHERE properties['<key>']['value'] = '<value>'
ORDER BY title

Search titles. Matching is case-sensitive:

SELECT asset_rid, title
FROM assets
WHERE UPPER(title) LIKE '%<TITLE TEXT>%'

To find which runs covered an asset, join through run_assets:

SELECT r.title, r.start_time, r.end_time
FROM run_assets AS ra
JOIN runs AS r ON ra.run_rid = r.run_rid
WHERE ra.asset_rid = '<asset-rid>'
ORDER BY r.start_time DESC

Note

An asset is backed by at most one dataset. Join dataset_rid to datasets for time bounds, or use it directly as the dataset_rid predicate on the telemetry tables. That dataset can be a 🔒︎composition of other datasets.

Next steps#

  • run_assets: which assets each run covers.

  • runs: time ranges of activity.

  • datasets: data sources you can query telemetry from.