我已经得到了这个查询工作:
MATCH (doc:Captions)-[:HAS_CATEGORY]-(c:Categories {id: 'ne0MtinOO6DXryRvqMxS'})
MATCH (doc:Captions)-[:HAS_PILLAR]-(p:Pillars {name: 'Feel Good'})
WITH count(doc) as docCount
MATCH (doc:Captions)-[:HAS_CATEGORY]-(c:Categories {id: 'ne0MtinOO6DXryRvqMxS'})
MATCH (doc:Captions)-[:HAS_PILLAR]-(p:Pillars {name: 'Feel Good'})
WITH docCount, doc Limit 12
RETURN doc, docCount
字符串
这将返回一个25的docCount
和doc
s,限制为12。但感觉就像我做了两次同样的调用。
我不想打两次同样的电话
2条答案
按热度按时间9jyewag01#
我找到了答案here
我把它更新成这样
字符串
我已经更新了基于@cyberSam的评论
型
cuxqih212#
一个简单的答案是遍历图一次并收集节点:
字符串
这将返回12行。每行是一个节点和文档的数量。
你上面的评论说文档可以有一个支柱或一个类别。这个查询只会找到两者都有的文档。
为了避免这种情况,从第一个match语句收集文档,从第二个match语句收集文档,然后在处理之前联接列表。
另一个选项是首先匹配文档,然后
optional match
两个可能的路径。