我正在尝试使用apoc程序在Neo4j中获取人节点的子图。
我尝试使用neo4j apoc文档中找到的apoc.map.submap()函数。我的密码查询如下:
MATCH (p:person)
RETURN apoc.map.submap(p{.*}, ["name", "id"],null, true)
预期结果:
{
"name" : "Tom",
"id" : 23
}
输出:
Neo.ClientError.Statement.SyntaxError:未知函数'apoc.map.submap'
如何解决此问题?
答案 0 :(得分:0)
当我在Neo4j上运行您的查询时,我没有收到未知的过程错误。 您很可能没有在Neo4j服务器上安装APOC插件。方法如下:Apoc github
编辑:
我尝试使用自己的数据库:
MATCH (p:User) return apoc.map.submap(p{.*}, ["username", "uuid"], null, true)
输出:
{
"uuid": "1d69d...",
"username": "admin......"
}
如果无法使其正常运行,则可以尝试执行以下操作(与请求的输出不完全相同):
MATCH (p:User) WITH apoc.map.values(p{.*}, ["username", "uuid"], true) AS values UNWIND values[0] as username UNWIND values[1] as uuid return username, uuid