GPUdb C++ API  Version 7.2.2.4
gpudb::CreateGraphRequest Struct Reference

A set of parameters for GPUdb::createGraph. More...

#include <gpudb/protocol/create_graph.h>

Public Member Functions

 CreateGraphRequest ()
 Constructs a CreateGraphRequest object with default parameters. More...
 
 CreateGraphRequest (const std::string &graphName_, const bool directedGraph_, const std::vector< std::string > &nodes_, const std::vector< std::string > &edges_, const std::vector< std::string > &weights_, const std::vector< std::string > &restrictions_, const std::map< std::string, std::string > &options_)
 Constructs a CreateGraphRequest object with the specified parameters. More...
 

Public Attributes

std::string graphName
 Name of the graph resource to generate. More...
 
bool directedGraph
 If set to true, the graph will be directed. More...
 
std::vector< std::string > nodes
 Nodes represent fundamental topological units of a graph. More...
 
std::vector< std::string > edges
 Edges represent the required fundamental topological unit of a graph that typically connect nodes. More...
 
std::vector< std::string > weights
 Weights represent a method of informing the graph solver of the cost of including a given edge in a solution. More...
 
std::vector< std::string > restrictions
 Restrictions represent a method of informing the graph solver which edges and/or nodes should be ignored for the solution. More...
 
std::map< std::string, std::string > options
 Optional parameters. More...
 

Detailed Description

A set of parameters for GPUdb::createGraph.

Creates a new graph network using given nodes, edges, weights, and restrictions.

IMPORTANT: It's highly recommended that you review the Graphs & Solvers concepts documentation, the Graph REST Tutorial, and/or some graph examples before using this endpoint.

Definition at line 26 of file create_graph.h.

Constructor & Destructor Documentation

◆ CreateGraphRequest() [1/2]

gpudb::CreateGraphRequest::CreateGraphRequest ( )
inline

Constructs a CreateGraphRequest object with default parameters.

Definition at line 31 of file create_graph.h.

◆ CreateGraphRequest() [2/2]

gpudb::CreateGraphRequest::CreateGraphRequest ( const std::string &  graphName_,
const bool  directedGraph_,
const std::vector< std::string > &  nodes_,
const std::vector< std::string > &  edges_,
const std::vector< std::string > &  weights_,
const std::vector< std::string > &  restrictions_,
const std::map< std::string, std::string > &  options_ 
)
inline

Constructs a CreateGraphRequest object with the specified parameters.

Parameters
[in]graphName_Name of the graph resource to generate.
[in]directedGraph_If set to true, the graph will be directed. If set to false, the graph will not be directed. Consult Directed Graphs for more details. Supported values:
  • true
  • false
The default value is true.
[in]nodes_Nodes represent fundamental topological units of a graph. Nodes must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS NODE_ID', expressions, e.g., 'ST_MAKEPOINT(column1, column2) AS NODE_WKTPOINT', or constant values, e.g., '{9, 10, 11} AS NODE_ID'. If using constant values in an identifier combination, the number of values specified must match across the combination.
[in]edges_Edges represent the required fundamental topological unit of a graph that typically connect nodes. Edges must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS EDGE_ID', expressions, e.g., 'SUBSTR(column, 1, 6) AS EDGE_NODE1_NAME', or constant values, e.g., "{'family', 'coworker'} AS EDGE_LABEL". If using constant values in an identifier combination, the number of values specified must match across the combination.
[in]weights_Weights represent a method of informing the graph solver of the cost of including a given edge in a solution. Weights must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS WEIGHTS_EDGE_ID', expressions, e.g., 'ST_LENGTH(wkt) AS WEIGHTS_VALUESPECIFIED', or constant values, e.g., '{4, 15} AS WEIGHTS_VALUESPECIFIED'. If using constant values in an identifier combination, the number of values specified must match across the combination.
[in]restrictions_Restrictions represent a method of informing the graph solver which edges and/or nodes should be ignored for the solution. Restrictions must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS RESTRICTIONS_EDGE_ID', expressions, e.g., 'column/2 AS RESTRICTIONS_VALUECOMPARED', or constant values, e.g., '{0, 0, 0, 1} AS RESTRICTIONS_ONOFFCOMPARED'. If using constant values in an identifier combination, the number of values specified must match across the combination.
[in]options_Optional parameters. The default value is an empty map.

Definition at line 309 of file create_graph.h.

Member Data Documentation

◆ directedGraph

bool gpudb::CreateGraphRequest::directedGraph

If set to true, the graph will be directed.

If set to false, the graph will not be directed. Consult Directed Graphs for more details. Supported values:

  • true
  • false

The default value is true.

Definition at line 338 of file create_graph.h.

◆ edges

std::vector<std::string> gpudb::CreateGraphRequest::edges

Edges represent the required fundamental topological unit of a graph that typically connect nodes.

Edges must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS EDGE_ID', expressions, e.g., 'SUBSTR(column, 1, 6) AS EDGE_NODE1_NAME', or constant values, e.g., "{'family', 'coworker'} AS EDGE_LABEL". If using constant values in an identifier combination, the number of values specified must match across the combination.

Definition at line 368 of file create_graph.h.

◆ graphName

std::string gpudb::CreateGraphRequest::graphName

Name of the graph resource to generate.

Definition at line 323 of file create_graph.h.

◆ nodes

std::vector<std::string> gpudb::CreateGraphRequest::nodes

Nodes represent fundamental topological units of a graph.

Nodes must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS NODE_ID', expressions, e.g., 'ST_MAKEPOINT(column1, column2) AS NODE_WKTPOINT', or constant values, e.g., '{9, 10, 11} AS NODE_ID'. If using constant values in an identifier combination, the number of values specified must match across the combination.

Definition at line 353 of file create_graph.h.

◆ options

std::map<std::string, std::string> gpudb::CreateGraphRequest::options

Optional parameters.

The default value is an empty map.

Definition at line 527 of file create_graph.h.

◆ restrictions

std::vector<std::string> gpudb::CreateGraphRequest::restrictions

Restrictions represent a method of informing the graph solver which edges and/or nodes should be ignored for the solution.

Restrictions must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS RESTRICTIONS_EDGE_ID', expressions, e.g., 'column/2 AS RESTRICTIONS_VALUECOMPARED', or constant values, e.g., '{0, 0, 0, 1} AS RESTRICTIONS_ONOFFCOMPARED'. If using constant values in an identifier combination, the number of values specified must match across the combination.

Definition at line 400 of file create_graph.h.

◆ weights

std::vector<std::string> gpudb::CreateGraphRequest::weights

Weights represent a method of informing the graph solver of the cost of including a given edge in a solution.

Weights must be specified using identifiers; identifiers are grouped as combinations. Identifiers can be used with existing column names, e.g., 'table.column AS WEIGHTS_EDGE_ID', expressions, e.g., 'ST_LENGTH(wkt) AS WEIGHTS_VALUESPECIFIED', or constant values, e.g., '{4, 15} AS WEIGHTS_VALUESPECIFIED'. If using constant values in an identifier combination, the number of values specified must match across the combination.

Definition at line 384 of file create_graph.h.


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