Skip to content

Instantly share code, notes, and snippets.

@vladbatushkov
Last active May 6, 2019 16:36
Show Gist options
  • Save vladbatushkov/d9f029dbe0ae7da26691280e7c79f4bd to your computer and use it in GitHub Desktop.
Save vladbatushkov/d9f029dbe0ae7da26691280e7c79f4bd to your computer and use it in GitHub Desktop.
create timetable for one month.
MERGE (c1:City { name: "Folkestone" })
MERGE (c2:City { name: "Calais" })
WITH c1, c2
UNWIND range(1, 31) as day
WITH CASE WHEN date({ year: 2019, month: 5, day: day }).dayOfWeek > 5 THEN 9 ELSE 7 END as morningH, CASE WHEN date({ year: 2019, month: 5, day: day }).dayOfWeek > 5 THEN 21 ELSE 20 END as eveningH, c1, c2, day
MERGE (t1:Trip { code: "1_" + day, departure: DateTime({ year: 2019, month: 5, day: day, hour: morningH }), arrival: DateTime({ year: 2019, month: 5, day: day, hour: morningH, minute: 35 }) })
MERGE (t2:Trip { code: "2_" + day, departure: DateTime({ year: 2019, month: 5, day: day, hour: eveningH }), arrival: DateTime({ year: 2019, month: 5, day: day, hour: eveningH, minute: 35 }) })
MERGE (t3:Trip { code: "3_" + day, departure: DateTime({ year: 2019, month: 5, day: day, hour: morningH }), arrival: DateTime({ year: 2019, month: 5, day: day, hour: morningH, minute: 35 }) })
MERGE (t4:Trip { code: "4_" + day, departure: DateTime({ year: 2019, month: 5, day: day, hour: eveningH }), arrival: DateTime({ year: 2019, month: 5, day: day, hour: eveningH, minute: 35 }) })
MERGE (c1)<-[:FROM]-(t1)-[:TO]->(c2)
MERGE (c1)<-[:FROM]-(t2)-[:TO]->(c2)
MERGE (c2)<-[:FROM]-(t3)-[:TO]->(c1)
MERGE (c2)<-[:FROM]-(t4)-[:TO]->(c1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment