MATCH (hank)-[]->(hyperedge)-[]->(cletus)
如果Hank与hyperedge有多种关系,而/或者hyperedge与Cletus有多种关系,但只有一种关系从 Hank 到 hyperedge 到 Cletus,这个查询会给我这种关系吗?
假设答案是肯定的,如果我这样做:
CREATE (hank)-[:FOO]->(hyperedge)-[:BAR]->(cletus)
将
MATCH (hank)-[:FOO]->(hyperedge)-[:BAR]->(cletus)
给我我刚创建的关系,如果Hank与hyperedge有多个FOO
关系,而/或者hyperedge与Cletus有多个BAR
关系?
答案 0 :(得分:1)
这取决于,如果hank,hyperedge和cletus是固定的,那么是的,
否则你可能想要使用:
MATCH shortestPath((hank)-[:FOO]->(hyperedge)-[:BAR]->(cletus))
只获得一个。
否则你必须以某种方式“标记”这种关系,例如有财产。
MATCH (hank)-[:FOO {tag:1}]->(hyperedge)-[:BAR {tag:1}]->(cletus)