2014-08-28 66 views
3

我有一個csv格式的數據集。其中一個字段是類型,就像枚舉一樣。基於這種類型,我需要在使用csv load加載數據時創建不同類型的節點和關係。您可以在csv中調用一個具有定義其子類型屬性的超類型的行。在Neo4j中從csv加載節點時有條件地創建節點和關係

我真的不知道如何在cypher中完成這項工作。我唯一的選擇是將每個類型的一個csv文件分成一個csv文件並運行不同的密碼?

回答

4

This document on conditional statements help。

這裏是基於列的值用於裝載一個簡單的例子:

數據: A,B 福特汽車 雪佛蘭,卡車 馬自達,汽車 GMC,卡車 F150,卡車

塞珀碼:

load csv with headers from "file:/testfile.csv" as row 
FOREACH(ignoreMe IN CASE WHEN trim(row.b) = "truck" THEN [1] ELSE [] END | MERGE (p:Truck {vehicleType: row.a})) 
FOREACH(ignoreMe IN CASE WHEN trim(row.b) = "car" THEN [1] ELSE [] END | MERGE (p:Car {vehicleType: row.a})) 

當你完成後,你將創建不同類型的節點。

+0

非常有用的把戲!這可惜Cypher不直接支持這個,或者是否? – Tvaroh 2015-11-22 12:11:34

相關問題