// Delete All MATCH (n) DETACH DELETE n; // Index CREATE INDEX ON :Person(id); // Name LOAD CSV WITH HEADERS FROM "https://raw.githubusercontent.com/digicademy/dhd2016-workshop/master/data/epidat/csv/aha_person.txt" AS line FIELDTERMINATOR ',' CREATE (:Person {epidat_id:line.nodeID, name:line.name, geschlecht:line.geschlecht, sterbedatum:line.sterbedatum}) RETURN *; // Edges Eltern-Kind LOAD CSV WITH HEADERS FROM "https://raw.githubusercontent.com/digicademy/dhd2016-workshop/master/data/epidat/csv/aha_eltern-kind.txt" AS line FIELDTERMINATOR ',' MATCH (from {epidat_id:line.elternteil}), (to {epidat_id:line.kind}) create (from)-[:KIND]->(to) RETURN *; // Edges Ehepartner LOAD CSV WITH HEADERS FROM "https://raw.githubusercontent.com/digicademy/dhd2016-workshop/master/data/epidat/csv/aha_ehepartner.txt" AS line FIELDTERMINATOR ',' MATCH (from {epidat_id:line.ehepartner1}), (to {epidat_id:line.ehepartner2}) create (from)-[:EHEPARTNER]->(to) RETURN *; // Edges Geschwister LOAD CSV WITH HEADERS FROM "https://raw.githubusercontent.com/digicademy/dhd2016-workshop/master/data/epidat/csv/aha_geschwister.txt" AS line FIELDTERMINATOR ',' MATCH (from {epidat_id:line.geschwister1}), (to {epidat_id:line.geschwister2}) create (from)-[:GESCHWISTER]->(to) RETURN *; // Edges Grosseltern-Enkel LOAD CSV WITH HEADERS FROM "https://raw.githubusercontent.com/digicademy/dhd2016-workshop/master/data/epidat/csv/aha_grosseltern-enkel.txt" AS line FIELDTERMINATOR ',' MATCH (from {epidat_id:line.grosseltern}), (to {epidat_id:line.enkel}) create (from)-[:ENKEL]->(to) RETURN *; ///################# // Zeige mir eine Person mit der epidat_id 'aha-1-1' MATCH (n) WHERE n.epidat_id='aha-1-1' RETURN n LIMIT 100 // Familiennetzwerk bis zur 15. Stufe anzeigen MATCH (n:Person { epidat_id:"aha-1-1" }),(m:Person), p = shortestPath((n)-[*..15]-(m)) WHERE id(n) <> id(m) RETURN p // Geschwister von aha-11-1 anzeigen MATCH (n)<-[k1:KIND]-(e)-[k2:KIND]->(g) WHERE n.epidat_id='aha-11-1' RETURN n,e,g,k1,k2;