2016-06-18 4 views
2

グラフデータベース、起点空港、目的地空港に2つのノードを作成しました。これは 'delayed_by'という名前のプロパティによって関連付けられます。私はこのプロパティ 'delayed_by'に複数の値を関連付ける必要があります。気象遅延、キャリア遅延、遅延などの遅延の理由はさまざまです。これらをすべてグラフデータベースのこのプロパティにリンクする必要があります。 3回にマッピングされ、それはのようなものを作り出すなっているNeo4jでサイファークエリを使用して複数の値をプロパティに関連付ける方法

MATCH (origin:origin_airport {name: row.ORIGIN}), 
(destination:dest_airport {name: row.DEST}) 
CREATE (origin)-[:delayed_by {carr_delay: row.carr_delay}]->(destination) 
CREATE (origin)-[:delayed_by {weather_delay: row.weather_delay}]->  
(destination) 
CREATE (origin)-[:delayed_by {nas_delay: row.nas_delay}]->(destination) 

しかしdelayed_by関係:私は関係のために以下のコードを使用

ORIGIN DEST carr_delay weather_delay nas_delay 
ABE  ATL  492   56    56 

グラフデータベース内の表形式以下のような値を期待しています以下の下:

ORIGIN DEST carr_delay weather_delay nas_delay 
ABE  ATL  492   NULL    NULL 

ORIGIN DEST carr_delay weather_delay nas_delay 
ABE  ATL  NULL   56   NULL 

ORIGIN DEST carr_delay weather_delay nas_delay 
ABE  ATL  NULL   NULL   56 

私は1つの他のポストで提案されているように、以下のコードを使用しようとしました

MATCH (origin:origin_airport {name: row.ORIGIN}), 
    (destination:dest_airport {name: row.DEST}) 
    CREATE (origin) 
     -[:delayed_by {type: carr_delay, value: row.carr_delay}]-> 
     (destination) 
    CREATE (origin) 
     -[:delayed_by {type: weather_delay, value: row.weather_delay}]-> 
     (destination) 
    CREATE (origin) 
     -[:delayed_by {type: nas_delay, value: row.nas_delay}]-> 
     (destination) 

しかし、それはタイプ:,値を受け付けていません:プロパティと私はタイプ

のNeo4jにCYPHERクエリを使用してプロパティに複数の値を追加する方法
Error: Client error: (400) Bad Request 
Neo.ClientError.Statement.SyntaxError 

でエラーを取得しています?。私はRをNeo4jに接続してこれらのクエリをRに書いています。

+0

私はRで他のサイファークエリを実行していましたが、すべて正常に動作していました。しかし、私はこの質問に対してのみ問題が発生しています。 – SRS

答えて

2

は、ここで「LOAD CSVサイファー文が

LOAD CSV WITH HEADERS FROM "file:///Users/luanne/temp/so.csv" AS row 
MERGE (origin:origin_airport {name: row.ORIGIN}) 
MERGE (destination:dest_airport {name: row.DEST}) 
MERGE (origin)-[r:delayed_by]->(destination) 
SET r.carr_delay=row.carr_delay, r.weather_delay=row.weather_delay, r.nas_delay=row.nas_delay 

like-あなたを見ることができるものです2つの空港間の関係を結びつけて、ちょうど1つのdelayed_byの関係bになるようにしますそれらの間に。または、空港のセットごとに行がある場合、その関係のMERGEをCREATEに変更することができます。

1

あなたがタイプミスを持って、あなたが引用符を忘れてしまった:

CREATE (origin) 
     -[:delayed_by {type: carr_delay, value: row.carr_delay}]-> 
     (destination) 

=>

CREATE (origin) 
     -[:delayed_by {type: "carr_delay", value: row.carr_delay}]-> 
     (destination) 
+0

私は間違いを犯しました。私は誤植を訂正しました。Rは二重引用符 "carr_delay"ではなく、一重引用符 'carr_delay'を受け入れます。あなたの提案に感謝します – SRS

関連する問題