Use this file to discover all available pages before exploring further.
Legacy data modeling
This resource is part of the asset-centric data model.
New projects: We recommend using the data modeling service for greater flexibility and performance.
Existing projects: This resource remains fully supported for maintaining legacy applications.
A sequence indexes a series of rows by row number. Each row has one or more columns with either string or numeric data. Performance curves and various types of logs are examples of sequences.An asset can have one or more sequences connected to it. You can analyze and visualize sequences to draw inferences from the data, for example, to visualize the expected performance of a generator given its load. Another common use is to store large amounts of data whose index isn’t linked to time.A row is a piece of information associated with a row number. Each row has a number of columns, each containing an integer, floating point, or string value. When you create the sequence, you define the column types, and each sequence can have up to 200 columns. The rows are identified by their row number, a searchable positive 64-bit integer. You can’t search by other columns than the row number. The rows don’t have to be consecutive or start at a specific number.Typical use cases for sequences include:
Storing and retrieving an entire curve with an x-y dependency. In this case, use two floating-point columns so that the integer type on the row number doesn’t restrict you.
Storing a log based on distance or depth, with information in columns of different types for each entry. If you store the distance or depth as the row number (an integer), you may lose precision but can search for all events that occurred at a particular distance or depth.
To create a sequence, define the columns. It’s optional but highly recommended to give the sequence itself an externalId. For columns, specify an externalId and a valueType.
Example: create a sequence
POST /api/v1/projects/publicdata/sequencesContent-Type: application/json{ "items": [ { "externalId": "XV_123/performance_curve", "name": "performance curve XV_123", "description": "Performance curve for the so-and-so compressor", "metadata": { "source": "unliberated data store 42" }, "assetId": 4324823473421, "columns": [ { "externalId": "load", "valueType": "DOUBLE", "metadata": {"unit": "kPa"} }, { "externalId": "performance", "valueType": "LONG", "description": "expected performance as % of maximum", "metadata": { "unit": "%", "some other field": "some value" } }, { "externalId": "quality", "valueType": "STRING", "name": "optional human readable name" } ] } ]}
To add rows to a sequence, specify the sequence id or externalId along with a list of the columns you are inserting data into. Nulls can represent missing data.
To get the rows from a sequence, use the externalId or the id of the sequence. Optionally, specify the columns you want to retrieve. The default is to return all columns.
To add columns to a sequence, use the sequences update endpoint. This endpoint can also remove or modify existing columns.Data in removed columns is lost, whereas data in new columns defaults to null. You can modify the name, externalId, description, or metadata fields. To change the data type, you need to delete and recreate the column. Modification won’t affect the default ordering of columns.