URL: http://GPUDB_IP_ADDRESS:GPUDB_PORT/solve/graph
Solves an existing graph for a type of problem (e.g., shortest path, page rank, travelling salesman, etc.) using source nodes, destination nodes, and additional, optional weights and restrictions.
IMPORTANT: It's highly recommended that you review the Network Graphs & Solvers concepts documentation, the Graph REST Tutorial, and/or some /solve/graph examples before using this endpoint.
Name | Type | Description | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
graph_name | string | Name of the graph resource to solve. | ||||||||||||||||||||||||||||||||||
weights_on_edges | array of strings | Additional weights to apply to the edges of an existing graph. 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, 2} AS WEIGHTS_VALUESPECIFIED'. Any provided weights will be added (in the case of 'WEIGHTS_VALUESPECIFIED') to or multiplied with (in the case of 'WEIGHTS_FACTORSPECIFIED') the existing weight(s). If using constant values in an identifier combination, the number of values specified must match across the combination. The default value is an empty array ( [] ). | ||||||||||||||||||||||||||||||||||
restrictions | array of strings | Additional restrictions to apply to the nodes/edges of an existing graph. 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. If remove_previous_restrictions is set to true, any provided restrictions will replace the existing restrictions. If remove_previous_restrictions is set to false, any provided restrictions will be added (in the case of 'RESTRICTIONS_VALUECOMPARED') to or replaced (in the case of 'RESTRICTIONS_ONOFFCOMPARED'). The default value is an empty array ( [] ). | ||||||||||||||||||||||||||||||||||
solver_type | string | The type of solver to use for the graph. The default value is SHORTEST_PATH.
|
||||||||||||||||||||||||||||||||||
source_nodes | array of strings | It can be one of the nodal identifiers - e.g: 'NODE_WKTPOINT' for source nodes. For BACKHAUL_ROUTING, this list depicts the fixed assets. The default value is an empty array ( [] ). | ||||||||||||||||||||||||||||||||||
destination_nodes | array of strings | It can be one of the nodal identifiers - e.g: 'NODE_WKTPOINT' for destination (target) nodes. For BACKHAUL_ROUTING, this list depicts the remote assets. The default value is an empty array ( [] ). | ||||||||||||||||||||||||||||||||||
solution_table | string | Name of the table to store the solution. The default value is 'graph_solutions'. | ||||||||||||||||||||||||||||||||||
options | map of string to strings | Additional parameters. The default value is an empty map ( {} ).
|
The GPUdb server embeds the endpoint response inside a standard response structure which contains status information and the actual response to the query. Here is a description of the various fields of the wrapper:
Name | Type | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
status | String | 'OK' or 'ERROR' | ||||||||||||
message | String | Empty if success or an error message | ||||||||||||
data_type | String | 'solve_graph_request' or 'none' in case of an error | ||||||||||||
data | String | Empty string | ||||||||||||
data_str | JSON or String | This embedded JSON represents the result of the /solve/graph endpoint:
Empty string in case of an error. |