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



我有一个图形DB(使用Neo4J(,由5种类型的节点组成,例如文件名,type1,type2,type3和type4。

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)" 

以此类推,以此类推。

现在,例如,我想获取所有涉及文件名节点的路径链接到type1_Atype2_A以及type3_Atype4_A。在这种情况下,我除了">1A_2A_3A_4A"和">1A_2A_3A_4A_another"节点以及指向type1_Atype2_Atype3_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

最新更新