展开一个json文件后,我得到一个字符串列表作为输出,需要将其创建为节点。
查询返回的URL(字符串)列表:-
WITH {json} AS document
UNWIND document.log.entries AS API
UNWIND API.request.url as a
RETURN a
尝试使用FOREACH创建具有以上查询列表的节点,但会出现异常。
FOREACH (n IN nodes(a) | CREATE (n))
但出现异常。 在查询方面需要帮助。
答案 0 :(得分:0)
如果a
的值是URL字符串,则:
NODES(a)
不起作用,因为NODES()
的参数必须为path。FOREACH
,因为a
是标量值(字符串),而不是列表。以下是创建包含URL字符串的节点的示例:
WITH $json AS document
UNWIND document.log.entries AS API
UNWIND API.request.url as a
CREATE (f:Foo {url: a});
上面的查询还使用$json
而不是不推荐使用的{json}
语法。
或者,如果您删除了最后一个UNWIND
子句,则可以使用以下方法来使用FOREACH
:
WITH $json AS document
UNWIND document.log.entries AS API
FOREACH(a IN API.request.url | CREATE (f:Foo {url: a}));