Присвойте значение отношениям в Neo4j - PullRequest
0 голосов
/ 12 ноября 2018

Есть ли способ присвоить значение для отношения в Neo4j?

Скажем, у меня есть пара "людей" -узлов с двунаправленными отношениями ДРУЗЬЯ между людьми. Что, если я хочу оценить качество дружеских отношений, возможно ли это? Например. Павел 0.54 дружит с Алисой. Алиса дружит с Chestirecat в 0,91 раза.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

В Neo4j общее имя значения, назначенного для отношения, называется свойство .

Когда создает отношения, вы можете добавить свойство как таковое

CREATE (n:People)-[r:Friends { quality: 5 }]-(m:People)

Вы также можете изменить значение свойства с помощью set

MATCH (m:People{ name: 'Mary' })-[r:Friends]-(m:People{ name: 'John' })
SET r.quality= 6
RETURN n;

Чтобы создать взвешенную дружбу между Алисой и Полом весом 0,54, используйте следующую команду CREATE:

CREATE (n:People { Name: 'Paul' } )-[r:Friends { quality: 0.54 }]->(m:People { Name: 'Alice' });

enter image description here

и для создания взвешенной дружбы между Алисой и Полом, когда узел Алисы уже существует с весом 0,91, используйте следующую команду CREATE:

MATCH (n:People { Name: 'Alice' } )  
  CREATE (n)-[r:Friends { quality: 0.91 }]->(m:People { Name: 'Chestirecat' });

enter image description here

и для добавления отношений Друзья между Алисой и Полом используйте следующую команду CREATE:

MATCH (n:People { Name: 'Alice' } ), (m:People { Name: 'Paul' })  
  CREATE (n)-[r:Friends { quality: 0.62 }]->(m);

enter image description here

0 голосов
/ 12 ноября 2018

Если вы хотите иметь значения также в качестве дополнительных данных для отношения «ДРУЗЬЯ», то вы можете ввести значения в качестве атрибута Отношения. Когда вы нажмете на связь, вы также увидите значения.

...