This section is showing how to create some of the named pretty graphs on Wikipedia.
The graph is created by first creating a center node, and then once per element in the range, creates a leaf node and connects it to the center.
Query.
CREATE (center) FOREACH (x IN range(1,6)| CREATE (leaf),(center)-[:X]->(leaf)) RETURN id(center) AS id;
The query returns the id of the center node.
This graph is created in a number of steps:
Query.
CREATE (center)
FOREACH (x IN range(1,6)| CREATE (leaf { count:x }),(center)-[:X]->(leaf))
WITH center
MATCH (large_leaf)<--(center)-->(small_leaf)
WHERE large_leaf.count = small_leaf.count + 1
CREATE (small_leaf)-[:X]->(large_leaf)
WITH center, min(small_leaf.count) AS min, max(large_leaf.count) AS max
MATCH (first_leaf)<--(center)-->(last_leaf)
WHERE first_leaf.count = min AND last_leaf.count = max
CREATE (last_leaf)-[:X]->(first_leaf)
RETURN id(center) AS id
The query returns the id of the center node.
To create this graph, we first create 6 nodes and label them with the Leaf label. We then match all the unique pairs of nodes, and create a relationship between them.
Query.
FOREACH (x IN range(1,6)| CREATE (leaf:Leaf { count : x }))
WITH *
MATCH (leaf1:Leaf),(leaf2:Leaf)
WHERE id(leaf1)< id(leaf2)
CREATE (leaf1)-[:X]->(leaf2);
Nothing is returned by this query.
This query first creates a center node, and then once per element in the range, creates a cycle graph and connects it to the center
Query.
CREATE (center) FOREACH (x IN range(1,3)| CREATE (leaf1),(leaf2),(center)-[:X]->(leaf1),(center)-[:X]->(leaf2), (leaf1)-[:X]->(leaf2)) RETURN ID(center) AS id
The id of the center node is returned by the query.
Copyright © 2014 Neo Technology