Несколько несвязанных запросов в Neo4j Cypher?

Не поддерживает ли http://localhost:7474/browser/ несколько несвязанных запросов

Этот код:

MATCH (a {cond:'1'}), (b {cond:'x'}) CREATE a-[:rel]->b
MATCH (a {cond:'2'}), (b {cond:'y'}) CREATE a-[:rel]->b
MATCH (a {cond:'3'}), (b {cond:'z'}) CREATE a-[:rel]->b

вызывает ошибку:

WITH требуется между CREATE и MATCH

Но поскольку мои запросы не связаны, я не думаю, что мне понадобится WITH.

Как я могу сделать это без необходимости вводить его по очереди один раз?

Ответ 1

В последних выпусках разработчики добавили опцию в браузере Neo4j для выполнения нескольких запросов.

Откройте настройки браузера и нажмите " Включить редактор запросов с несколькими утверждениями".

Затем просто поставьте точку с запятой в конце каждого запроса и добавьте их в консоль браузера.

Screenshot

Вот как это выглядит

Screenshot

Ответ 2

Как работа вокруг вы можете сделать:

MATCH (a {cond:'1'}), (b {cond:'x'}) CREATE a-[:rel]->b
WITH 1 as dummy
MATCH (a {cond:'2'}), (b {cond:'y'}) CREATE a-[:rel]->b
WITH 1 as dummy
MATCH (a {cond:'3'}), (b {cond:'z'}) CREATE a-[:rel]->b

См. также сообщение в блоге импорта: http://blog.neo4j.org/2014/01/importing-data-to-neo4j-spreadsheet-way.html

Ответ 3

Я не знаю, как отправить несколько несвязанных запросов сразу через браузер Neo4j. Однако на уровне REST это вполне возможно, используя транзакционную HTTP-конечную точку.

Ответ 4

Вы можете отправить несколько запросов в Neo4j с помощью инструмента командной строки cypher-shell:

cypher-shell --format plain < query.txt

где query.txt содержит несколько независимых запросов, разделенных полуколонами. Это также работает интерактивно, как только вы запустили cypher-shell.