2017-03-04 1 views
0

Neo4jが新しく、Neo4jでいくつかの練習をしています。Neo4jをインポートして特定のグラフを作成する

私はヘッダーを含むcsvファイルを持っている:

product,material 
aa,bb 
aa,cc 
cc,bb 
dd,aa 

私はN4jにインポートし、 「から」という名前の関係を作成したいと、このようなグラフにそれをしたい:graph 当初、私はそれがだと思いますかなり簡単で、私は2dsのために苦労し、あきらめました... 私は助けが必要です。

load csv with headers from"files:\\test.csv" as file 
merge (p:product {id:file.product}) 
merge (m:material {id:file.material}) 
create (p)-[:from]->(m) 

と、結果はここにある: 私のコードはここにあるので、graph2

1.Howは、私が "AA" は一つのノードのみレコード生成することができますか?

2.数字ではなくノードの「aa」「bb」をどのようにすることができますか?

3.btw、n4jハンドブックで、「インポートツール」と「ロードcsv」の違いは何ですか?

答えて

1

問題は、作成クエリで異なるラベルを使用していることです。

CSVの2行目は、ID「cc」の:materialノードを作成します。 3行目のIDとして 'cc'が表示されている間は、:productノードです。 3行目で実行すると、id:ccという製品ノードが存在しません(そのidを持つ素材ノードがありますが、ラベルが異なるため一致しません)ので、新しい:製品ノードが作成されます。

「aa」と同様です。あなたのCSVの1行目と2行目は、製品ノード 'aa'をマージしますが、4行目ではidがa:materialノード用です。繰り返しますが、ラベルが異なるため、以前に作成したノードは再利用されません。

目的のグラフを得るには、すべてのIDが同じノードを参照する場合は、マージのラベルも同じでなければなりません。

関連する問題