Если вы используете браузер Neo4j, самый простой способ сделать это - просто разделить ваши операторы точками с запятой и включить «редактор запросов с несколькими утверждениями» (который также дает вам небольшой индикатор прогресса в качестве каждого оператора выполняется):
LOAD CSV WITH HEADERS
FROM 'file:///profile.csv' as profile_line
CREATE (user: User { userId: profile_line.User });
LOAD CSV WITH HEADERS
FROM 'file:///project.csv' as project_line
CREATE (project: Project { projectId: project_line.projectId });
LOAD CSV WITH HEADERS
FROM 'file:///media.csv' as image_line
CREATE (image: Image { imageId: image_line.ImageId });
В противном случае все еще возможно сделай это. Нам нужен оператор WITH, который будет возвращать одну строку независимо от того, сколько узлов было создано предыдущим CREATE, поэтому подойдет любая функция агрегирования. Например:
LOAD CSV WITH HEADERS
FROM 'file:///profile.csv' as profile_line
CREATE (user: User { userId: profile_line.User })
WITH max(1) as dummy
LOAD CSV WITH HEADERS
FROM 'file:///project.csv' as project_line
CREATE (project: Project { projectId: project_line.projectId })
WITH max(1) as dummy
LOAD CSV WITH HEADERS
FROM 'file:///media.csv' as image_line
CREATE (image: Image { imageId: image_line.ImageId })
Added 9 labels, created 9 nodes, set 9 properties, completed after 17 ms.
Хотя я думаю, что это очень непонятно для будущего, и я бы не рекомендовал это.