загрузить CSV-файл, сопоставив существующий идентификатор и добавить свойство отношения - PullRequest
0 голосов
/ 01 мая 2019

У меня есть график, который содержит узлы, помеченные как «Болезни», они имеют в качестве приличия уникальный идентификатор (cui) и отношения Has_child, Has_descendant. Я хотел бы загрузить файл CSV и добавить какое-либо свойство в отношения, сопоставляя идентификатор.

USING PERIODIC COMMIT 
LOAD CSV WITH HEADERS FROM 'file:///Descendant_distance.csv' AS line 
FIELDTERMINATOR '\t'
MERGE (d:Disease{id: line.CUI_SRC})
(n:Disease{id: line.CUI_DST})
 (d)-[r:HAS_CHILD|HAS_DESCENDANT]->(n)
 on match set 
    r.distance = line.DISTANCE,
    r.SAB = line.SAB;

Я попробовал это, для меня логика, что это должно работать, но у меня есть ошибка

    (Neo.ClientError.Statement.SyntaxError: Invalid input '(': expected whitespace, comment, a relationship pattern, ON, FROM GRAPH, CONSTRUCT, LOAD CSV, START, MATCH, UNWIND, MERGE, CREATE UNIQUE, CREATE, SET, DELETE, REMOVE, FOREACH, WITH, CALL, RETURN, ';' or end of input (line 5, column 1 (offset: 150))  "(n:Disease{id: line.CUI_DST})"

Я ожидаю, что в конце у меня будет 2 свойства, добавленных к взаимосвязи, без влияния на остальные данные. Может ли кто-нибудь помочь мне решить этот вопрос?

1 Ответ

1 голос
/ 01 мая 2019

Узлы уже созданы, поэтому вы можете вместо них выполнять команды Match, Set.

USING PERIODIC COMMIT  
LOAD CSV WITH HEADERS FROM 'file:///Descendant_distance.csv' AS line 
FIELDTERMINATOR '\t'
MATCH (d:Disease{id: line.CUI_SRC}), 
(n:Disease{id: line.CUI_DST}), 
(d)-[r:HAS_CHILD|HAS_DESCENDANT]->(n)
SET r.distance = line.DISTANCE,
    r.SAB = line.SAB;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...