Neo4j 通过其子节点查找父节点

Neo4j 通过其子节点查找父节点,neo4j,cypher,Neo4j,Cypher,如果我知道Cypher中的节点C和B,那么找到节点A的最佳方法是什么 ┌────HAS_ITEM───┐ │ ▼ │ .─. │ ( C ) :ITEM .─. `─' ( A ) `─'

如果我知道Cypher中的节点
C
B
,那么找到节点
A
的最佳方法是什么

  ┌────HAS_ITEM───┐                   
  │               ▼           
  │              .─.          
  │             ( C ) :ITEM   
 .─.             `─'          
( A )                         
 `─'                          
  │              .─.          
  └─HAS_ITEM───▶( B ) :ITEM   
                 `─'          

我当前的查询使用了
匹配项。。。与。。。匹配
结构,但也许有更好的方法来表达这一点?

您可以创建一个表达式,在
B
C
之间找到
a

CREATE INDEX ON :Item(name)


MATCH (b:Item {name: 'B'})<-[:HAS_ITEM]-(a)-[:HAS_ITEM]->(c:Item {name: 'C'})
RETURN a

您只需创建一个表达式,在
B
C
之间查找
a

CREATE INDEX ON :Item(name)


MATCH (b:Item {name: 'B'})<-[:HAS_ITEM]-(a)-[:HAS_ITEM]->(c:Item {name: 'C'})
RETURN a

好的,这是正确的。如果我有很多东西,有没有办法找到一个合适的方法。如果我有很多东西,有没有办法找到一个合适的方法?