Graph neo4j中的超图建模

Graph neo4j中的超图建模,graph,neo4j,cypher,Graph,Neo4j,Cypher,如果Hank与hyperedge有多个关系和/或hyperedge与Cletus有多个关系,但Hank通过hyperedge与Cletus之间只有一个关系,此查询是否会给出该关系 假设答案是肯定的,如果我这样做: MATCH (hank)-[]->(hyperedge)-[]->(cletus) 意志 如果Hank与hyperedge有多个FOO关系和/或hyperedge与Cletus有多个BAR关系,请给出我刚才创建的关系 这取决于,如果hank、hyperedge和cletu

如果Hank与hyperedge有多个关系和/或hyperedge与Cletus有多个关系,但Hank通过hyperedge与Cletus之间只有一个关系,此查询是否会给出该关系

假设答案是肯定的,如果我这样做:

MATCH (hank)-[]->(hyperedge)-[]->(cletus)
意志


如果Hank与hyperedge有多个
FOO
关系和/或hyperedge与Cletus有多个
BAR
关系,请给出我刚才创建的关系

这取决于,如果hank、hyperedge和cletus是固定的,那么是的

否则,您可能需要使用:

MATCH (hank)-[:FOO]->(hyperedge)-[:BAR]->(cletus)
只有一个

否则,您必须以某种方式“标记”该关系,例如,使用属性

MATCH shortestPath((hank)-[:FOO]->(hyperedge)-[:BAR]->(cletus))
MATCH shortestPath((hank)-[:FOO]->(hyperedge)-[:BAR]->(cletus))
MATCH (hank)-[:FOO {tag:1}]->(hyperedge)-[:BAR  {tag:1}]->(cletus)