Skip to main content
Source

pub async fn create_graph( &self, graph_name: String, directed_graph: bool, nodes: Vec<String>, edges: Vec<String>, weights: Vec<String>, restrictions: Vec<String>, ) -> Result<CreateGraphResponse, KineticaError>

Create a new graph network.

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

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

  • graph_name - Name of the graph resource to generate.
  • directed_graph - 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.
  • 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.
  • 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.
  • 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.
  • 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.
Source

pub async fn create_graph_with_opts( &self, graph_name: String, directed_graph: bool, nodes: Vec<String>, edges: Vec<String>, weights: Vec<String>, restrictions: Vec<String>, options: CreateGraphRequestOptions, ) -> Result<CreateGraphResponse, KineticaError>

Create a new graph network.

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

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

  • graph_name - Name of the graph resource to generate.
  • directed_graph - 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • options - The optional parameters; any left unset take the server’s defaults.

Sends a pre-built CreateGraphRequest to the /create/graph endpoint.

Sends a pre-built CreateGraphRequest to a specific worker URL, bypassing HA head-node selection. Used for multi-head access.