Bathysphere (3.0.0)

Download OpenAPI specification:Download

Oceanicsdotio LLC: wave@oceanics.io URL: http://www.oceanics.io License: MIT

Bathysphere is a graph-native store and registry for public and proprietary Ocean data. We ingest heterogenous sensor and simulation data and parse them into discoverable databases, accessible to both humans and machines.

You probably have to share data anyway. Our software can enhance your data science and management experience by providing granular access control and provenance tracking based on open standards.

By assessing data and service availability over shared domain, projects can allocate resources to fill coverage gaps, share assets, and eliminate redundant operational and capital expenses.

Catalog

Access metadata about collections.

Catalog Metadata

Get all entity types in database as collections following the SpatioTemporal Asset Catalog specification

Authorizations:
BearerAuth
query Parameters
asset
string
Default: "index"
extension
string
Enum: "sensing" "mesh" "tasking" "admin" "catalog"

Any entity can be linked topologically to any other entity, but generally these are grouped in functional sets by application area:

  • sensing implements Open Geospatial Consortium SensorThings specification (part 1), and has models relevant to operating and getting data from sensor networks.
  • tasking builds off of the SensorThings specification part 2.
  • mesh implements structures for spatial simulations.

Responses

Delete Catalog

Delete all data connected to account.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Collection

Access groups of entities sharing a type.

Create Entity

Create a new entity.

Authorizations:
BearerAuth
path Parameters
entity
required
string
Enum: "DataStreams" "Observations" "HistoricalLocations" "Locations" "Sensors" "Things" "ObservedProperties" "Tasks" "Actuators" "TaskingCapabilities" "FeaturesOfInterest" "Collections"

Name of the entity model to create or fetch.

Request Body schema: application/json

Entity

One of
uuid
required
string <uuid>

Unique identifier for entity. This is usually auto-generated, but different than the default node IDs within the Neo4j database, since those are not guaranteed to persist.

name
required
string or null

Human readable entity name for displaying data.

description
string or null

Short but useful explanation of what the entity is.

properties
object

Key-value properties

Responses

Request samples

Content type
application/json
Example
{
  • "name": "Sealab"
}

Response samples

Content type
application/json
Example
{
  • "name": "Sealab"
}

Collection Metadata

Get all entities of one type

Authorizations:
BearerAuth
path Parameters
entity
required
string
Enum: "DataStreams" "Observations" "HistoricalLocations" "Locations" "Sensors" "Things" "ObservedProperties" "Tasks" "Actuators" "TaskingCapabilities" "FeaturesOfInterest" "Collections"

Name of the entity model to create or fetch.

Responses

Response samples

Content type
application/json
{
  • "name": "Oysters",
  • "description": "Oyster data",
  • "license": null,
  • "version": 1,
  • "keywords": "oysters,aquaculture,Maine,ShellSIM",
  • "@iot.count": 1,
  • "value": [
    ]
}

Connected Entities

Get related entities

Authorizations:
BearerAuth
path Parameters
root
required
string

The class name of the root or parent entity that the request object is associated with. During a GET request this will be used to collect child entities based on graph relationship. For PUT and POST requests this and the child entities will be linked with a labeled relationship.

rootId
required
string

Unique integer identifier of the parent entity.

entity
required
string
Enum: "DataStreams" "Observations" "HistoricalLocations" "Locations" "Sensors" "Things" "ObservedProperties" "Tasks" "Actuators" "TaskingCapabilities" "FeaturesOfInterest" "Collections"

Name of the entity model to create or fetch.

query Parameters
label
string

Should be in format LABEL, although this is not strictly necessary. Labeled relationships are used to crawl over the graph.

Responses

Response samples

Content type
application/json
{
  • "name": "Oysters",
  • "description": "Oyster data",
  • "license": null,
  • "version": 1,
  • "keywords": "oysters,aquaculture,Maine,ShellSIM",
  • "@iot.count": 1,
  • "value": [
    ]
}

Entity

Manage a single entity or pair of entities.

Create Entity

Create a new entity.

Authorizations:
BearerAuth
path Parameters
entity
required
string
Enum: "DataStreams" "Observations" "HistoricalLocations" "Locations" "Sensors" "Things" "ObservedProperties" "Tasks" "Actuators" "TaskingCapabilities" "FeaturesOfInterest" "Collections"

Name of the entity model to create or fetch.

Request Body schema: application/json

Entity

One of
uuid
required
string <uuid>

Unique identifier for entity. This is usually auto-generated, but different than the default node IDs within the Neo4j database, since those are not guaranteed to persist.

name
required
string or null

Human readable entity name for displaying data.

description
string or null

Short but useful explanation of what the entity is.

properties
object

Key-value properties

Responses

Request samples

Content type
application/json
Example
{
  • "name": "Sealab"
}

Response samples

Content type
application/json
Example
{
  • "name": "Sealab"
}

Entity Metadata

Get entity

Authorizations:
BearerAuth
path Parameters
entity
required
string
Enum: "DataStreams" "Observations" "HistoricalLocations" "Locations" "Sensors" "Things" "ObservedProperties" "Tasks" "Actuators" "TaskingCapabilities" "FeaturesOfInterest" "Collections"

Name of the entity model to create or fetch.

uuid
required
string

Unique identifier of the resource to be retrieved.

Responses

Response samples

Content type
application/json
Example
{
  • "name": "Sealab"
}

Update Entity

Update entity

Authorizations:
BearerAuth
path Parameters
entity
required
string
Enum: "DataStreams" "Observations" "HistoricalLocations" "Locations" "Sensors" "Things" "ObservedProperties" "Tasks" "Actuators" "TaskingCapabilities" "FeaturesOfInterest" "Collections"

Name of the entity model to create or fetch.

uuid
required
string

Unique identifier of the resource to be retrieved.

Request Body schema: application/json

Entity

One of
uuid
required
string <uuid>

Unique identifier for entity. This is usually auto-generated, but different than the default node IDs within the Neo4j database, since those are not guaranteed to persist.

name
required
string or null

Human readable entity name for displaying data.

description
string or null

Short but useful explanation of what the entity is.

properties
object

Key-value properties

Responses

Request samples

Content type
application/json
Example
{
  • "name": "Sealab"
}

Response samples

Content type
application/json
Example
{
  • "name": "Sealab"
}

Delete Entity

Delete entity and orphans recursively.

Authorizations:
BearerAuth
path Parameters
entity
required
string
Enum: "DataStreams" "Observations" "HistoricalLocations" "Locations" "Sensors" "Things" "ObservedProperties" "Tasks" "Actuators" "TaskingCapabilities" "FeaturesOfInterest" "Collections"

Name of the entity model to create or fetch.

uuid
required
string

Unique identifier of the resource to be retrieved.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Connected Entities

Get related entities

Authorizations:
BearerAuth
path Parameters
root
required
string

The class name of the root or parent entity that the request object is associated with. During a GET request this will be used to collect child entities based on graph relationship. For PUT and POST requests this and the child entities will be linked with a labeled relationship.

rootId
required
string

Unique integer identifier of the parent entity.

entity
required
string
Enum: "DataStreams" "Observations" "HistoricalLocations" "Locations" "Sensors" "Things" "ObservedProperties" "Tasks" "Actuators" "TaskingCapabilities" "FeaturesOfInterest" "Collections"

Name of the entity model to create or fetch.

query Parameters
label
string

Should be in format LABEL, although this is not strictly necessary. Labeled relationships are used to crawl over the graph.

Responses

Response samples

Content type
application/json
{
  • "name": "Oysters",
  • "description": "Oyster data",
  • "license": null,
  • "version": 1,
  • "keywords": "oysters,aquaculture,Maine,ShellSIM",
  • "@iot.count": 1,
  • "value": [
    ]
}

Join Entity Pair

Create a labeled relationship between entities.

Authorizations:
BearerAuth
path Parameters
root
required
string

The class name of the root or parent entity that the request object is associated with. During a GET request this will be used to collect child entities based on graph relationship. For PUT and POST requests this and the child entities will be linked with a labeled relationship.

rootId
required
string

Unique integer identifier of the parent entity.

entity
required
string
Enum: "DataStreams" "Observations" "HistoricalLocations" "Locations" "Sensors" "Things" "ObservedProperties" "Tasks" "Actuators" "TaskingCapabilities" "FeaturesOfInterest" "Collections"

Name of the entity model to create or fetch.

uuid
required
string

Unique identifier of the resource to be retrieved.

query Parameters
label
string

Should be in format LABEL, although this is not strictly necessary. Labeled relationships are used to crawl over the graph.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Drop Relationship

Remove a labeled relationship between entities. If no label is specified, remove all relationships between the entities.

Authorizations:
BearerAuth
path Parameters
root
required
string

The class name of the root or parent entity that the request object is associated with. During a GET request this will be used to collect child entities based on graph relationship. For PUT and POST requests this and the child entities will be linked with a labeled relationship.

rootId
required
string

Unique integer identifier of the parent entity.

entity
required
string
Enum: "DataStreams" "Observations" "HistoricalLocations" "Locations" "Sensors" "Things" "ObservedProperties" "Tasks" "Actuators" "TaskingCapabilities" "FeaturesOfInterest" "Collections"

Name of the entity model to create or fetch.

uuid
required
string

Unique identifier of the resource to be retrieved.

query Parameters
label
string

Should be in format LABEL, although this is not strictly necessary. Labeled relationships are used to crawl over the graph.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Topology

Create and access entity relationship metadata.

Connected Entities

Get related entities

Authorizations:
BearerAuth
path Parameters
root
required
string

The class name of the root or parent entity that the request object is associated with. During a GET request this will be used to collect child entities based on graph relationship. For PUT and POST requests this and the child entities will be linked with a labeled relationship.

rootId
required
string

Unique integer identifier of the parent entity.

entity
required
string
Enum: "DataStreams" "Observations" "HistoricalLocations" "Locations" "Sensors" "Things" "ObservedProperties" "Tasks" "Actuators" "TaskingCapabilities" "FeaturesOfInterest" "Collections"

Name of the entity model to create or fetch.

query Parameters
label
string

Should be in format LABEL, although this is not strictly necessary. Labeled relationships are used to crawl over the graph.

Responses

Response samples

Content type
application/json
{
  • "name": "Oysters",
  • "description": "Oyster data",
  • "license": null,
  • "version": 1,
  • "keywords": "oysters,aquaculture,Maine,ShellSIM",
  • "@iot.count": 1,
  • "value": [
    ]
}

Join Entity Pair

Create a labeled relationship between entities.

Authorizations:
BearerAuth
path Parameters
root
required
string

The class name of the root or parent entity that the request object is associated with. During a GET request this will be used to collect child entities based on graph relationship. For PUT and POST requests this and the child entities will be linked with a labeled relationship.

rootId
required
string

Unique integer identifier of the parent entity.

entity
required
string
Enum: "DataStreams" "Observations" "HistoricalLocations" "Locations" "Sensors" "Things" "ObservedProperties" "Tasks" "Actuators" "TaskingCapabilities" "FeaturesOfInterest" "Collections"

Name of the entity model to create or fetch.

uuid
required
string

Unique identifier of the resource to be retrieved.

query Parameters
label
string

Should be in format LABEL, although this is not strictly necessary. Labeled relationships are used to crawl over the graph.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Drop Relationship

Remove a labeled relationship between entities. If no label is specified, remove all relationships between the entities.

Authorizations:
BearerAuth
path Parameters
root
required
string

The class name of the root or parent entity that the request object is associated with. During a GET request this will be used to collect child entities based on graph relationship. For PUT and POST requests this and the child entities will be linked with a labeled relationship.

rootId
required
string

Unique integer identifier of the parent entity.

entity
required
string
Enum: "DataStreams" "Observations" "HistoricalLocations" "Locations" "Sensors" "Things" "ObservedProperties" "Tasks" "Actuators" "TaskingCapabilities" "FeaturesOfInterest" "Collections"

Name of the entity model to create or fetch.

uuid
required
string

Unique identifier of the resource to be retrieved.

query Parameters
label
string

Should be in format LABEL, although this is not strictly necessary. Labeled relationships are used to crawl over the graph.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}