What is a supplementary robolog?
A robolog with a parent-child association to another robolog. This allows for associating related robologs in a hierarchical manner, navigating the hierarchy as needed, and automating creation of supplementary metadata at ingest.
Supplementary metadata
Supplementary associations are created automatically between robologs whose file paths meet our automatic assocation criteria. The details of that criteria are covered in the Automating supplementary robolog association section.
When the automatically associated robologs are JSON files, they are parsed to extract metadata that matches any of your extrinsic metadata fields. Those extracted values are then treated as if they were added to the parent robolog's metadata using the API or web UI. This is referred to as "supplementary metadata".
Implications for search
- A parent robolog's inherent and intrinsic metadata are considered for GQL projection when a child robolog's extrinsic metadata meets the search criteria.
- When the fields and values are displayed for a robolog, both the original data ingested with the parent robolog and the supplementary data will be shown.
- Supplementary metadata is treated the same as any other metadata associated with a robolog and thus will affect search order.
Example
The snippets below show a parent robolog's inherent and intrinsic metadata, along with a child robolog's inherent, intrinsic, and extrinsic metadata. Metadata from both the parent and child robologs are returned when a GQL search is performed.
Parent robolog attributes
Ingested At: 2023-09-12T13:12:19
File Path: /parent.bag
Start Time: 2023-09-12T06:31:02
Duration: 7512003698488
Messages: 3749
Child robolog attributes
Ingested At: 2023-09-12T13:27:24
File Path: /parent/child.json
Location: Pittsburgh
Weather: Cloudy
Operator: Robert Paul
Search results
Search results for a regex match on the "Operator" field with value "Robert.*" projecting Messages, Location, Weather, Operator
{
Items: [
{
Alias: Messages
Value: 3749
}, {
Alias: Location
Value: Pittsburgh
}, {
Alias: Weather
Value: Cloudy
}, {
Alias: Operator
Value: Robert Paul
}
]
}
Implications for API endpoints
Supplementary data is returned with a robolog when using the Graphql interface.
When using the REST API, first make a request to the GET /supplements/{id}
endpoint, then make a request
GET /robologs/{id}/values
endpoint for each child listed in the results of the first call.