如何从节点对象获取子图?
How to get a submap from a node Object?
我正在尝试使用 apoc 程序在 Neo4j 中获取 person 节点的子图。
我尝试使用在 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'
如何解决这个问题?
当我 运行 您在我的 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
我正在尝试使用 apoc 程序在 Neo4j 中获取 person 节点的子图。
我尝试使用在 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'
如何解决这个问题?
当我 运行 您在我的 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