У меня есть 2 узла: Люди и друзья со следующими структурами: люди: p_id; Друзья: p_id, f_idКак построить отношения в Neo4J
Мне нужно построить отношение [: KNOWS] между ними.
Как я могу это сделать? Я новичок в Neo4J.
P.S. Я использую Cypher
У меня есть 2 узла: Люди и друзья со следующими структурами: люди: p_id; Друзья: p_id, f_idКак построить отношения в Neo4J
Мне нужно построить отношение [: KNOWS] между ними.
Как я могу это сделать? Я новичок в Neo4J.
P.S. Я использую Cypher
Я думаю, что это сделает это за вас. В принципе, вам нужно явно сопоставить оба узла, с которыми вы хотите создать взаимосвязь, а затем создать связь с направлением, которое вы хотите, между двумя указанными узлами.
match (p:People), (f:Friend)
where p.id = 'xx' and f.id = 'xy'
create (p)-[:KNOWS]->(f)
терпения карта - http://neo4j.com/docs/cypher-refcard/current/ - неоценима для меня в работе через хитросплетение шифра.
Спасибо, много! Мне кажется, это работает. – user3306125
Но как я могу сделать это для всех идентификаторов в обоих узлах? – user3306125
вам нужно построить отношения, используя отношения p_id to f_id. Если у вас есть все отношения в csv, вы можете использовать процесс загрузки csv. для их загрузки. что-то вроде этого должно работать ... LOAD CSV WITH HEADERS FROM "file: /// Y: /pid_to_f_id.csv" AS rel MATCH (p: Person {id: rel.p_id}), (f: Friend {id: rel.f_id}) create (p) - [: KNOWS] -> (f) –
Я думаю, вы смущены тем, что такое узел. Узел - это граф, эквивалентный * строке * в реляционном мире, а не эквивалент таблицы. Я имею в виду, что люди и друзья - действительно странные имена для узлов/меток, а 'f_id' выглядит как какой-то внешний ключ. –