42 KiB
layout | description |
---|---|
default | This chapter describes various functions on a graph |
Graph Functions
This chapter describes various functions on a graph. A lot of these accept a vertex (or edge) example as parameter as defined in the next section.
Examples will explain the API on the the city graph:
Definition of examples
{% docublock general_graph_example_description %}
Get vertices from edges.
Get vertex from of an edge
Get the source vertex of an edge
graph._fromVertex(edgeId)
Returns the vertex defined with the attribute _from of the edge with edgeId as its _id.
Parameters
- edgeId (required) _id attribute of the edge
Examples {% arangoshexample examplevar="examplevar" script="script" result="result" %}
@startDocuBlockInline generalGraphGetFromVertex
@EXAMPLE_ARANGOSH_OUTPUT{generalGraphGetFromVertex}
var examples = require("@arangodb/graph-examples/example-graph.js");
var graph = examples.loadGraph("social");
var any = require("@arangodb").db.relation.any();
graph._fromVertex("relation/" + any._key);
~ examples.dropGraph("social");
@END_EXAMPLE_ARANGOSH_OUTPUT
@endDocuBlock generalGraphGetFromVertex
{% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %}
Get vertex to of an edge
Get the target vertex of an edge
graph._toVertex(edgeId)
Returns the vertex defined with the attribute _to of the edge with edgeId as its _id.
Parameters
- edgeId (required) _id attribute of the edge
Examples {% arangoshexample examplevar="examplevar" script="script" result="result" %}
@startDocuBlockInline generalGraphGetToVertex
@EXAMPLE_ARANGOSH_OUTPUT{generalGraphGetToVertex}
var examples = require("@arangodb/graph-examples/example-graph.js");
var graph = examples.loadGraph("social");
var any = require("@arangodb").db.relation.any();
graph._toVertex("relation/" + any._key);
~ examples.dropGraph("social");
@END_EXAMPLE_ARANGOSH_OUTPUT
@endDocuBlock generalGraphGetToVertex
{% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %}
_neighbors
Get all neighbors of the vertices defined by the example
graph._neighbors(vertexExample, options)
The function accepts an id, an example, a list of examples or even an empty example as parameter for vertexExample. The complexity of this method is O(n*m^x) with n being the vertices defined by the parameter vertexExamplex, m the average amount of neighbors and x the maximal depths. Hence the default call would have a complexity of O(n*m);
Parameters
- vertexExample (optional) See Definition of examples
- options (optional) An object defining further options. Can have the following values:
- direction: The direction of the edges. Possible values are outbound, inbound and any (default).
- edgeExamples: Filter the edges, see Definition of examples
- neighborExamples: Filter the neighbor vertices, see Definition of examples
- edgeCollectionRestriction : One or a list of edge-collection names that should be considered to be on the path.
- vertexCollectionRestriction : One or a list of vertex-collection names that should be considered on the intermediate vertex steps.
- minDepth: Defines the minimal number of intermediate steps to neighbors (default is 1).
- maxDepth: Defines the maximal number of intermediate steps to neighbors (default is 1).
Examples
A route planner example, all neighbors of capitals. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleNeighbors1 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleNeighbors1} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._neighbors({isCapital : true}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleNeighbors1 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} A route planner example, all outbound neighbors of Hamburg. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleNeighbors2 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleNeighbors2} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._neighbors('germanCity/Hamburg', {direction : 'outbound', maxDepth : 2}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleNeighbors2 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %}
_commonNeighbors
Get all common neighbors of the vertices defined by the examples.
graph._commonNeighbors(vertex1Example, vertex2Examples, optionsVertex1, optionsVertex2)
This function returns the intersection of graph_module._neighbors(vertex1Example, optionsVertex1) and graph_module._neighbors(vertex2Example, optionsVertex2). For parameter documentation see _neighbors.
The complexity of this method is O(n*m^x) with n being the maximal amount of vertices defined by the parameters vertexExamples, m the average amount of neighbors and x the maximal depths. Hence the default call would have a complexity of O(n*m);
Examples
A route planner example, all common neighbors of capitals. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleCommonNeighbors1 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleCommonNeighbors1} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._commonNeighbors({isCapital : true}, {isCapital : true}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleCommonNeighbors1 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} A route planner example, all common outbound neighbors of Hamburg with any other location which have a maximal depth of 2 : {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleCommonNeighbors2 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleCommonNeighbors2} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); | graph._commonNeighbors( | 'germanCity/Hamburg', | {}, | {direction : 'outbound', maxDepth : 2}, {direction : 'outbound', maxDepth : 2}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleCommonNeighbors2 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %}
_countCommonNeighbors
Get the amount of common neighbors of the vertices defined by the examples.
graph._countCommonNeighbors(vertex1Example, vertex2Examples, optionsVertex1, optionsVertex2)
Similar to _commonNeighbors but returns count instead of the elements.
Examples
A route planner example, all common neighbors of capitals. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleCommonNeighborsAmount1 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleCommonNeighborsAmount1} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); var example = { isCapital: true }; var options = { includeData: true }; graph._countCommonNeighbors(example, example, options, options); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleCommonNeighborsAmount1 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} A route planner example, all common outbound neighbors of Hamburg with any other location which have a maximal depth of 2 : {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleCommonNeighborsAmount2 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleCommonNeighborsAmount2} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); var options = { direction: 'outbound', maxDepth: 2, includeData: true }; graph._countCommonNeighbors('germanCity/Hamburg', {}, options, options); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleCommonNeighborsAmount2 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %}
_commonProperties
Get the vertices of the graph that share common properties.
graph._commonProperties(vertex1Example, vertex2Examples, options)
The function accepts an id, an example, a list of examples or even an empty example as parameter for vertex1Example and vertex2Example.
The complexity of this method is O(n) with n being the maximal amount of vertices defined by the parameters vertexExamples.
Parameters
- vertex1Examples (optional) Filter the set of source vertices, see Definition of examples
- vertex2Examples (optional) Filter the set of vertices compared to, see Definition of examples
- options (optional) An object defining further options. Can have the following values:
- vertex1CollectionRestriction : One or a list of vertex-collection names that should be searched for source vertices.
- vertex2CollectionRestriction : One or a list of vertex-collection names that should be searched for compare vertices.
- ignoreProperties : One or a list of attribute names of a document that should be ignored.
Examples
A route planner example, all locations with the same properties: {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleProperties1 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleProperties1} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._commonProperties({}, {}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleProperties1 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} A route planner example, all cities which share same properties except for population. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleProperties2 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleProperties2} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._commonProperties({}, {}, {ignoreProperties: 'population'}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleProperties2 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %}
_countCommonProperties
Get the amount of vertices of the graph that share common properties.
graph._countCommonProperties(vertex1Example, vertex2Examples, options)
Similar to _commonProperties but returns count instead of the objects.
Examples
A route planner example, all locations with the same properties: {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleAmountProperties1 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleAmountProperties1} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._countCommonProperties({}, {}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleAmountProperties1 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} A route planner example, all German cities which share same properties except for population. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleAmountProperties2 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleAmountProperties2} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); | graph._countCommonProperties({}, {}, {vertex1CollectionRestriction : 'germanCity', vertex2CollectionRestriction : 'germanCity' ,ignoreProperties: 'population'}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleAmountProperties2 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %}
_paths
The _paths function returns all paths of a graph.
graph._paths(options)
This function determines all available paths in a graph.
The complexity of this method is O(n*n*m) with n being the amount of vertices in the graph and m the average amount of connected edges;
Parameters
- options (optional) An object containing options, see below:
- direction: The direction of the edges. Possible values are any, inbound and outbound (default).
- followCycles (optional): If set to true the query follows cycles in the graph, default is false.
- minLength (optional): Defines the minimal length a path must have to be returned (default is 0).
- maxLength (optional): Defines the maximal length a path must have to be returned (default is 10).
Examples
Return all paths of the graph "social": {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModulePaths1 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModulePaths1} var examples = require("@arangodb/graph-examples/example-graph.js"); var g = examples.loadGraph("social"); g._paths(); ~ examples.dropGraph("social"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModulePaths1 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} Return all inbound paths of the graph "social" with a maximal length of 1 and a minimal length of 2: {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModulePaths2 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModulePaths2} var examples = require("@arangodb/graph-examples/example-graph.js"); var g = examples.loadGraph("social"); g._paths({direction : 'inbound', minLength : 1, maxLength : 2}); ~ examples.dropGraph("social"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModulePaths2 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %}
_shortestPath
The _shortestPath function returns all shortest paths of a graph.
graph._shortestPath(startVertexExample, endVertexExample, options)
This function determines all shortest paths in a graph. The function accepts an id, an example, a list of examples or even an empty example as parameter for start and end vertex. The length of a path is by default the amount of edges from one start vertex to an end vertex. The option weight allows the user to define an edge attribute representing the length.
Parameters
- startVertexExample (optional) An example for the desired start Vertices (see Definition of examples).
- endVertexExample (optional) An example for the desired end Vertices (see Definition of examples).
- options (optional) An object containing options, see below:
- direction: The direction of the edges as a string. Possible values are outbound, inbound and any (default).
- edgeCollectionRestriction: One or multiple edge collection names. Only edges from these collections will be considered for the path.
- startVertexCollectionRestriction: One or multiple vertex collection names. Only vertices from these collections will be considered as start vertex of a path.
- endVertexCollectionRestriction: One or multiple vertex collection names. Only vertices from these collections will be considered as end vertex of a path.
- weight: The name of the attribute of the edges containing the length as a string.
- defaultWeight: Only used with the option weight. If an edge does not have the attribute named as defined in option weight this default is used as length. If no default is supplied the default would be positive Infinity so the path could not be calculated.
Examples
A route planner example, shortest path from all german to all french cities: {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleShortestPaths1 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleShortestPaths1} var examples = require("@arangodb/graph-examples/example-graph.js"); var g = examples.loadGraph("routeplanner"); | g._shortestPath({}, {}, {weight : 'distance', endVertexCollectionRestriction : 'frenchCity', startVertexCollectionRestriction : 'germanCity'}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleShortestPaths1 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} A route planner example, shortest path from Hamburg and Cologne to Lyon: {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleShortestPaths2 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleShortestPaths2} var examples = require("@arangodb/graph-examples/example-graph.js"); var g = examples.loadGraph("routeplanner"); | g._shortestPath([{_id: 'germanCity/Cologne'},{_id: 'germanCity/Munich'}], 'frenchCity/Lyon', {weight : 'distance'}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleShortestPaths2 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %}
_distanceTo
The _distanceTo function returns all paths and there distance within a graph.
graph._distanceTo(startVertexExample, endVertexExample, options)
This function is a wrapper of graph._shortestPath. It does not return the actual path but only the distance between two vertices.
Examples
A route planner example, shortest distance from all german to all french cities: {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleDistanceTo1 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleDistanceTo1} var examples = require("@arangodb/graph-examples/example-graph.js"); var g = examples.loadGraph("routeplanner"); | g._distanceTo({}, {}, {weight : 'distance', endVertexCollectionRestriction : 'frenchCity', startVertexCollectionRestriction : 'germanCity'}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleDistanceTo1 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} A route planner example, shortest distance from Hamburg and Cologne to Lyon: {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleDistanceTo2 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleDistanceTo2} var examples = require("@arangodb/graph-examples/example-graph.js"); var g = examples.loadGraph("routeplanner"); | g._distanceTo([{_id: 'germanCity/Cologne'},{_id: 'germanCity/Munich'}], 'frenchCity/Lyon', {weight : 'distance'}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleDistanceTo2 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %}
_absoluteEccentricity
Get the eccentricity{:target="_blank"} of the vertices defined by the examples.
graph._absoluteEccentricity(vertexExample, options)
The function accepts an id, an example, a list of examples or even an empty example as parameter for vertexExample.
Parameters
- vertexExample (optional) Filter the vertices, see Definition of examples
- options (optional) An object defining further options. Can have the following values:
- direction: The direction of the edges. Possible values are outbound, inbound and any (default).
- edgeCollectionRestriction : One or a list of edge-collection names that should be considered to be on the path.
- startVertexCollectionRestriction : One or a list of vertex-collection names that should be considered for source vertices.
- endVertexCollectionRestriction : One or a list of vertex-collection names that should be considered for target vertices.
- weight: The name of the attribute of the edges containing the weight.
- defaultWeight: Only used with the option weight. If an edge does not have the attribute named as defined in option weight this default is used as weight. If no default is supplied the default would be positive infinity so the path and hence the eccentricity can not be calculated.
Examples
A route planner example, the absolute eccentricity of all locations. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleAbsEccentricity1 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleAbsEccentricity1} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._absoluteEccentricity({}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleAbsEccentricity1 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} A route planner example, the absolute eccentricity of all locations. This considers the actual distances. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleAbsEccentricity2 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleAbsEccentricity2} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._absoluteEccentricity({}, {weight : 'distance'}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleAbsEccentricity2 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} A route planner example, the absolute eccentricity of all cities regarding only outbound paths. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleAbsEccentricity3 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleAbsEccentricity3} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); | graph._absoluteEccentricity({}, {startVertexCollectionRestriction : 'germanCity', direction : 'outbound', weight : 'distance'}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleAbsEccentricity3 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %}
_eccentricity
Get the normalized eccentricity{:target="_blank"} of the vertices defined by the examples.
graph._eccentricity(vertexExample, options)
Similar to _absoluteEccentricity but returns a normalized result.
Examples
A route planner example, the eccentricity of all locations. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleEccentricity2 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleEccentricity2} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._eccentricity(); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleEccentricity2 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} A route planner example, the weighted eccentricity. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleEccentricity3 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleEccentricity3} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._eccentricity({weight : 'distance'}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleEccentricity3 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %}
_absoluteCloseness
Get the closeness{:target="_blank"} of the vertices defined by the examples.
graph._absoluteCloseness(vertexExample, options)
The function accepts an id, an example, a list of examples or even an empty example as parameter for vertexExample.
Parameters
- vertexExample (optional) Filter the vertices, see Definition of examples
- options (optional) An object defining further options. Can have the following values:
- direction: The direction of the edges. Possible values are outbound, inbound and any (default).
- edgeCollectionRestriction : One or a list of edge-collection names that should be considered to be on the path.
- startVertexCollectionRestriction : One or a list of vertex-collection names that should be considered for source vertices.
- endVertexCollectionRestriction : One or a list of vertex-collection names that should be considered for target vertices.
- weight: The name of the attribute of the edges containing the weight.
- defaultWeight: Only used with the option weight. If an edge does not have the attribute named as defined in option weight this default is used as weight. If no default is supplied the default would be positive infinity so the path and hence the closeness can not be calculated.
Examples
A route planner example, the absolute closeness of all locations. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleAbsCloseness1 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleAbsCloseness1} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._absoluteCloseness({}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleAbsCloseness1 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} A route planner example, the absolute closeness of all locations. This considers the actual distances. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleAbsCloseness2 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleAbsCloseness2} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._absoluteCloseness({}, {weight : 'distance'}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleAbsCloseness2 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} A route planner example, the absolute closeness of all German Cities regarding only outbound paths. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleAbsCloseness3 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleAbsCloseness3} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); | graph._absoluteCloseness({}, {startVertexCollectionRestriction : 'germanCity', direction : 'outbound', weight : 'distance'}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleAbsCloseness3 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %}
_closeness
Get the normalized closeness{:target="_blank"} of graphs vertices.
graph._closeness(options)
Similar to _absoluteCloseness but returns a normalized value.
Examples
A route planner example, the normalized closeness of all locations. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleCloseness1 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleCloseness1} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._closeness(); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleCloseness1 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} A route planner example, the closeness of all locations. This considers the actual distances. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleCloseness2 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleCloseness2} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._closeness({weight : 'distance'}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleCloseness2 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} A route planner example, the closeness of all cities regarding only outbound paths. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleCloseness3 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleCloseness3} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._closeness({direction : 'outbound', weight : 'distance'}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleCloseness3 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %}
_absoluteBetweenness
Get the betweenness{:target="_blank"} of all vertices in the graph.
graph._absoluteBetweenness(vertexExample, options)
Parameters
- vertexExample (optional) Filter the vertices, see Definition of examples
- options (optional) An object defining further options. Can have the following values:
- direction: The direction of the edges. Possible values are outbound, inbound and any (default).
- weight: The name of the attribute of the edges containing the weight.
- defaultWeight: Only used with the option weight. If an edge does not have the attribute named as defined in option weight this default is used as weight. If no default is supplied the default would be positive infinity so the path and hence the betweenness can not be calculated.
Examples
A route planner example, the absolute betweenness of all locations. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleAbsBetweenness1 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleAbsBetweenness1} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._absoluteBetweenness({}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleAbsBetweenness1 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} A route planner example, the absolute betweenness of all locations. This considers the actual distances. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleAbsBetweenness2 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleAbsBetweenness2} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._absoluteBetweenness({weight : 'distance'}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleAbsBetweenness2 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} A route planner example, the absolute betweenness of all cities regarding only outbound paths. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleAbsBetweenness3 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleAbsBetweenness3} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._absoluteBetweenness({direction : 'outbound', weight : 'distance'}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleAbsBetweenness3 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %}
_betweenness
Get the normalized betweenness{:target="_blank"} of graphs vertices.
graph_module._betweenness(options)
Similar to _absoluteBetweenness but returns normalized values.
Examples
A route planner example, the betweenness of all locations. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleBetweenness1 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleBetweenness1} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._betweenness(); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleBetweenness1 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} A route planner example, the betweenness of all locations. This considers the actual distances. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleBetweenness2 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleBetweenness2} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._betweenness({weight : 'distance'}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleBetweenness2 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} A route planner example, the betweenness of all cities regarding only outbound paths. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleBetweenness3 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleBetweenness3} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._betweenness({direction : 'outbound', weight : 'distance'}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleBetweenness3 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %}
_radius
Get the radius{:target="_blank"} of a graph.
`
Parameters
- options (optional) An object defining further options. Can have the following values:
- direction: The direction of the edges. Possible values are outbound, inbound and any (default).
- weight: The name of the attribute of the edges containing the weight.
- defaultWeight: Only used with the option weight. If an edge does not have the attribute named as defined in option weight this default is used as weight. If no default is supplied the default would be positive infinity so the path and hence the radius can not be calculated.
Examples
A route planner example, the radius of the graph. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleRadius1 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleRadius1} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._radius(); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleRadius1 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} A route planner example, the radius of the graph. This considers the actual distances. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleRadius2 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleRadius2} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._radius({weight : 'distance'}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleRadius2 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} A route planner example, the radius of the graph regarding only outbound paths. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleRadius3 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleRadius3} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._radius({direction : 'outbound', weight : 'distance'}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleRadius3 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %}
_diameter
Get the diameter{:target="_blank"} of a graph.
graph._diameter(graphName, options)
Parameters
- options (optional) An object defining further options. Can have the following values:
- direction: The direction of the edges. Possible values are outbound, inbound and any (default).
- weight: The name of the attribute of the edges containing the weight.
- defaultWeight: Only used with the option weight. If an edge does not have the attribute named as defined in option weight this default is used as weight. If no default is supplied the default would be positive infinity so the path and hence the radius can not be calculated.
Examples
A route planner example, the diameter of the graph. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleDiameter1 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleDiameter1} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._diameter(); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleDiameter1 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} A route planner example, the diameter of the graph. This considers the actual distances. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleDiameter2 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleDiameter2} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._diameter({weight : 'distance'}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleDiameter2 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %} A route planner example, the diameter of the graph regarding only outbound paths. {% arangoshexample examplevar="examplevar" script="script" result="result" %} @startDocuBlockInline generalGraphModuleDiameter3 @EXAMPLE_ARANGOSH_OUTPUT{generalGraphModuleDiameter3} var examples = require("@arangodb/graph-examples/example-graph.js"); var graph = examples.loadGraph("routeplanner"); graph._diameter({direction : 'outbound', weight : 'distance'}); ~ examples.dropGraph("routeplanner"); @END_EXAMPLE_ARANGOSH_OUTPUT @endDocuBlock generalGraphModuleDiameter3 {% endarangoshexample %} {% include arangoshexample.html id=examplevar script=script result=result %}