2017-08-01 21 views
0

私は非常に新しいですサイファークエリ言語そして、私はノード間の関係に取り組んでいます。 私は、複数の列と1000行を含むテーブルのCSVファイルを持っています。私のテーブルの テンプレートは次のとおりです。私は、ノードおよびプロパティキーを作成するには、次のコマンドを使用しているFOREACH in cypher - neo4j

cdrType ANUMBER BNUMBER DUARTION  
2   123  456  10 
2   890  456  5 
2   123  666  2 
2   123  709  7 
2   345  789  20 

LOAD CSV WITH HEADERS FROM "file:///2.csv" AS ROW 
CREATE (:ANUMBER {aNumber:ROW.aNumber}), 
CREATE (:BNUMBER {bNumber:ROW.bNumber}) 

は、今私は、テーブル内のすべての行との間の関係を作成する必要があると私は、foreachループが私の場合には最高だと思います。私はこのクエリを作成しましたが、それは私にエラーを与えます。

MATCH (a:ANUMBER),(b:BNUMBER) 
FOREACH(i in RANGE(0, length(ANUMBER)) | 
    CREATE UNIQUE (ANUMBER[i])-[s:CALLED]->(BNUMBER[i])) 

エラーがある:クエリがある

無効な入力 '[':期待される識別子文字、空白、 NodeLabel、プロパティマップ、 '')または関係パターン(ライン3、 カラム29(オフセット:100)) "(UNIQUE をCREATE:ANUMBER [I]) - [S:呼び出された] - >(B:BNUMBER [I]))"

Iの関係を必要としますすべての行について私の場合のように。 123 - > 456、890 - > 456と呼ばれています。このためには、すべての行の間に関係を作成する必要があります。

これを解決する方法はありますか?それはそれi.m.o.よりも複雑ではありません

LOAD CSV WITH HEADERS FROM "file:///2.csv" AS ROW 
CREATE (a:ANUMBER {aNumber:ROW.aNumber}) 
CREATE (b:BNUMBER {bNumber:ROW.bNumber}) 
MERGE (a)-[:CALLED]->(b); 

:何について

答えて

2

希望すると便利です。

よろしくお願いします。 Tom

+0

Thanks mate –