在 cypher 语句中复制 Neo4j 浏览器自动完成功能
Replicate Neo4j browser auto-complete function in a cypher statement
我正在尝试仅使用密码查询来复制 neo4j 浏览器界面的 "auto-complete" 功能。成功的实施意味着如果在浏览器中执行查询,则切换自动完成按钮将不起作用,因为所有 "additional relationships" 都在查询中指定。
我使用浏览器来制作查询原型,然后使用 RNeo4j 来实现它们。理想情况下,我希望 RNeo4j 结果与浏览器结果相匹配,包括自动完成。
例如,考虑查询:
`MATCH p = (n:label1 {name:'tom'})-[r*2..3]-(n:label1 {name:'jerry'})
RETURN p`
在浏览器中,关闭自动完成,我只得到我要求的(如预期的那样),而当自动完成打开时,我得到路径上任何节点之间的所有关系,这两个节点都没有是 "tom" 或 "jerry"。
我曾尝试使用 WITH
,然后在第一个 MATCH
之后使用第二个 MATCH
,但这不会产生我需要的结果。
非常感谢任何帮助!
自动完成功能再次调用以获取它当前拥有的所有节点 ID 之间的关系
match a-[r]-b where id(a) in [1,2...] and id(b) in [1,2,3...] return r
我正在尝试仅使用密码查询来复制 neo4j 浏览器界面的 "auto-complete" 功能。成功的实施意味着如果在浏览器中执行查询,则切换自动完成按钮将不起作用,因为所有 "additional relationships" 都在查询中指定。
我使用浏览器来制作查询原型,然后使用 RNeo4j 来实现它们。理想情况下,我希望 RNeo4j 结果与浏览器结果相匹配,包括自动完成。
例如,考虑查询:
`MATCH p = (n:label1 {name:'tom'})-[r*2..3]-(n:label1 {name:'jerry'})
RETURN p`
在浏览器中,关闭自动完成,我只得到我要求的(如预期的那样),而当自动完成打开时,我得到路径上任何节点之间的所有关系,这两个节点都没有是 "tom" 或 "jerry"。
我曾尝试使用 WITH
,然后在第一个 MATCH
之后使用第二个 MATCH
,但这不会产生我需要的结果。
非常感谢任何帮助!
自动完成功能再次调用以获取它当前拥有的所有节点 ID 之间的关系
match a-[r]-b where id(a) in [1,2...] and id(b) in [1,2,3...] return r