2015-10-30 21 views
1

我正在用Neo4j数据库写我的硕士论文,并遇到了一个问题。我需要你的帮助。 enter image description here遍历图获得可能的拓扑结构

左边的图片是我保存在Neo4j中的数据,整个图片展示了如何在云中部署应用程序。每个节点代表一项服务。 例如,我有一个Apach模块,我可以“托管一个”Apache服务器。绿线表示可能的选项,因为Apache服务器可以托管在Windows系统或Linux系统上。

所以有两种可能性进行部署,显示在右侧。

右边是我想要的,我称之为拓扑,它定义了应用程序部署的外观。

我想要的是检索所有可能的类型。

如何通过Cypher或Java遍历API获得这些可能性拓扑?

非常感谢..

+0

什么是“由关系alt_hosted_on引起的可能的拓扑结构”?你能描述一下你想要什么样的结果,以及到目前为止所尝试过的结果吗? –

+0

这听起来很有趣,但我同意你需要定义在这种情况下“拓扑”的含义。你是指一种正式的数学概念,还是其他的东西? – FrobberOfBits

+0

嗨,亲爱的马丁和FrobberOfBits,我已经更新了我的问题以说清楚,你会提供建议吗?非常感谢你。 – haroldding

回答

0

我不知道如果这是你做了什么,但它可能有助于考虑“什么是相关的,怎么样?”查询:

// What is related, and how 
MATCH (a)-[r]->(b) 
WHERE labels(a) <> [] AND labels(b) <> [] 
RETURN DISTINCT head(labels(a)) AS This, type(r) as To, head(labels(b)) AS That 
LIMIT 10 

这将返回通过图中至少一个关系连接的节点标签和关系名称。这是你的意思是拓扑?

+0

嗨威廉姆斯,对不起,我没有明确问题,我已经更新了这个问题,你会再看一遍吗?谢谢 – haroldding