Neo4j GraphDB-获取不同类型节点之间的路径

Neo4j GraphDB-获取不同类型节点之间的路径,neo4j,cypher,Neo4j,Cypher,我有一个图形数据库(使用Neo4J),由5种类型的节点组成,例如文件名、类型1、类型2、类型3和类型4 CREATE (:type1{name:type1_A}) CREATE (:type1{name:type1_B}) CREATE (:type2{name:type2_A}) CREATE (:type2{name:type2_B}) CREATE (:type3{name:type3_A}) CREATE (:type3{name:type3_B}) CREATE (:type4{

我有一个图形数据库(使用Neo4J),由5种类型的节点组成,例如文件名、类型1、类型2、类型3和类型4

CREATE (:type1{name:type1_A})
CREATE (:type1{name:type1_B})

CREATE (:type2{name:type2_A})
CREATE (:type2{name:type2_B})

CREATE (:type3{name:type3_A})
CREATE (:type3{name:type3_B})

CREATE (:type4{name:type4_A})
CREATE (:type4{name:type4_B})

CREATE (:filename{name:1A_2A_3A_4A})
CREATE (:filename{name:1A_2A_3A_4A_another})
CREATE (:filename{name:1A_2B_3A_4A})
CREATE (:filename{name:1A_2A_3B_4A})
CREATE (:filename{name:1A_2A_3A_4B})
对于每个文件名,我创建了4个链接(具有相同的关系名称),如下所示:

MATCH(n:type1 {name:'type1_A'}) MATCH(f:filename {name:'1A_2A_3A_4A}) CREATE (n)-[:linked_to]->(f)" 
MATCH(n:type2 {name:'type2_A'}) MATCH(f:filename {name:'1A_2A_3A_4A}) CREATE (n)-[:linked_to]->(f)" 
MATCH(n:type3 {name:'type3_A'}) MATCH(f:filename {name:'1A_2A_3A_4A}) CREATE (n)-[:linked_to]->(f)" 
MATCH(n:type4 {name:'type4_A'}) MATCH(f:filename {name:'1A_2A_3A_4A}) CREATE (n)-[:linked_to]->(f)" 
其他文件名也是如此

现在,例如,我想获得所有涉及文件名节点的路径,这些节点链接到类型1\u A类型2\u A类型3\u A类型4\u A。在这种情况下,除了“1A\u 2A\u 3A\u 4A”和“1A\u 2A\u 3A\u 4A\u另一个”节点以及到type1\u Atype2\u A节点的相应路径之外,我还需要一个

有人能给我推荐相应的密码查询吗


谢谢

试试下面的方法,看看是否能满足您的需求

MATCH 
  (f:filename), 
  (t1:type1 {name: "type1_A")-[t1lt:linked_to]->(f), 
  (:type2 {name: "type2_A")-[:linked_to]->(f),
  (:type3 {name: "type3_A")-[:linked_to]->(f),
  (:type4 {name: "type4_A")-[:linked_to]->(f)
RETURN f, t1, t1lt

它只返回文件名节点。我还需要键入[1-4]节点和路径,然后您只需要将变量分配给这些节点和路径,并将它们添加到RETURN语句中。我已经更新了语句以返回:type1节点和关系