我在neo4j中有父/子图:具有属性名称(字符串)的决定(父母,子决定列表)我将用于搜索。它通过查询完美地找到我的决定,其中包含搜索词:
START d=node:node_auto_index({autoIndexQuery}) MATCH (d:Decision) RETURN d
我想使这个查询复杂化,以找到名称中包含搜索词的决定,并且还在其子项名称中包含搜索词:
Name of relation is CONTAINS (Decision CONTAINS decisions)
答案 0 :(得分:1)
我认为以下查询应该有效:
START parent=node:node_auto_index({autoIndexQuery})
WITH parent
START child=node:node_auto_index({autoIndexQuery})
MATCH (parent:Decision)-[:contains]->(child:Decision)
where parent <> child
RETURN parent, child;
这里的一个问题是全文查询条件(我认为)只能在START
块中进行。这意味着您需要以这种方式匹配父级和子级,然后将它们与MATCH
连接起来。
这可能需要一些时间才能完成,具体取决于您匹配的节点数,因为查询将主要查看匹配的所有节点之间是否存在此父/子关系。但它应该完成工作。