遍历图形以获得可能的拓扑

时间:2015-10-30 14:39:14

标签: neo4j

我正在用Neo4j数据库写我的硕士论文,我遇到了一个问题。我需要你的帮助。 enter image description here

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

所以有两种可能的部署,如右图所示。

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

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

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

非常感谢..

1 个答案:

答案 0 :(得分: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

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