我正在查询图形中有以下节点的位置:
具有以下关系:
account)
我想要实现的查询是返回所有拥有通过基金持有微软帐户的客户。以下是我的查询:
MATCH (c:Customer)-[h:HAS]->(a:Account)-[p:PURCHASED]-(f:Fund)-[holds:HOLDS]->(s:Stock {ticker: 'MSFT'})
WHERE exists((f)-[:HOLDS]->(s:Stock))
AND exists ((f:Fund)-[holds]->(s:Stock))
AND NOT exists((a:Account {account_type: 'Individual'})-[p:PURCHASED]->(s:Stock))
RETURN *这几乎给我带来了预期的结果,但我一直从微软的股票中获得2种关系,这些关系与我不希望包含的个人账户有关。
任何帮助都将不胜感激!
结果:

预期结果:

发布于 2022-07-07 17:08:02
查询中存在重复。第2行和第3行是相同的。第2行是第1行的子图,然后在第1行和第4行中多次使用变量a、p和s。请告诉我它是否适合你。
MATCH (c:Customer)-[h:HAS]->(a:Account)-[p:PURCHASED]-(f:Fund)-[holds:HOLDS]->(s:Stock {ticker: 'MSFT'})
WHERE NOT exists((:Account{account_type: 'Individual'})-[:PURCHASED]->(:Stock))
RETURN *发布于 2022-07-07 18:43:11
在我看来,您应该取消选中Neo4j浏览器中的"Connect结果节点“选项:

https://stackoverflow.com/questions/72900816
复制相似问题