我正在使用Neo4j社区3.4.1。
我有一个图,看起来像: Data Model Graph
绿色节点是列表。
顶部列出的是列出一个,底部列出的是列出两个
顶部功能是壁炉,底部功能是停车
我正在寻找一个从特定列表开始的Cypher查询,并查找满足 all 个条件的所有SavedSearches。
例如,列出两个将满足上述SavedSearch
,因为它与SavedSearch的两个条件都有关系。
但是,列出一个不符合该条件,因为该列表仅满足SavedSearches条件之一。
我有以下查询,该查询从列表开始,并且与任何具有直接路径的已保存搜索匹配,但是该搜索不会检查已保存搜索的所有路径是否都已重新连接。因此,以下查询将返回清单一和清单二的SavedSearch:
MATCH (l:Listing {list_id: 'one'})
MATCH (l)-[:ATTRIBUTE]
->(:Value {field: 'features', value: 'Fireplace'})
<-[:CONDITION]
-(s:SavedSearch)
RETURN s
是否有一种方法可以匹配SavedSearch,然后追溯搜索路径,以查看所有CONDITION路径是否都返回相同的列表?
我希望将其作为直接的Cypher Query进行,但是如果这样做更容易且效率更高,我愿意做一个自定义过程并使用Java API。
答案 0 :(得分:0)