从匹配查询到APOC的Neo4j Cypher链输出

时间:2018-04-26 17:37:32

标签: neo4j cypher neo4j-apoc

我想使用Neo4j Cypher std程序。我目前正在使用Neo4j CE 3.1.0。我已成功设置并测试该过程为独立查询,例如:

apoc.index.search

现在,我想首先进行call apoc.index.search("Contact2", "Contact2.FirstName:monica~") 查询以获取一组节点,然后将找到的MATCH假脱机调用FirstNames节点上调用此APOC过程以查看是否可以找到Contact2节点中的任何相似内容和相应的权重。

这可能吗?我使用Contact2关键字尝试了几次迭代,但无济于事。感谢。

2 个答案:

答案 0 :(得分:1)

您可以将每个firstName值作为单独的模糊搜索词添加到传递给apoc.index.search的查询字符串中。例如:

MATCH (f:Foo)
WITH REDUCE(
    s = 'Contact2.FirstName:', n IN COLLECT(DISTINCT f.firstName) |
    s + n + '~ '
  ) AS query
CALL apoc.index.search("Contact2", query)
...

答案 1 :(得分:0)

@cybersam感谢您的回答。我没有尝试你的,但我也是自己解决了这个问题(经过几天的尝试)。我的语法如下:

// Contact1是我的源表。 Contact2是我的目的地表

change_user_group: can't find the user telegramd to switch to

我不确定这是否是最好的方式,但它对我有用