匹配模式与可选节点

时间:2014-06-26 09:35:43

标签: neo4j cypher

我有一个cypher查询,它试图按特定顺序捕获节点:

 A:genus-->B:family-->C:order-->D:class-->E:phylum

标有genusfamilyorderclassphylum并获得类似下表的回复。

每个节点A:E都有其他属性 但实际上,节点可以按以下方式链接

A:genus --> B:no_rank --> C:family --> D:class --> E:no_rank --> F:phylum

如何捕获这样的结构,其中模式可能会遗漏标签或者在单个查询之间存在其他节点。

目前我的密码查询如下所示:

start basetaxa=node:ncbitaxid('taxid:2006379') 
match basetaxa-[:childof*0..]->(genus:`genus`)-[:childof*0..]->(family:`family`)-[:childof*0..]->(order:`order`)-[:childof*0..]->(class:`class`)-[:childof*0..]->(phylum:`phylum`) 
return genus.taxid,family.taxid,order.taxid,class.taxid,phylum.taxid; 

返回类似这样的内容

+-----------------------------------------------------------------------+
| genus.taxid | family.taxid | order.taxid | class.taxid | phylum.taxid |
+-----------------------------------------------------------------------+
| 914         | 206379       | 32003       | 28216       | 1224         |
+-----------------------------------------------------------------------+
1 row

0 个答案:

没有答案