Добавление атрибута в отношение - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь загрузить файл CSV с помощью LOAD FROM CSV и построить отношения. У меня есть таблица кроссовера, которую я использую для поддержки отношений многих ко многим. Для моего примера я буду использовать два (2) основных узла, Автомобиль и Водитель.

Автомобилем может управлять один или несколько Водителей, а Водитель может управлять одним или несколькими Автомобилями.

Мой перекидной стол выглядит так

CarID (int)
DriverID (int)

Вот мой код, чтобы успешно загрузить его в Neo4j

LOAD CSV WITH HEADERS FROM 'FILE:///CarToDriverXFER.csv' AS row FIELDTERMINATOR ','

MATCH (c:Cars {carID:row.carID})

MATCH (d:Drivers {driverID:row.driverID})

MERGE (c)-[:DRIVES]->(d)

Я хочу добавить атрибут в это отношение. Теперь таблица выглядит так:

CarID (int)

DriverID (int)

Rating (int)

Я не уверен, как это сделать. Я знаю, как это сделать, если объект является узлом, но я не получаю правильный синтаксис в отношении построения отношений. Вот моя попытка найти решение, но я получаю сообщение об ошибке.

LOAD CSV WITH HEADERS FROM 'FILE:///CarToDriverXFER.csv' AS row FIELDTERMINATOR ','

MATCH (c:Cars {carID:row.carID})

MATCH (d:Drivers {driverID:row.driverID})

CREATE ({Rating:row.Rating})

MERGE (c)-[:DRIVES]->(d)

Приведенный выше скрипт загружал отношения, но атрибут "Rating" не указан в атрибуте.

Может кто-нибудь предложить помощь?

1 Ответ

0 голосов
/ 10 мая 2018

Вы можете добавить атрибут в отношение так же, как вы добавляете атрибуты к узлам, то есть:

LOAD CSV WITH HEADERS FROM 'FILE:///CarToDriverXFER.csv' AS row FIELDTERMINATOR ','
MATCH (c:Cars {carID:row.carID})
MATCH (d:Drivers {driverID:row.driverID})
// adding 'Rating' attribute to ':Drives' relationship between 'c' and 'd'
MERGE (c)-[:DRIVES {Rating:row.Rating}]->(d)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...