Protocol Documentation

Table of Contents

Top

proto/public/analysis.proto

AggregationDescriptor

Describes the aggregation of a ledger into one or more distributions.

Field Type Label Description
aggregation_method AggregationMethod The method of aggregation to be used.
groupby_columns string repeated List of column names whose distinct set of values form an aggregation group. If no columns are specified only one aggregation group will be generated.
currency string Optional currency in which to export the values. The values will be translated to this currency using the rate table provided on request if this is specified.

CoMetricsVertexDescriptor

A companion to the DistributionCoMetricsDescriptor/CoMetricsVerticesDescriptor from the analysis messages that represents a single component metric instead of a list of components The parent request defines the primary index (vertex_index) and this is the associated component for co metrics.

Field Type Label Description
aggregation AggregationDescriptor The aggregation descriptor for which the co-metrics will be computed.
windows ProbabilityWindow repeated A list of probability windows that co-metrics will be computed for.
component_index uint64 the financial model vertex index of the component
injected_component_index uint64 injected vertex index used for oep cometrics

CoMetricsVerticesDescriptor

A companion to the DistributionCoMetricsDescriptor that can be used in the financial model API because it is free from data management API messages.

Field Type Label Description
aggregation AggregationDescriptor The aggregation descriptor for which the co-metrics will be computed.
windows ProbabilityWindow repeated A list of probability windows that co-metrics will be computed for.
component_indices uint64 repeated A list of components for which cometrics are requested
injected_component_indices uint64 repeated A list of injected components if OEP cometrics were requested

DistributionCoMetricsDescriptor

Co metrics messages are a bit different from regular metrics since the request can include a collection, whereas the corresponding results may be many-per-descriptor. i.e. one DistributionCoMetricsDescriptor maps to 1 or more DistributionCoMetricsDescriptorResult messages

Field Type Label Description
aggregation AggregationDescriptor The aggregation descriptor for which the co-metrics will be computed.
windows ProbabilityWindow repeated A list of probability windows that co-metrics will be computed for.
components are.v1.data_management.NodeReference repeated A list of component node references

DistributionCoMetricsDescriptorResult

Field Type Label Description
aggregation AggregationDescriptor The aggregation descriptor for which the co-metrics were computed.
windows ProbabilityWindow repeated A list of probability windows that co-metrics will be computed for.
component are.v1.data_management.NodeReference A list of component node references
subcomponent_index uint64 In the case that the component referred to a node that transformed into multiple subnodes, this indicates which of those this result matches; this is analogous to the subterminal_index of the TerminalAnalysisResult

DistributionCoMetricsResult

The co-metrics result for a single aggregation group and single component. A request returns one of these for each aggregation group and component.

Field Type Label Description
distribution_cometrics_descriptor DistributionCoMetricsDescriptorResult The distribution metrics descriptor for this result.
grouping are.v1.common.Cell repeated The distinct values of the group-by columns which define an aggregation group. The length and order of this field matches the length and order of the groupby_columns field of the associated AggregationDescriptor. If group-by columns not are specified in distribution_cometrics_descriptor's AggregationDescriptor, the grouping list here will be empty to indicates this. If no groupings were found (i.e. the ledger was empty), the grouping list will contain only unset (null) Cell values.
window_cometrics ProbabilityWindowCoMetrics repeated A list of probability window co-metrics, one for each probability window specified.

DistributionCoMetricsVertexResult

Received by analysis api and mapped back to the node reference within distribution_cometrics_descriptor

Field Type Label Description
distribution_cometrics_descriptor CoMetricsVertexDescriptor The distribution metrics descriptor for this result.
grouping are.v1.common.Cell repeated The distinct values of the group-by columns which define an aggregation group. The length and order of this field matches the length and order of the groupby_columns field of the associated AggregationDescriptor. If group-by columns not are specified in distribution_cometrics_descriptor's AggregationDescriptor, the grouping list here will be empty to indicates this. If no groupings were found (i.e. the ledger was empty), the grouping list will contain only unset (null) Cell values.
window_cometrics ProbabilityWindowCoMetrics repeated A list of probability window co-metrics, one for each probability window specified.

DistributionMetricsDescriptor

Describes what metrics are to be computed for each aggregation group.

Field Type Label Description
aggregation AggregationDescriptor The aggregation descriptor for which the metrics will be computed.
windows ProbabilityWindow repeated A list of probability windows that metrics will be computed for.
thresholds ExceedanceProbabilityThreshold repeated A list of exceedance probability thresholds for which probabilities will be computed
full_curve bool Indicate whether to also compute the full distribution curve. The result is returned as a file object reference.

DistributionMetricsResult

The metrics result for a single aggregation group. A request returns multiple of those for the same distribution metrics descriptor if there exist multiple groupings.

Field Type Label Description
distribution_metrics_descriptor DistributionMetricsDescriptor The distribution metrics descriptor for this result.
grouping are.v1.common.Cell repeated The distinct values of the group-by columns which define an aggregation group. The length and order of this field matches the length and order of the groupby_columns field of the associated AggregationDescriptor. If group-by columns not are specified in distribution_metrics_descriptor's AggregationDescriptor, the grouping list here will be empty to indicates this. If no groupings were found (i.e. the ledger was empty), the grouping list will contain only unset (null) Cell values.
window_metrics ProbabilityWindowMetrics repeated A list of probability window metrics, one for each probability window specified.
probabilities ExceedanceProbability repeated A list of exceedance probabilities. One for each threshold specified.
curve are.v1.common.FileObjectReference The full distribution curve if requested, represented as file object

ExceedanceProbability

Contains the probability for a specified exceedance probability threshold.

Field Type Label Description
threshold ExceedanceProbabilityThreshold The threshold for which the probability was computed.
probability double The probability value.

ExceedanceProbabilityCurve

Container message for a full exceedance probability curve.

Field Type Label Description
values ProbabilityWindowMetrics repeated The values of the curve are represented as probability window metrics.

ExceedanceProbabilityThreshold

Specifies an exceedance probability threshold

Field Type Label Description
value double The threshold value
inclusive bool Consider the threshold inclusive to compute probability, otherwise it is considered exclusive.

LedgerExportDescriptor

Describes which ledger and which columns of the ledger should be exported.

Field Type Label Description
occurrence_key_column string Name of the column that will contain the exported ledger's occurrence key.
columns string repeated Defines which columns should be exported for this ledger. These columns will be in addition to the default columns Trial, Time, Type, and Value.
include_node_paths bool If true, includes the _NodePath column, which contains the names of the labelled nodes each record passed through, in order.
currency string Optional currency in which to export the values. The values will be translated to this currency using the rate table provided on request if this is specified.
path_override string Optional export path override which facilitates constructing custom path structures for partition discovery in tools such as Apache Spark, AWS Athena, etc. This will cause output to be written to exports/custom/ledgers/{path_override}/ rather than the default exports/ledgers/{default_export_sub_path}/

LedgerExportResult

The result of a ledger export

Field Type Label Description
ledger_export_descriptor LedgerExportDescriptor The ledger export descriptor for which the export was produced.
file_object_reference are.v1.common.FileObjectReference The reference to the exported ledger object

LedgerSQLQueryDescriptor

Describes for which ledger the SQL queries should be executed and in what format the results will be returned.

Field Type Label Description
columns string repeated Defines which columns should be included in the table that is being queried. These columns will be in addition to the default columns Trial, Time, Type, and Value.
queries SQLQuery repeated A list of SQL queries to be executed against the ledger table.
currency string Optional currency in which to export the values. The values will be translated to this currency using the rate table provided on request if this is specified.

LedgerSQLQueryResult

The result of a SQL query against a ledger. The client will receive as many of these as it had specified SQL queries.

Field Type Label Description
ledger_sql_query_descriptor LedgerSQLQueryDescriptor The ledger SQL query descriptor for which the results are provided.
query_index uint64 The index in the list of SQL queries for which this is the result.
query_result SQLQueryResult The query result.

ProbabilityWindow

Defines a window of probabilities that describes a portion of a distribution. In the case that no points in the distribution belong to the window specified, the system assumes the request to refer the point associated with the smallest probability of (at most) the two closest points to the window.

Field Type Label Description
min_probability double The minimum probability is the exclusive boundary of the window.
max_probability double The maximum probability is the inclusive boundary of the window.

ProbabilityWindowCoMetrics

Contains the co-metrics computed for a specified probability window over a distribution.

Field Type Label Description
window ProbabilityWindow The probability window for which the cometrics are provided.
co_mean double The weighted mean / average of values within the window.
co_max double The component's value at the trial of the primary's maximum value within the window. In the case the primary has duplicate losses at the maximum the weighted average of the component losses at the corresponding trials is returned.
co_min double The component's value at the trial of the primary's minimum value within the window. In the case the primary has duplicate losses at the minimum the weighted average of the component losses at the corresponding trials is returned.
covariance double The covariance of the primary and component values within the window
correlation double The correlation of the primary and component values within the window

ProbabilityWindowMetrics

Contains the metrics computed for a specified probability window over a distribution.

Field Type Label Description
window ProbabilityWindow The probability window for which the metrics are provided.
mean double The mean / average of values within the window.
max double The maximum of the values within the window.
min double The minimum of the values within the window.
standard_deviation double The standard deviation of the values within the window.

SQLQuery

A SQL query and output format descriptor.

Field Type Label Description
query string The SQL query string. The name of the table the query is executed on is "LEDGER".
format SQLQuery.ResultFormat Output format options
inline bool Inline the query results in the response.

SQLQueryResult

An SQL query result

Field Type Label Description
inline_object are.v1.common.InlineObject An inline object
file_object_reference are.v1.common.FileObjectReference An object reference
query_error are.v1.common.Error An error message if an error occurred during processing.

AggregationMethod

Enumeration to indicate the method used to aggregate occurrences within a trial to obtain the trial total.

Name Number Description
AEP 0 Aggregate Exceedance Probability The sum of all occurrences in a trial.
OEP 1 Occurrence Exceedance Probability The largest of all occurrences in a trial.

SQLQuery.ResultFormat

The possible SQL query result output formats

Name Number Description
PARQUET 0 Apache Parquet format is supported only for non-inlined results.
CSV 1 CSV is supported for non-inlined and inlined results.

Top

proto/public/analysis_api.proto

AsyncNetworkAnalysisReply

Async analysis reply.

Field Type Label Description
status are.v1.common.Status Async analysis request status
results_uri string Async analysis results uri

AsyncNetworkAnalysisRequest

Equivalent of the NetworkAnalysisStreamRequest, for asynchronous network analysis.

Field Type Label Description
trial_range are.v1.common.TrialRange The range of trials over which to perform the analysis.
network_analysis_requests NetworkAnalysisRequest repeated The list of NetworkAnalysisRequests.
rate_table_uri string The currency exchange rate table
result_callback_url string optional An optional callback url, will be triggered when asynchronous analysis request is complete. Async service will post a JSON message containing request status and the results location to the url.
enable_aggregate_merging bool optional Whether to project over distinct node paths travelled
enable_packed_row_groups bool optional

Context

Specifies in which context the transformation of the business model should occur as the same business model may be transformed in different ways, by specifying a different context.

Field Type Label Description
template_search_paths string repeated The search path for templates used for transformation.

NetworkAnalysisRequest

Specifies analysis descriptors that should be applied to the terminals / sinks of business model network that is transformed within the specified context.

Field Type Label Description
reference are.v1.data_management.NetworkReference A reference to a network to do the analysis on. Only one of reference and query can be provided.
query are.v1.data_management.TraversalQuery A traversal query that obtains the business model network. Only one of reference and query can be provided.
network_uri are.v1.data_management.InlineNetworkURI A self-contained network object file.
context Context The context in which to perform the transformation.
distribution_metrics DistributionMetricsDescriptor repeated The DistributionMetricsDescriptors that should be attached to each of the network's terminal nodes (sinks).
ledger_exports LedgerExportDescriptor repeated The LedgerExportDescriptor that should be attached to each of the network's terminal nodes (sinks).
ledger_sql_queries LedgerSQLQueryDescriptor repeated A list of ledger SQL query descriptors.
target_nodes are.v1.data_management.NodeReference repeated An optional list of nodes on which the descriptors will apply. If omitted, terminal nodes of the network reference are assumed. Only supported with the use of reference.
distribution_cometrics DistributionCoMetricsDescriptor repeated The DistributionCoMetricsDescriptors that should be attached to each of the network's terminal nodes (sinks).

NetworkAnalysisStreamHeader

The header of the reply stream. If no error occurred, this must be the first message returned by the reply stream.

Field Type Label Description
network_terminals NetworkTerminals repeated The list of network terminals for each network analysis request.

NetworkAnalysisStreamReply

A single message of the reply stream.

Field Type Label Description
header NetworkAnalysisStreamHeader The header of the streaming reply. Either this or an error must be the first message returned by the stream.
error are.v1.common.Error Deprecated. No longer used; gRPC raises client-side exceptions when errors occur
result TerminalAnalysisResult A terminal analysis result. There can be multiple of those per terminal and subterminal.
status are.v1.common.Status A status message for delivering information about progress of the request

NetworkAnalysisStreamRequest

Combines multiple NetworkAnalysisRequests into a single request message in order to perform the analysis for each independent network simultaneously.

Field Type Label Description
trial_range are.v1.common.TrialRange The range of trials over which to perform the analysis.
network_analysis_requests NetworkAnalysisRequest repeated The list of NetworkAnalysisRequests.
rate_table_uri string The currency exchange rate table
enable_aggregate_merging bool optional Whether to project over distinct node paths travelled
enable_packed_row_groups bool optional

NetworkTerminals

Describes the terminals and subterminals in a network.

Field Type Label Description
terminals NetworkTerminals.Terminal repeated List of all the terminals in a network.

NetworkTerminals.Terminal

Describes a single terminal and the number of subterminals that terminal created.

Field Type Label Description
terminal_reference are.v1.data_management.NodeReference Reference to the terminal node.
subterminal_count uint64 Number of subterminals obtained for this node. TODO: Ultimately, we want to give those subterminals names that are independent of the internals of the transformation that is performed on the network.

TerminalAnalysisResult

Analysis result for a terminal node or target node. The result is partial if in either of those two cases, subterminals are present.

Field Type Label Description
network_index uint64 The index of the network for which this is the terminal result.
terminal_reference are.v1.data_management.NodeReference The reference to the terminal node of the network.
subterminal_index uint64 The index of the subterminal of this node that produced these analysis results. A subterminal is any sink node in the transformed network that was generated by the transformation of the original terminal node.
distribution_metrics DistributionMetricsResult The metrics result associated with that subterminal.
ledger_export LedgerExportResult The ledger export result associated with that subterminal.
ledger_sql_query LedgerSQLQueryResult The results of the SQL queries executed against ledgers.
distribution_cometrics DistributionCoMetricsResult
trial_range are.v1.common.TrialRange The trial range (input via request or inferred) over which the analysis was done

Analysis

Method Name Request Type Response Type Description
RunAnalysis NetworkAnalysisStreamRequest NetworkAnalysisStreamReply stream
StartAsyncAnalysis AsyncNetworkAnalysisRequest AsyncNetworkAnalysisReply

Top

proto/public/code.proto

Code

The canonical error codes for gRPC APIs.

Sometimes multiple error codes may apply. Services should return the most specific error code that applies. For example, prefer OUT_OF_RANGE over FAILED_PRECONDITION if both codes apply. Similarly prefer NOT_FOUND or ALREADY_EXISTS over FAILED_PRECONDITION.

Name Number Description
OK 0 Not an error; returned on success

HTTP Mapping: 200 OK | | CANCELLED | 1 | The operation was cancelled, typically by the caller.

HTTP Mapping: 499 Client Closed Request | | UNKNOWN | 2 | Unknown error. For example, this error may be returned when a Status value received from another address space belongs to an error space that is not known in this address space. Also errors raised by APIs that do not return enough error information may be converted to this error.

HTTP Mapping: 500 Internal Server Error | | INVALID_ARGUMENT | 3 | The client specified an invalid argument. Note that this differs from FAILED_PRECONDITION. INVALID_ARGUMENT indicates arguments that are problematic regardless of the state of the system (e.g., a malformed file name).

HTTP Mapping: 400 Bad Request | | DEADLINE_EXCEEDED | 4 | The deadline expired before the operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire.

HTTP Mapping: 504 Gateway Timeout | | NOT_FOUND | 5 | Some requested entity (e.g., file or directory) was not found.

Note to server developers: if a request is denied for an entire class of users, such as gradual feature rollout or undocumented whitelist, NOT_FOUND may be used. If a request is denied for some users within a class of users, such as user-based access control, PERMISSION_DENIED must be used.

HTTP Mapping: 404 Not Found | | ALREADY_EXISTS | 6 | The entity that a client attempted to create (e.g., file or directory) already exists.

HTTP Mapping: 409 Conflict | | PERMISSION_DENIED | 7 | The caller does not have permission to execute the specified operation. PERMISSION_DENIED must not be used for rejections caused by exhausting some resource (use RESOURCE_EXHAUSTED instead for those errors). PERMISSION_DENIED must not be used if the caller can not be identified (use UNAUTHENTICATED instead for those errors). This error code does not imply the request is valid or the requested entity exists or satisfies other pre-conditions.

HTTP Mapping: 403 Forbidden | | UNAUTHENTICATED | 16 | The request does not have valid authentication credentials for the operation.

HTTP Mapping: 401 Unauthorized | | RESOURCE_EXHAUSTED | 8 | Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space.

HTTP Mapping: 429 Too Many Requests | | FAILED_PRECONDITION | 9 | The operation was rejected because the system is not in a state required for the operation’s execution. For example, the directory to be deleted is non-empty, an rmdir operation is applied to a non-directory, etc.

Service implementors can use the following guidelines to decide between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE: (a) Use UNAVAILABLE if the client can retry just the failing call. (b) Use ABORTED if the client should retry at a higher level (e.g., when a client-specified test-and-set fails, indicating the client should restart a read-modify-write sequence). (c) Use FAILED_PRECONDITION if the client should not retry until the system state has been explicitly fixed. E.g., if an “rmdir” fails because the directory is non-empty, FAILED_PRECONDITION should be returned since the client should not retry unless the files are deleted from the directory.

HTTP Mapping: 400 Bad Request | | ABORTED | 10 | The operation was aborted, typically due to a concurrency issue such as a sequencer check failure or transaction abort.

See the guidelines above for deciding between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE.

HTTP Mapping: 409 Conflict | | OUT_OF_RANGE | 11 | The operation was attempted past the valid range. E.g., seeking or reading past end-of-file.

Unlike INVALID_ARGUMENT, this error indicates a problem that may be fixed if the system state changes. For example, a 32-bit file system will generate INVALID_ARGUMENT if asked to read at an offset that is not in the range [0,2^32-1], but it will generate OUT_OF_RANGE if asked to read from an offset past the current file size.

There is a fair bit of overlap between FAILED_PRECONDITION and OUT_OF_RANGE. We recommend using OUT_OF_RANGE (the more specific error) when it applies so that callers who are iterating through a space can easily look for an OUT_OF_RANGE error to detect when they are done.

HTTP Mapping: 400 Bad Request | | UNIMPLEMENTED | 12 | The operation is not implemented or is not supported/enabled in this service.

HTTP Mapping: 501 Not Implemented | | INTERNAL | 13 | Internal errors. This means that some invariants expected by the underlying system have been broken. This error code is reserved for serious errors.

HTTP Mapping: 500 Internal Server Error | | UNAVAILABLE | 14 | The service is currently unavailable. This is most likely a transient condition, which can be corrected by retrying with a backoff. Note that it is not always safe to retry non-idempotent operations.

See the guidelines above for deciding between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE.

HTTP Mapping: 503 Service Unavailable | | DATA_LOSS | 15 | Unrecoverable data loss or corruption.

HTTP Mapping: 500 Internal Server Error |

Top

proto/public/common.proto

Cell

A cell containing a typed value or null.

Field Type Label Description
int_value int64 Integer value
float_value double Float value
string_value string String value

Error

Field Type Label Description
code Error.Code
msg string

FileObjectReference

A reference to a file object

Field Type Label Description
format FileObjectReference.Format The format in which the file object is encoded.
uri string The URI of the location of the file object.
is_collection bool Specifies whether the URI refers to a collection of multiple objects that together represent the full object.
expiration_date google.protobuf.Timestamp Date/time that the file object will expire at.

GrapheneError

Field Type Label Description
code google.rpc.Code
msg string

InlineObject

An inline binary object

Field Type Label Description
format InlineObject.Format The format of the underlying binary object.
data bytes The bytestream of the binary object.

Status

Field Type Label Description
message string
code Status.Code
with_warnings bool Set to True for Async analyses that produced warnings

StatusDetail

Field Type Label Description
errors GrapheneError repeated

TrialRange

Specifies a range of trials over which the analysis should be performed.

Field Type Label Description
trial_begin int32 The first trial of the range. Trial IDs are defined by the user's data and should be consecutive integer values.
trial_count int32 How many consecutive trials starting at trial_begin to consider.

Error.Code

Name Number Description
ERROR_GENERAL 0 A user-facing error, most likely caused by malformed input; retrying the request will not likely help
ERROR_UNHANDLED 1 A system error that was unexpected; retrying the request may help

FileObjectReference.Format

The possible formats in which a file object can be encoded.

Name Number Description
PARQUET 0
CSV 1

InlineObject.Format

Possible known formats of the encoding of the underlying binary object.

Name Number Description
NONE 0
CSV 1

Status.Code

Name Number Description
NONE 0
QUEUED 1
PROCESSING 2
COMPLETE 3
ERROR 4
WARNING 5

Top

proto/public/data_management_api.proto

CreateLinkReply

Field Type Label Description
reference LinkReference

CreateLinkRequest

Field Type Label Description
source NodeReference
destination NodeReference
properties Properties
properties_reference PropertiesReference

CreateNetworkReply

Field Type Label Description
reference NetworkReference

CreateNetworkRequest

Field Type Label Description
link_references LinkReference repeated
node_references NodeReference repeated
properties Properties
properties_reference PropertiesReference

CreateNodeReply

Field Type Label Description
reference NodeReference

CreateNodeRequest

Field Type Label Description
properties Properties
properties_reference PropertiesReference

CreatePropertiesReply

Field Type Label Description
reference PropertiesReference

CreatePropertiesRequest

Field Type Label Description
properties Properties

DeleteLinkReply

Field Type Label Description
reference LinkReference

DeleteLinkRequest

Field Type Label Description
reference LinkReference

DeleteNetworkReply

Field Type Label Description
reference NetworkReference

DeleteNetworkRequest

Field Type Label Description
reference NetworkReference

DeleteNodeReply

Field Type Label Description
reference NodeReference

DeleteNodeRequest

Field Type Label Description
reference NodeReference

FindNodesAndLinksReply

Field Type Label Description
node ReadNodeReply
link ReadLinkReply

InlineNetwork

Field Type Label Description
nodes InlineNode repeated
links InlineLink repeated

InlineNetworkURI

Field Type Label Description
uri string

InlineNode

Field Type Label Description
reference NodeReference
properties Properties

LinkQuery

Represents a query for one or more links

Field Type Label Description
query string The query string. refer to query expressions documentation: https://graphene.analyzere.net/

LinkQueryResult

Represents a single LinkQuery result. A LinkQuery may return multiple of these messages.

Field Type Label Description
reference LinkReference A reference to the Link.
properties Properties Optionally inlined properties of the result Link.
properties_reference PropertiesReference

LinkReference

Represense a reference to a specific link and revision of that link.

Field Type Label Description
id uint64 Unique identifier of the link
revision uint64 Optional revision of the link. If this value is unspecified the reference is implied to refer to the latest revision of the link.

NetworkDetails

Field Type Label Description
reference NetworkReference
properties Properties
properties_reference PropertiesReference
deleted bool

NetworkReference

Field Type Label Description
id uint64 Unique identifier of the network
revision uint64 Optional revision of the link. If this value is unspecified the reference is implied to refer to the latest revision of the link.

NodeQuery

Represents a query for one or more nodes

Field Type Label Description
query string The query string. refer to query expressions documentation: https://graphene.analyzere.net/

NodeQueryResult

Represents a single NodeQuery result. Generally, a NodeQuery might match multiple results in which case multiple instances of the NodeQueryResult should be returned.

Field Type Label Description
reference NodeReference The reference to the result Node.
properties Properties Optionally inlined properties of the result Node.
properties_reference PropertiesReference

NodeReference

Represents a reference to a specific node and revision of that node.

Field Type Label Description
id uint64 Unique identifier of the node
revision uint64 Optional revision of the node. If this value is unspecified the reference is implied to refer to the latest revision of the node.

Properties

Represents a set of properties.

Field Type Label Description
data bytes properties as a binary string.
encoding Properties.Encoding

PropertiesReference

Field Type Label Description
id uint64

ReadLinkReply

Field Type Label Description
reference LinkReference
source NodeReference
destination NodeReference
properties Properties
properties_reference PropertiesReference
deleted bool

ReadLinkRequest

Field Type Label Description
reference LinkReference

ReadNetworkReply

Field Type Label Description
network NetworkDetails
node ReadNodeReply
link ReadLinkReply

ReadNetworkRequest

Field Type Label Description
reference NetworkReference

ReadNodeReply

Field Type Label Description
reference NodeReference
properties Properties
properties_reference PropertiesReference
deleted bool

ReadNodeRequest

Field Type Label Description
reference NodeReference
with_inlined_properties bool

ReadPropertiesReply

Field Type Label Description
properties Properties

ReadPropertiesRequest

Field Type Label Description
reference PropertiesReference

TraversalQuery

Represents a traversal query Example: (type == ‘Layer’) – (type == ‘Membership’) -> (type == ‘Portfolio’ AND id == 123)

Field Type Label Description
source_constraint NodeQuery
traversals TraversalQuery.Traversal repeated

TraversalQuery.Traversal

Field Type Label Description
link_constraint LinkQuery
destination_constraint NodeQuery

TraversalQueryResult

Represents a traversal query result Example: [ V(1, rev1) – E(3, rev3) -> V(2, rev2), V(4, rev19) – E(10, rev41) -> V(8, rev30) ]

Field Type Label Description
source NodeQueryResult
traversals TraversalQueryResult.Traversal repeated

TraversalQueryResult.Traversal

Field Type Label Description
link LinkQueryResult
destination NodeQueryResult

UpdateLinkReply

Field Type Label Description
reference LinkReference

UpdateLinkRequest

Field Type Label Description
reference LinkReference
properties Properties
properties_reference PropertiesReference

UpdateNetworkReply

Field Type Label Description
reference NetworkReference

UpdateNetworkRequest

Field Type Label Description
reference NetworkReference
link_references LinkReference repeated
node_references NodeReference repeated
properties Properties
properties_reference PropertiesReference

UpdateNodeReply

Field Type Label Description
reference NodeReference

UpdateNodeRequest

Field Type Label Description
reference NodeReference
properties Properties
properties_reference PropertiesReference

Properties.Encoding

Available encodings for the properties

Name Number Description
JSON 0

DataManagement

The Data Management Service

Method Name Request Type Response Type Description
CreateProperties CreatePropertiesRequest CreatePropertiesReply Create a Properties property set
ReadProperties ReadPropertiesRequest ReadPropertiesReply Retrieve Properties
CreateNetwork CreateNetworkRequest CreateNetworkReply Create a network
ReadNetwork ReadNetworkRequest ReadNetworkReply stream Returns properties or links associated with a network
UpdateNetwork UpdateNetworkRequest UpdateNetworkReply Update properties or link list for a network
DeleteNetwork DeleteNetworkRequest DeleteNetworkReply Delete a network
CreateNode CreateNodeRequest CreateNodeReply Create a node
ReadNode ReadNodeRequest ReadNodeReply Read the properties from a node
UpdateNode UpdateNodeRequest UpdateNodeReply Update the properties of a node
DeleteNode DeleteNodeRequest DeleteNodeReply Delete a node
CreateLink CreateLinkRequest CreateLinkReply Create a link
ReadLink ReadLinkRequest ReadLinkReply Read the properties associated with a link
UpdateLink UpdateLinkRequest UpdateLinkReply Update a link's properties
DeleteLink DeleteLinkRequest DeleteLinkReply Delete a link
FindNodes NodeQuery NodeQueryResult stream Find one or more nodes given search criteria. Always finds the latest revision of a node. Does not return deleted nodes
FindLinks LinkQuery LinkQueryResult stream Find one or more links given search criteria. Always finds the latest revision of a link. Does not return deleted links. May return a link that refers to older versions of nodes, even if the latest versions of those nodes are deleted.
FindNodesAndLinks TraversalQuery FindNodesAndLinksReply stream Find nodes and links determined by the source nodes consistent with the source_constraint, and with subsequent edge/node constraints subject to traversal_constraints. Returns both nodes and links in no particular order. By default, only the latest revision of any given node or link is considered. All conditions of the traversal constraints must match. Deleted items are not considered matching, hence no nodes or links will match unless all constraints match and no node or link is deleted in the latest revision permitted by the constraints.

Top

proto/public/health.proto

This file is needed for manual local testing of the Health Check endpoint grpcurl –plaintext -proto proto/public/health.proto localhost:50051 grpc.health.v1.Health/Check

HealthCheckRequest

Field Type Label Description
service string

HealthCheckResponse

Field Type Label Description
status HealthCheckResponse.ServingStatus

HealthCheckResponse.ServingStatus

Name Number Description
UNKNOWN 0
SERVING 1
NOT_SERVING 2
SERVICE_UNKNOWN 3 Used only by the Watch method.

Health

Method Name Request Type Response Type Description
Check HealthCheckRequest HealthCheckResponse
Watch HealthCheckRequest HealthCheckResponse stream

Scalar Value Types

.proto Type Notes C++ Java Python Go C# PHP Ruby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)