mirror of https://gitee.com/bigwinds/arangodb
Doc - Add documentation for k Shortest Paths (#8836)
This commit is contained in:
parent
431537d352
commit
3109dd6747
|
@ -0,0 +1,220 @@
|
|||
k Shortest Paths in AQL
|
||||
=======================
|
||||
|
||||
General query idea
|
||||
--------------------
|
||||
|
||||
This type of query is supposed to find the first *k* paths in order of length
|
||||
(or weight) between two given documents, *startVertex* and *targetVertex* in
|
||||
your graph.
|
||||
|
||||
Every such path will be returned as a JSON object with three components:
|
||||
|
||||
- an array containing the `vertices` on the path
|
||||
- an array containing the `edges` on the path
|
||||
- the `weight` of the path, that is the sum of all edge weights
|
||||
|
||||
If no *weightAttribute* is given, the weight of the path is just its length.
|
||||
|
||||
**Example**
|
||||
|
||||
Let su take a look at a simple example to explain how it works.
|
||||
This is the graph that we are going to find some shortest path on:
|
||||
|
||||

|
||||
|
||||
Each ellipse stands for a train station with the name of the city written inside
|
||||
of it. They are the vertices of the graph. Arrows represent train connections
|
||||
between cities and are the edges of the graph. The numbers near the arrows
|
||||
describe how long it takes to get from one station to another. They are used
|
||||
as edge weights.
|
||||
|
||||
Let us assume that we want to go from **Aberdeen** to **London** by train.
|
||||
|
||||
We expect to see the following vertices on *the* shortest path, in this order:
|
||||
|
||||
1. Aberdeen
|
||||
2. Leuchars
|
||||
3. Edinburgh
|
||||
4. York
|
||||
5. London
|
||||
|
||||
By the way, the weight of the path is: 1.5 + 1.5 + 3.5 + 1.8 = **8.3**.
|
||||
|
||||
Let us look at alternative paths next, for example because we know that the
|
||||
direct connection between York and London does not operate currently.
|
||||
An alternative path, which is slightly longer, goes like this:
|
||||
|
||||
1. Aberdeen
|
||||
2. Leuchars
|
||||
3. Edinburgh
|
||||
4. York
|
||||
5. **Carlisle**
|
||||
6. **Birmingham**
|
||||
7. London
|
||||
|
||||
Its weight is: 1.5 + 1.5 + 3.5 + 2.0 + 1.5 = **10.0**.
|
||||
|
||||
Another route goes via Glasgow. There are seven stations on the path as well,
|
||||
however, it is quicker if we compare the edge weights:
|
||||
|
||||
1. Aberdeen
|
||||
2. Leuchars
|
||||
3. Edinburgh
|
||||
4. **Glasgow**
|
||||
5. Carlisle
|
||||
6. Birmingham
|
||||
7. London
|
||||
|
||||
The path weight is lower: 1.5 + 1.5 + 1.0 + 1.0 + 2.0 + 1.5 = **8.5**.
|
||||
|
||||
Syntax
|
||||
------
|
||||
|
||||
The syntax for k Shortest Paths queries is similar to the one for
|
||||
[Shortest Path](ShortestPath.md) and there are also two options to either
|
||||
use a named graph or a set of edge collections. It only emits a path
|
||||
variable however, whereas SHORTEST_PATH emits a vertex and an edge variable.
|
||||
|
||||
{% hint 'warning' %}
|
||||
It is highly recommended that you use a **LIMIT** statement, as
|
||||
k Shortest Paths is a potentially expensive operation. On large connected
|
||||
graphs it can return a large number of paths, or perform an expensive
|
||||
(but unsuccessful) search for more short paths.
|
||||
{% endhint %}
|
||||
|
||||
### Working with named graphs
|
||||
|
||||
```
|
||||
FOR path
|
||||
IN OUTBOUND|INBOUND|ANY K_SHORTEST_PATHS
|
||||
startVertex TO targetVertex
|
||||
GRAPH graphName
|
||||
[OPTIONS options]
|
||||
[LIMIT offset, count]
|
||||
```
|
||||
|
||||
- `FOR`: emits the variable **path** which contains one path as an object containing
|
||||
`vertices`, `edges`, and the `weight` of the path.
|
||||
- `IN` `OUTBOUND|INBOUND|ANY`: defines in which direction
|
||||
edges are followed (outgoing, incoming, or both)
|
||||
- `K_SHORTEST_PATHS`: the keyword to compute k Shortest Paths
|
||||
- **startVertex** `TO` **targetVertex** (both string|object): the two vertices between
|
||||
which the paths will be computed. This can be specified in the form of
|
||||
a ID string or in the form of a document with the attribute `_id`. All other
|
||||
values will lead to a warning and an empty result. If one of the specified
|
||||
documents does not exist, the result is empty as well and there is no warning.
|
||||
- `GRAPH` **graphName** (string): the name identifying the named graph. Its vertex and
|
||||
edge collections will be looked up.
|
||||
- `OPTIONS` **options** (object, *optional*): used to modify the execution of the
|
||||
traversal. Only the following attributes have an effect, all others are ignored:
|
||||
- **weightAttribute** (string): a top-level edge attribute that should be used
|
||||
to read the edge weight. If the attribute does not exist or is not numeric, the
|
||||
*defaultWeight* will be used instead.
|
||||
- **defaultWeight** (number): this value will be used as fallback if there is
|
||||
no *weightAttribute* in the edge document, or if it's not a number. The default
|
||||
is 1.
|
||||
- `LIMIT` (see [LIMIT operation](../Operations/Limit.html), *optional*):
|
||||
the maximal number of paths to return. It is highly recommended to use
|
||||
a `LIMIT` for `K_SHORTEST_PATHS`.
|
||||
|
||||
### Working with collection sets
|
||||
|
||||
```
|
||||
FOR path
|
||||
IN OUTBOUND|INBOUND|ANY K_SHORTEST_PATHS
|
||||
startVertex TO targetVertex
|
||||
edgeCollection1, ..., edgeCollectionN
|
||||
[OPTIONS options]
|
||||
[LIMIT offset, count]
|
||||
```
|
||||
|
||||
Instead of `GRAPH graphName` you can specify a list of edge collections.
|
||||
The involved vertex collections are determined by the edges of the given
|
||||
edge collections.
|
||||
|
||||
### Traversing in mixed directions
|
||||
|
||||
For k shortest paths with a list of edge collections you can optionally specify the
|
||||
direction for some of the edge collections. Say for example you have three edge
|
||||
collections *edges1*, *edges2* and *edges3*, where in *edges2* the direction
|
||||
has no relevance, but in *edges1* and *edges3* the direction should be taken into
|
||||
account. In this case you can use *OUTBOUND* as general search direction and *ANY*
|
||||
specifically for *edges2* as follows:
|
||||
|
||||
```
|
||||
FOR vertex IN OUTBOUND K_SHORTEST_PATHS
|
||||
startVertex TO targetVertex
|
||||
edges1, ANY edges2, edges3
|
||||
```
|
||||
|
||||
All collections in the list that do not specify their own direction will use the
|
||||
direction defined after `IN` (here: `OUTBOUND`). This allows to use a different
|
||||
direction for each collection in your path search.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
We load an example graph to get a named graph that reflects some possible
|
||||
train connections in Europe and North America.
|
||||
|
||||

|
||||
|
||||
@startDocuBlockInline GRAPHKSP_01_create_graph
|
||||
@EXAMPLE_ARANGOSH_OUTPUT{GRAPHKSP_01_create_graph}
|
||||
~addIgnoreCollection("places");
|
||||
~addIgnoreCollection("connections");
|
||||
var examples = require("@arangodb/graph-examples/example-graph.js");
|
||||
var graph = examples.loadGraph("kShortestPathsGraph");
|
||||
db.places.toArray();
|
||||
db.connections.toArray();
|
||||
@END_EXAMPLE_ARANGOSH_OUTPUT
|
||||
@endDocuBlock GRAPHKSP_01_create_graph
|
||||
|
||||
Suppose we want to query a route from **Aberdeen** to **London**, and compare
|
||||
the outputs of SHORTEST_PATH and K_SHORTEST_PATHS with LIMIT 1. Note that while
|
||||
SHORTEST_PATH and K_SHORTEST_PATH with LIMIT 1 should return a path of the same
|
||||
length (or weight), they do not need to return the same path.
|
||||
|
||||
@startDocuBlockInline GRAPHKSP_02_Aberdeen_to_London
|
||||
@EXAMPLE_ARANGOSH_OUTPUT{GRAPHKSP_02_Aberdeen_to_London}
|
||||
db._query("FOR v, e IN OUTBOUND SHORTEST_PATH 'places/Aberdeen' TO 'places/London' GRAPH 'shortestPathsGraph' RETURN [v,e]");
|
||||
db._query("FOR p IN OUTBOUND K_SHORTEST_PATHS 'places/Aberdeen' TO 'places/London' GRAPH 'shortestPathsGraph' LIMIT 1 RETURN p");
|
||||
@END_EXAMPLE_ARANGOSH_OUTPUT
|
||||
@endDocuBlock GRAPHKSP_02_Aberdeen_to_London
|
||||
|
||||
Next, we can ask for more than one option for a route:
|
||||
|
||||
@startDocuBlockInline GRAPHKSP_03_Aberdeen_to_London
|
||||
@EXAMPLE_ARANGOSH_OUTPUT{GRAPHKSP_03_Aberdeen_to_London}
|
||||
db._query("FOR p IN OUTBOUND K_SHORTEST_PATHS 'places/Aberdeen' TO 'places/London' GRAPH 'shortestPathsGraph' LIMIT 3 RETURN p");
|
||||
@END_EXAMPLE_ARANGOSH_OUTPUT
|
||||
@endDocuBlock GRAPHKSP_03_Aberdeen_to_London
|
||||
|
||||
If we ask for routes that don't exist we get an empty result:
|
||||
|
||||
@startDocuBlockInline GRAPHKSP_04_Aberdeen_to_Toronto
|
||||
@EXAMPLE_ARANGOSH_OUTPUT{GRAPHKSP_04_Aberdeen_to_Toronto}
|
||||
db._query("FOR p IN OUTBOUND K_SHORTEST_PATHS 'places/Aberdeen' TO 'places/Toronto' GRAPH 'shortestPathsGraph' LIMIT 3 RETURN p");
|
||||
@END_EXAMPLE_ARANGOSH_OUTPUT
|
||||
@endDocuBlock GRAPHKSP_04_Aberdeen_to_Toronto
|
||||
|
||||
We can use the attribute *travelTime* that connections have as edge weights to
|
||||
take into account which connections are quicker:
|
||||
|
||||
@startDocuBlockInline GRAPHKSP_05_StAndrews_to_Cologne
|
||||
@EXAMPLE_ARANGOSH_OUTPUT{GRAPHKSP_05_StAndrews_to_Cologne}
|
||||
db._query("FOR p IN OUTBOUND K_SHORTEST_PATHS 'places/StAndrews' TO 'places/Cologne' GRAPH 'shortestPathsGraph' OPTIONS { 'weightAttribute': 'travelTime', defaultWeight: '15'} LIMIT 3 RETURN p");
|
||||
@END_EXAMPLE_ARANGOSH_OUTPUT
|
||||
@endDocuBlock GRAPHKSP_05_StAndrews_to_Cologne
|
||||
|
||||
And finally clean up by removing the named graph:
|
||||
|
||||
@startDocuBlockInline GRAPHKSP_99_drop_graph
|
||||
@EXAMPLE_ARANGOSH_OUTPUT{GRAPHKSP_99_drop_graph}
|
||||
var examples = require("@arangodb/graph-examples/example-graph.js");
|
||||
examples.dropGraph("kShortestPathsGraph");
|
||||
~removeIgnoreCollection("places");
|
||||
~removeIgnoreCollection("connections");
|
||||
@END_EXAMPLE_ARANGOSH_OUTPUT
|
||||
@endDocuBlock GRAPHKSP_99_drop_graph
|
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
|
@ -50,6 +50,7 @@
|
|||
* [Traversals explained](Graphs/TraversalsExplained.md)
|
||||
* [Traversals](Graphs/Traversals.md)
|
||||
* [Shortest Path](Graphs/ShortestPath.md)
|
||||
* [k Shortest Paths](Graphs/KShortestPaths.md)
|
||||
* [ArangoSearch Views](Views/README.md)
|
||||
* [Usage](Views/ArangoSearch/README.md)
|
||||
* [Advanced Features](Advanced/README.md)
|
||||
|
|
|
@ -62,6 +62,12 @@ AQL now allows the usage of floating point values without leading zeros, e.g.
|
|||
`.1234`. Previous versions of ArangoDB required a leading zero in front of
|
||||
the decimal separator, i.e `0.1234`.
|
||||
|
||||
### k Shortest Paths queries
|
||||
|
||||
AQL now allows to perform k Shortest Paths queries, that is, query a number of
|
||||
paths of increasing length from a start vertex to a target vertex. For more details,
|
||||
see the [k Shortest Paths documentation](../../AQL/Graphs/KShortestPaths.html).
|
||||
|
||||
|
||||
Smart Joins
|
||||
-----------
|
||||
|
|
|
@ -0,0 +1,404 @@
|
|||
arangosh> <span class="hljs-keyword">var</span> examples = <span class="hljs-built_in">require</span>(<span class="hljs-string">"@arangodb/graph-examples/example-graph.js"</span>);
|
||||
arangosh> <span class="hljs-keyword">var</span> graph = examples.loadGraph(<span class="hljs-string">"kShortestPathsGraph"</span>);
|
||||
arangosh> db.places.toArray();
|
||||
[
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"York"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6e--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"York"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Cologne"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Cologne"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6u--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Cologne"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Birmingham"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Birmingham"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6m--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Birmingham"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"London"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6m--B"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"London"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"StAndrews"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/StAndrews"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6W--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"StAndrews"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Jasper"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Jasper"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7---_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Jasper"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Saskatoon"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Saskatoon"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H62--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Saskatoon"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Winnipeg"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Winnipeg"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6y--B"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Winnipeg"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Toronto"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Toronto"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6y--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Toronto"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Aberdeen"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Aberdeen"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6O--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Aberdeen"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Glasgow"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Glasgow"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6a--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Glasgow"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Vancouver"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Vancouver"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7---B"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Vancouver"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Inverness"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Inverness"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6K--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Inverness"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Edmonton"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Edmonton"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H66--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Edmonton"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Edinburgh"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6W--B"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Edinburgh"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Brussels"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Brussels"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6q--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Brussels"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Carlisle"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Carlisle"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6i--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Carlisle"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Leuchars"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6S--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Leuchars"</span>
|
||||
}
|
||||
]
|
||||
arangosh> db.connections.toArray();
|
||||
[
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98528"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98528"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7S--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98612"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98612"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Edmonton"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Jasper"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8q--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">6</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98585"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98585"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Brussels"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8K--B"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">0.4</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98600"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98600"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Winnipeg"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Saskatoon"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8a--B"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">12</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98591"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98591"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Cologne"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Brussels"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8S--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">0.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98606"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98606"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Saskatoon"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Edmonton"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8i--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">12</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98549"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98549"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Carlisle"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Glasgow"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7m--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98573"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98573"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/StAndrews"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8---B"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98534"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98534"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Glasgow"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7W--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98588"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98588"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Brussels"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Cologne"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8O--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">2</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98531"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98531"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7S--B"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">0.6666666666666666</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98558"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98558"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Carlisle"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Birmingham"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7y--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">2</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98543"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98543"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7i--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">0.2857142857142857</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98570"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98570"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/StAndrews"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8---_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">0.2</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98582"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98582"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Brussels"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8K--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">2.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98597"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98597"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Winnipeg"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Toronto"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8a--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">0.027777777777777776</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98603"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98603"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Saskatoon"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Winnipeg"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8e--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">0.08333333333333333</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98555"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98555"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Carlisle"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7u--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">0.4</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98621"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98621"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Vancouver"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Jasper"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8y--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">0.08333333333333333</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98609"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98609"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Edmonton"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Saskatoon"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8m--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">0.08333333333333333</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98615"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98615"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Jasper"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Edmonton"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8u--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">0.16666666666666666</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98576"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98576"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8C--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.8</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98552"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98552"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Carlisle"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7q--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">2.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98567"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98567"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Birmingham"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H76--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">0.6666666666666666</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98537"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98537"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Glasgow"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7a--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98618"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98618"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Jasper"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Vancouver"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8u--B"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">12</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98579"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98579"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8G--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">0.5555555555555556</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98522"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98522"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Aberdeen"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7K--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98515"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98515"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Inverness"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Aberdeen"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7C--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">3</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98540"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98540"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7e--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">3.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98519"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98519"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Aberdeen"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Inverness"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7G--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">0.3333333333333333</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98564"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98564"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Birmingham"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H72--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98546"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98546"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Glasgow"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Carlisle"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7i--B"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98561"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98561"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Birmingham"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Carlisle"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7y--B"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">0.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98525"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98525"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Aberdeen"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7O--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">0.6666666666666666</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98594"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98594"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Toronto"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Winnipeg"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8W--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">36</span>
|
||||
}
|
||||
]
|
|
@ -0,0 +1,150 @@
|
|||
arangosh> db._query(<span class="hljs-string">"FOR v, e IN OUTBOUND SHORTEST_PATH 'places/Aberdeen' TO 'places/London' GRAPH 'shortestPathsGraph' RETURN [v,e]"</span>);
|
||||
[
|
||||
[
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Aberdeen"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Aberdeen"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6O--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Aberdeen"</span>
|
||||
},
|
||||
<span class="hljs-literal">null</span>
|
||||
],
|
||||
[
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Leuchars"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6S--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Leuchars"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98522"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98522"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Aberdeen"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7K--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.5</span>
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Edinburgh"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6W--B"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Edinburgh"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98528"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98528"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7S--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.5</span>
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"York"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6e--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"York"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98540"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98540"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7e--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">3.5</span>
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"London"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6m--B"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"London"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98576"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98576"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8C--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.8</span>
|
||||
}
|
||||
]
|
||||
]
|
||||
[object ArangoQueryCursor, <span class="hljs-attr">count</span>: <span class="hljs-number">5</span>, <span class="hljs-attr">cached</span>: <span class="hljs-literal">false</span>, <span class="hljs-attr">hasMore</span>: <span class="hljs-literal">false</span>]
|
||||
arangosh> db._query(<span class="hljs-string">"FOR p IN OUTBOUND K_SHORTEST_PATHS 'places/Aberdeen' TO 'places/London' GRAPH 'shortestPathsGraph' LIMIT 1 RETURN p"</span>);
|
||||
[
|
||||
{
|
||||
<span class="hljs-string">"edges"</span> : [
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98522"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98522"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Aberdeen"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7K--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98528"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98528"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7S--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98540"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98540"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7e--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">3.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98576"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98576"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8C--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.8</span>
|
||||
}
|
||||
],
|
||||
<span class="hljs-string">"vertices"</span> : [
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Aberdeen"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Aberdeen"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6O--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Aberdeen"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Leuchars"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6S--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Leuchars"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Edinburgh"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6W--B"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Edinburgh"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"York"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6e--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"York"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"London"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6m--B"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"London"</span>
|
||||
}
|
||||
],
|
||||
<span class="hljs-string">"weight"</span> : <span class="hljs-number">4</span>
|
||||
}
|
||||
]
|
||||
[object ArangoQueryCursor, <span class="hljs-attr">count</span>: <span class="hljs-number">1</span>, <span class="hljs-attr">cached</span>: <span class="hljs-literal">false</span>, <span class="hljs-attr">hasMore</span>: <span class="hljs-literal">false</span>]
|
|
@ -0,0 +1,267 @@
|
|||
arangosh> db._query(<span class="hljs-string">"FOR p IN OUTBOUND K_SHORTEST_PATHS 'places/Aberdeen' TO 'places/London' GRAPH 'shortestPathsGraph' LIMIT 3 RETURN p"</span>);
|
||||
[
|
||||
{
|
||||
<span class="hljs-string">"edges"</span> : [
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98522"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98522"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Aberdeen"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7K--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98528"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98528"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7S--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98540"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98540"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7e--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">3.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98576"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98576"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8C--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.8</span>
|
||||
}
|
||||
],
|
||||
<span class="hljs-string">"vertices"</span> : [
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Aberdeen"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Aberdeen"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6O--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Aberdeen"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Leuchars"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6S--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Leuchars"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Edinburgh"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6W--B"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Edinburgh"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"York"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6e--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"York"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"London"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6m--B"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"London"</span>
|
||||
}
|
||||
],
|
||||
<span class="hljs-string">"weight"</span> : <span class="hljs-number">4</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"edges"</span> : [
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98522"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98522"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Aberdeen"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7K--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98528"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98528"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7S--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98540"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98540"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7e--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">3.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98555"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98555"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Carlisle"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7u--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">0.4</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98558"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98558"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Carlisle"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Birmingham"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7y--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">2</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98564"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98564"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Birmingham"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H72--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.5</span>
|
||||
}
|
||||
],
|
||||
<span class="hljs-string">"vertices"</span> : [
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Aberdeen"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Aberdeen"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6O--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Aberdeen"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Leuchars"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6S--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Leuchars"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Edinburgh"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6W--B"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Edinburgh"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"York"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6e--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"York"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Carlisle"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Carlisle"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6i--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Carlisle"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Birmingham"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Birmingham"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6m--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Birmingham"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"London"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6m--B"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"London"</span>
|
||||
}
|
||||
],
|
||||
<span class="hljs-string">"weight"</span> : <span class="hljs-number">6</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"edges"</span> : [
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98522"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98522"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Aberdeen"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7K--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98528"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98528"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7S--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98534"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98534"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Glasgow"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7W--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98546"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98546"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Glasgow"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Carlisle"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7i--B"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98558"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98558"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Carlisle"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Birmingham"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7y--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">2</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98564"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98564"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Birmingham"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H72--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.5</span>
|
||||
}
|
||||
],
|
||||
<span class="hljs-string">"vertices"</span> : [
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Aberdeen"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Aberdeen"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6O--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Aberdeen"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Leuchars"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6S--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Leuchars"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Edinburgh"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6W--B"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Edinburgh"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Glasgow"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Glasgow"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6a--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Glasgow"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Carlisle"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Carlisle"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6i--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Carlisle"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Birmingham"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Birmingham"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6m--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Birmingham"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"London"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6m--B"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"London"</span>
|
||||
}
|
||||
],
|
||||
<span class="hljs-string">"weight"</span> : <span class="hljs-number">6</span>
|
||||
}
|
||||
]
|
||||
[object ArangoQueryCursor, <span class="hljs-attr">count</span>: <span class="hljs-number">3</span>, <span class="hljs-attr">cached</span>: <span class="hljs-literal">false</span>, <span class="hljs-attr">hasMore</span>: <span class="hljs-literal">false</span>]
|
|
@ -0,0 +1,2 @@
|
|||
arangosh> db._query(<span class="hljs-string">"FOR p IN OUTBOUND K_SHORTEST_PATHS 'places/Aberdeen' TO 'places/Toronto' GRAPH 'shortestPathsGraph' LIMIT 3 RETURN p"</span>);
|
||||
[object ArangoQueryCursor, <span class="hljs-attr">count</span>: <span class="hljs-number">0</span>, <span class="hljs-attr">cached</span>: <span class="hljs-literal">false</span>, <span class="hljs-attr">hasMore</span>: <span class="hljs-literal">false</span>]
|
|
@ -0,0 +1,351 @@
|
|||
arangosh> db._query(<span class="hljs-string">"FOR p IN OUTBOUND K_SHORTEST_PATHS 'places/StAndrews' TO 'places/Cologne' GRAPH 'shortestPathsGraph' OPTIONS { 'weightAttribute': 'travelTime', defaultWeight: '15'} LIMIT 3 RETURN p"</span>);
|
||||
[
|
||||
{
|
||||
<span class="hljs-string">"edges"</span> : [
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98573"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98573"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/StAndrews"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8---B"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98528"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98528"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7S--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98540"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98540"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7e--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">3.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98576"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98576"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8C--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.8</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98582"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98582"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Brussels"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8K--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">2.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98588"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98588"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Brussels"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Cologne"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8O--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">2</span>
|
||||
}
|
||||
],
|
||||
<span class="hljs-string">"vertices"</span> : [
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"StAndrews"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/StAndrews"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6W--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"StAndrews"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Leuchars"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6S--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Leuchars"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Edinburgh"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6W--B"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Edinburgh"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"York"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6e--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"York"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"London"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6m--B"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"London"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Brussels"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Brussels"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6q--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Brussels"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Cologne"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Cologne"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6u--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Cologne"</span>
|
||||
}
|
||||
],
|
||||
<span class="hljs-string">"weight"</span> : <span class="hljs-number">16.3</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"edges"</span> : [
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98573"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98573"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/StAndrews"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8---B"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98528"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98528"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7S--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98534"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98534"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Glasgow"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7W--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98546"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98546"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Glasgow"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Carlisle"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7i--B"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98558"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98558"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Carlisle"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Birmingham"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7y--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">2</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98564"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98564"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Birmingham"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H72--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98582"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98582"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Brussels"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8K--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">2.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98588"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98588"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Brussels"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Cologne"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8O--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">2</span>
|
||||
}
|
||||
],
|
||||
<span class="hljs-string">"vertices"</span> : [
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"StAndrews"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/StAndrews"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6W--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"StAndrews"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Leuchars"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6S--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Leuchars"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Edinburgh"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6W--B"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Edinburgh"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Glasgow"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Glasgow"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6a--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Glasgow"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Carlisle"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Carlisle"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6i--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Carlisle"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Birmingham"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Birmingham"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6m--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Birmingham"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"London"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6m--B"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"London"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Brussels"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Brussels"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6q--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Brussels"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Cologne"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Cologne"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6u--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Cologne"</span>
|
||||
}
|
||||
],
|
||||
<span class="hljs-string">"weight"</span> : <span class="hljs-number">16.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"edges"</span> : [
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98573"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98573"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/StAndrews"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8---B"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98528"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98528"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7S--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98534"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98534"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Glasgow"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7W--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98546"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98546"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Glasgow"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Carlisle"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7i--B"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98552"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98552"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Carlisle"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H7q--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">2.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98576"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98576"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8C--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">1.8</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98582"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98582"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Brussels"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8K--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">2.5</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"98588"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"connections/98588"</span>,
|
||||
<span class="hljs-string">"_from"</span> : <span class="hljs-string">"places/Brussels"</span>,
|
||||
<span class="hljs-string">"_to"</span> : <span class="hljs-string">"places/Cologne"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H8O--_"</span>,
|
||||
<span class="hljs-string">"travelTime"</span> : <span class="hljs-number">2</span>
|
||||
}
|
||||
],
|
||||
<span class="hljs-string">"vertices"</span> : [
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"StAndrews"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/StAndrews"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6W--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"StAndrews"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Leuchars"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Leuchars"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6S--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Leuchars"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Edinburgh"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Edinburgh"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6W--B"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Edinburgh"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Glasgow"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Glasgow"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6a--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Glasgow"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Carlisle"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Carlisle"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6i--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Carlisle"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"York"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/York"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6e--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"York"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"London"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/London"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6m--B"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"London"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Brussels"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Brussels"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6q--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Brussels"</span>
|
||||
},
|
||||
{
|
||||
<span class="hljs-string">"_key"</span> : <span class="hljs-string">"Cologne"</span>,
|
||||
<span class="hljs-string">"_id"</span> : <span class="hljs-string">"places/Cologne"</span>,
|
||||
<span class="hljs-string">"_rev"</span> : <span class="hljs-string">"_Yi4-H6u--_"</span>,
|
||||
<span class="hljs-string">"label"</span> : <span class="hljs-string">"Cologne"</span>
|
||||
}
|
||||
],
|
||||
<span class="hljs-string">"weight"</span> : <span class="hljs-number">17.3</span>
|
||||
}
|
||||
]
|
||||
[object ArangoQueryCursor, <span class="hljs-attr">count</span>: <span class="hljs-number">3</span>, <span class="hljs-attr">cached</span>: <span class="hljs-literal">false</span>, <span class="hljs-attr">hasMore</span>: <span class="hljs-literal">false</span>]
|
|
@ -0,0 +1,2 @@
|
|||
arangosh> <span class="hljs-keyword">var</span> examples = <span class="hljs-built_in">require</span>(<span class="hljs-string">"@arangodb/graph-examples/example-graph.js"</span>);
|
||||
arangosh> examples.dropGraph(<span class="hljs-string">"kShortestPathsGraph"</span>);
|
|
@ -426,6 +426,60 @@ var createTraversalGraph = function () {
|
|||
graph.edges.save('circles/J', 'circles/K', {theFalse: false, theTruth: true, 'label': 'right_zup'});
|
||||
};
|
||||
|
||||
var createKShortestPathsGraph = function() {
|
||||
var graph_module = require('@arangodb/general-graph');
|
||||
|
||||
var graph = graph_module._create('shortestPathsGraph', [
|
||||
graph_module._relation('connections', 'places', ['places'])]);
|
||||
|
||||
var places = [ "Inverness"
|
||||
, "Aberdeen"
|
||||
, "Leuchars"
|
||||
, "StAndrews"
|
||||
, "Edinburgh"
|
||||
, "Glasgow"
|
||||
, "York"
|
||||
, "Carlisle"
|
||||
, "Birmingham"
|
||||
, "London"
|
||||
, "Brussels"
|
||||
, "Cologne"
|
||||
, "Toronto"
|
||||
, "Winnipeg"
|
||||
, "Saskatoon"
|
||||
, "Edmonton"
|
||||
, "Jasper"
|
||||
, "Vancouver" ];
|
||||
var connections = [
|
||||
[ "Inverness", "Aberdeen", 3, 2.5 ]
|
||||
, [ "Aberdeen", "Leuchars", 1.5, 1 ]
|
||||
, [ "Leuchars", "Edinburgh", 1.5, 3 ]
|
||||
, [ "Edinburgh", "Glasgow", 1, 1 ]
|
||||
, [ "Edinburgh", "York", 3.5, 4 ]
|
||||
, [ "Glasgow", "Carlisle", 1, 1 ]
|
||||
, [ "Carlisle", "York", 2.5, 3.5 ]
|
||||
, [ "Carlisle", "Birmingham", 2.0, 1 ]
|
||||
, [ "Birmingham", "London", 1.5, 2.5 ]
|
||||
, [ "Leuchars", "StAndrews", 0.2, 0.2 ]
|
||||
, [ "York", "London", 1.8, 2.0 ]
|
||||
, [ "London", "Brussels", 2.5, 3.5 ]
|
||||
, [ "Brussels", "Cologne", 2, 1.5 ]
|
||||
, [ "Toronto", "Winnipeg", 36, 35 ]
|
||||
, [ "Winnipeg", "Saskatoon", 12, 5 ]
|
||||
, [ "Saskatoon", "Edmonton", 12, 17 ]
|
||||
, [ "Edmonton", "Jasper", 6, 5 ]
|
||||
, [ "Jasper", "Vancouver", 12, 13 ] ];
|
||||
|
||||
for (p of places) {
|
||||
graph.places.save({ _key: p, label: p});
|
||||
}
|
||||
for (c of connections) {
|
||||
graph.connections.save('places/' + c[0], 'places/' + c[1], {'travelTime': c[2]});
|
||||
graph.connections.save('places/' + c[1], 'places/' + c[0], {'travelTime': c[3]});
|
||||
}
|
||||
return graph;
|
||||
};
|
||||
|
||||
var knownGraphs = {
|
||||
'knows_graph': {create: createTraversalExample, dependencies: [
|
||||
'knows', 'persons'
|
||||
|
@ -447,6 +501,9 @@ var knownGraphs = {
|
|||
]},
|
||||
'traversalGraph': {create: createTraversalGraph, dependencies: [
|
||||
'edges', 'circles'
|
||||
]},
|
||||
'kShortestPathsGraph': {create: createKShortestPathsGraph, dependencies: [
|
||||
'places', 'connections'
|
||||
]}
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue