Supported Domains

Raa Labs supports multiple domains for organizing and querying time series data. A domain defines how a time series is named and structured. Knowing the domains helps you form expressions for queries. The current supported domains include:

Domain
Description
Example Domain ID

id

The raw time series UUID. This is a unique identifier assigned by Raa Labs for each signal. Use this for a direct lookup if you know the UUID.

62e23903-9db5-43cc-949d-78452ffb81bc

jsmea

JSMEA (Japan Ship Machinery and Equipment Association) naming standard, based on ISO 19848 for ship sensor data. This is a hierarchical naming scheme with multiple levels (e.g., system, subsystem, component, parameter).

IMO1234567/jsmea_mac/MainEngine/DrivingShaft/Output//Power/

raalabs

Raa Labs flat tag schema. A simpler, flattened naming convention that usually includes just the IMO number and a short descriptive tag.

IMO1234567/ME ShaftPower

parameters

Parameter grouping schema. It includes the IMO number, a parameter group name, and a short name. This groups related signals under a category.

IMO1234567/ME Power/ME ShaftPower

maker

The name given to a tag by the maker of the machinery or equipment. Includes the maker name and a tag name.

IMO1234567/Maker/12345

vis-3-8a

The VIS (Vessel Information Structures) naming convention from DNV is a standardized way to uniquely identify vessel functions and onboard equipment. It uses a hierarchical structure based on GMOD (Generic Product Model).

IMO1234567/913/S130.1-1/S121/sec/406i/H233/meta/qty-power

Note: For the jsmea and vis-3-8a domains, some signals may not yet have been mapped. If an expected signal is unavailable in these domains, use the raalabs domain. For specific requests, please contact us at [email protected].

Using Wildcards in the Query Expression

All domains allow wildcard queries, making it easier to retrieve data across many tags or hierarchy levels. Wildcards let you fetch data without knowing the exact tag name—only part of the name or structure is enough.

The Raalabs Domain

Query Expression Format:

IMO{number}/{tag_name}

In a flat domain like raalabs, you can query multiple vessels or tags:

  • */ME ShaftPower Retrieves the Main Engine ShaftPower measurements for all vessels ( * in place of the IMO number matches every vessel).

  • raalabs/IMO1000002/ME* Shaft* Retrieves all tags that Starts with ME and has the word Shaft in it.

The JSMEA Domain

Query Expression Format:

IMO{number}/{short_naming_rule}/{category}/{sub_category}/{content}/{position}/{item}/{modifier}

In a hierarchical domain like jsmea, you can use wildcards at various levels:

  • IMO1234567/*/*/*/*/*/Power/ Retrieves all time series under vessel IMO1234567 whose final component is "Power" (regardless of which subsystem or component).

  • IMO1234567/jsmea_mac/MainEngine/* Retrieves all Main Engine-related time series for vessel 1234567 (wildcard at the level below MainEngine to get everything under it).

  • IMO1234567/jsmea_mac/MainEngine/Fuel* Retrieves all Main Engine with some kind of fuel component related time series for vessel 1234567 (wildcard at the level below MainEngine to get everything under it).

The VIS-3-8a Domain

Query Expression Format:

IMO{number}/{primary_item_vis_path}/sec/{secondary_item_vis_path}/meta/{metadata}

The vis-3-8a domain utilizes the hierarchical GMOD (Generic Product Model) framework to define VIS-paths for vessel items. DNV provides a comprehensive learning tool for generating VIS-paths and metadata, along with detailed naming rule documentation.

Wildcards (*) can be applied at multiple levels within VIS-paths, as well as at the metadata type and IMO number specifications:

  • * Retrieves all time series from all vessels

  • IMO1234567/411.1 Retrieves all time series under vessel IMO1234567 with primary path root 411.1 ("Propulsion Driver") and arbitrary amounts of descendants in the VIS-path. The latter means that specifying {primary_item_vis_path} = 411.1 is equal to specifying {primary_item_vis_path} = 411.1/*

  • IMO1234567/400a Retrieves all time series under vessel IMO1234567 with primary path root being a code that lies within the group 400a ("Propulsion and steering arrangements") in the hierarchy tree, and arbitrary amounts of descendants in the VIS-path.

  • IMO1234567/*/S130-2AMOS Retrieves all time series for vessel IMO1234567 with arbitrary primary path root and includes S130 (code for "fan unit") anywhere in the VIS-path of their primary item, except root position. Note that the code we require can be both exactly S130 or a code that is under it in the hierarchy, e.g. S130.2. In addition this code is required to have Location 2AMOS.

  • */*/sec/*/H233 Retrieves all time series from all vessels with secondary item VIS-path including H233, and wildcard root.

  • IMO1234567/meta/qty-temperature Retrieves all time series for vessel IMO1234567 which have the metadata element "qty-temperature".

  • IMO1234567/meta/qty-* Retrieves all time series for vessel IMO1234567 which have the metadata category "qty" and any metadata type.

Notes

  • Wildcards in primary or secondary VIS-paths match zero or more path segments, except at the root position where they match one or more segments to ensure a valid root is specified

  • You can combine vessel, path, and meta wildcards: */400a/*/C663/sec/*/meta/qty-*

  • Use {IMO1234567, IMO7654321}/* to query multiple specific vessels

Note: Wildcards are currently under development, not all functionality is available in all domains.

Finding Domain Mappings

If you are unsure how a time series ID appears in different domains, you can use the metadata endpoint on the id domain to see its mappings. For example, you can fetch all metadata using the raw iddomain and look at the mapsTo field in the response. The mapsTo object will show equivalent identifiers in other domains for each time series.

For instance, a metadata query like GET https://prism.raalabs.io/{ENVIRONMENT}/metadata/id/* might return:

{
  "46fd4739-ad03-43c3-b027-7db0d0b093ec": {
    "name": "12153",
    "description": "ENGINE ROOM TEMP.",
    "source": "Aconis",
    "scale": 1.0,
    "vesselName": "Happy Wanderer",
    "vesselImo": "1000005",
    "uom": "°C",
    "timeSeriesId": "46fd4739-ad03-43c3-b027-7db0d0b093ec",
    "rangeLow": -40.0,
    "rangeHigh": 60.0,
    "mapsTo": {
      "jsmea": "IMO1000005/jsmea_mac/EngineRoomAmbience/RoomSpace/AmbientAir//Temp/",
      "maker": "IMO1000005/Aconis/12153",
      "raalabs": "IMO1000005/EngineRoom AmbientAirTemp",
      "vis-3-8a": "IMO1000005/406i/H233/meta/cnt-ambient.air/qty-temperature"
    }
  }
}

Last updated