2016-08-15 2 views
1

Мне интересно создавать связи между двумя узлами, обладающими определенными свойствами. Запрос Neo4j для этого можно было бы записать так:Оптимизация запросов neo4j, связанных с созданием связей

MATCH (x:User {username: "user2064000"}), (y:User {username: "user2064001"}) MERGE (x)-[:KNOWS]->(y) 

Хотя запрос имеет ожидаемый эффект, веб-консоль Neo4j также предупреждает о запросе создает декартово произведение (и о них медлительность).

Как следует переписать вышеуказанный запрос, чтобы предотвратить декартово произведение?

ответ

1

Это всего лишь предупреждение, и в вашем случае вам не нужно заботиться об этом, потому что вы делаете следующий декартовый продукт: 1 x 1 (я предполагаю, что у вас есть уникальное ограничение на имя пользователя).

Это предупреждение появляется, когда в предложение MATCH вы описываете два шаблона разъединения.

Cheers.

Смежные вопросы