GPUdb C++ API  Version 7.2.3.0
gpudb::GetGraphEntitiesResponse Struct Reference

A set of results returned by GPUdb::getGraphEntities. More...

#include <gpudb/protocol/get_graph_entities.h>

Public Member Functions

 GetGraphEntitiesResponse ()
 Constructs a GetGraphEntitiesResponse object with default parameters. More...
 

Public Attributes

bool result
 Indicates a successful retrieval. More...
 
std::vector< int64_t > entitiesInt
 Flat array of entity data for integer-identifier graphs with a repeating stride. More...
 
std::vector< std::string > entitiesString
 Flat array of entity data for name-identifier (string) graphs only. More...
 
std::vector< double > entitiesDouble
 Compact double-packed payload for WKT (geo/XY) graphs. More...
 
std::vector< float > entitiesWeight
 Per-edge weight values, populated only when the request option 'include_weights' is 'true' and options entityType is 'edge'. More...
 
std::vector< std::string > labels
 Array of distinct label strings. More...
 
std::map< std::string, std::string > info
 Additional information map. More...
 

Detailed Description

A set of results returned by GPUdb::getGraphEntities.

Definition at line 330 of file get_graph_entities.h.

Constructor & Destructor Documentation

◆ GetGraphEntitiesResponse()

gpudb::GetGraphEntitiesResponse::GetGraphEntitiesResponse ( )
inline

Constructs a GetGraphEntitiesResponse object with default parameters.

Definition at line 336 of file get_graph_entities.h.

Member Data Documentation

◆ entitiesDouble

std::vector<double> gpudb::GetGraphEntitiesResponse::entitiesDouble

Compact double-packed payload for WKT (geo/XY) graphs.

WKT graphs ALWAYS use this array — 'POINT(x y)' strings are never emitted anywhere. Stride 3 for nodes: [ x, y, label_index, ... ]. Stride 6 for edges (non-concise): [ edge_id, x0, y0, x1, y1, label_index, ... ]. Empty for non-WKT graphs and when concise mode emits edges into entitiesInt instead. label_index/edge_id occupy double slots (representable exactly up to 2^53). When 'concise_edge_connectivity' is 'true' and entity_type is 'node', tombstoned (deleted) WKT slots emit [0.0, 0.0, 0.0] to keep position indices stable. Roughly 4x smaller on the wire than 'POINT(x y)' strings and avoids any client-side regex parse.

Definition at line 393 of file get_graph_entities.h.

◆ entitiesInt

std::vector<int64_t> gpudb::GetGraphEntitiesResponse::entitiesInt

Flat array of entity data for integer-identifier graphs with a repeating stride.

For node entities (stride 2): [ node_id, label_index, ... ]. For edge entities (stride 4): [ edge_id, node1_id, node2_id, label_index, ... ]. Populated when the graph uses integer identifiers; empty otherwise. The label_index is a 1-based index into the labels array; 0 indicates no label. When the request option 'concise_edge_connectivity' is 'true', this array is also used (regardless of graph identifier type) for edge entities and carries [edge_id, node1_index, node2_index, edge_label_index] where node1_index/node2_index are 0-based positions into the node array returned from a paired node call on the same graph.

Definition at line 365 of file get_graph_entities.h.

◆ entitiesString

std::vector<std::string> gpudb::GetGraphEntitiesResponse::entitiesString

Flat array of entity data for name-identifier (string) graphs only.

For node entities (stride 2): [ node_name, label_index, ... ]. For edge entities (stride 4): [ edge_id, node1_name, node2_name, label_index, ... ]. Populated only when the graph uses string identifiers. Empty for integer-identifier graphs (data goes to entitiesInt) and for WKT/geo-XY graphs (data always goes to entitiesDouble — 'POINT(x y)' strings are never emitted). The label_index is a string representation of a 1-based index into the labels array; '0' indicates no label.

Definition at line 378 of file get_graph_entities.h.

◆ entitiesWeight

std::vector<float> gpudb::GetGraphEntitiesResponse::entitiesWeight

Per-edge weight values, populated only when the request option 'include_weights' is 'true' and options entityType is 'edge'.

Stride 1, aligned 1:1 with the edge records emitted in entitiesInt or entitiesString (i.e. the i-th weight corresponds to the i-th edge record). Empty when the graph has no weights component, when requesting nodes, or when the option is not set. Single-precision float matches the graph server's native weight storage.

Definition at line 405 of file get_graph_entities.h.

◆ info

std::map<std::string, std::string> gpudb::GetGraphEntitiesResponse::info

Additional information map.

Contains the following keys: 'identifier_type' — describes the graph's native node identifier type: 'int', 'string', or 'wkt' (geo/XY graph). 'payload_type' — describes which array actually holds this response payload: 'int' (entitiesInt), 'string' (entitiesString), or 'double' (entitiesDouble). WKT graphs ALWAYS use 'double' for both nodes and edges — 'POINT(x y)' strings are never emitted. In concise edge mode payload_type is 'int' regardless of graph type. Clients should dispatch on 'payload_type', not 'identifier_type', to parse the response. 'total_count' — total number of entities available in the graph for the requested entity_type, used for pagination; this is the live (non-deleted) count by default, or the raw count (including deleted slots) when 'concise_edge_connectivity' is true for a node request. 'status_message' — set to 'Cancelled' if the request was cancelled mid-iteration (with result set to false). 'concise_edge_connectivity' — set to 'true' when the response was produced with the concise option (edges emitted as [edge_id, v0_index, v1_index, label_idx] in entitiesInt; WKT-graph nodes emitted as [x, y, label_idx] in entitiesDouble; non-WKT nodes still in their native array; node output includes deleted slots to keep indices stable). 'include_weights' — set to 'true' when entitiesWeight is populated.

Definition at line 438 of file get_graph_entities.h.

◆ labels

std::vector<std::string> gpudb::GetGraphEntitiesResponse::labels

Array of distinct label strings.

The label_index values in entitiesInt, entitiesString, or entitiesDouble are 1-based indexes into this array; index 0 means no label.

Definition at line 412 of file get_graph_entities.h.

◆ result

bool gpudb::GetGraphEntitiesResponse::result

Indicates a successful retrieval.

Definition at line 350 of file get_graph_entities.h.


The documentation for this struct was generated from the following file: