-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathinit.cypher
41 lines (32 loc) · 1.25 KB
/
init.cypher
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
LOAD CSV WITH HEADERS FROM 'file:///systems.csv' AS systems_row
WITH systems_row WHERE systems_row.id IS NOT NULL
CREATE (s:System)
SET s = systems_row
SET s.security = toFloat(s.security);
LOAD CSV WITH HEADERS FROM 'file:///planetary-production.csv' AS planets_row
WITH planets_row WHERE planets_row.planetId IS NOT NULL
CREATE (p:Planet)
SET p = planets_row
SET p.output = toFloat(p.output);
CREATE INDEX system_id_index IF NOT EXISTS
FOR (s:System) ON (s.id);
CREATE INDEX system_name_index IF NOT EXISTS
FOR (s:System) ON (s.name);
CREATE INDEX planet_planetId_index IF NOT EXISTS
FOR (p:Planet) ON (p.planetId);
CREATE INDEX planet_nam_index IF NOT EXISTS
FOR (p:Planet) ON (p.name);
CREATE INDEX planet_resource_index IF NOT EXISTS
FOR (p:Planet) ON (p.resource);
CREATE INDEX planet_richness_index IF NOT EXISTS
FOR (p:Planet) ON (p.richness);
CALL apoc.periodic.iterate(
"MATCH (a:System),(b:System) WHERE b.neighbors CONTAINS a.id RETURN a, b",
"CREATE (a)-[g:GATES_TO {name: a.name + '<->' + b.name}]->(b)",
{batchSize:10000, parallel:true}
);
CALL apoc.periodic.iterate(
"MATCH (c:System),(p:Planet) WHERE c.planets CONTAINS p.planetId RETURN c, p",
"CREATE (p)-[w:WITHIN {name: c.name + '->' + p.name}]->(c)",
{batchSize:10000, parallel:true}
);