2

我刚开始使用 Neo4j,但我想知道是否可以与 Neo4j 一起使用。如果我有一个多方网络,例如人员、电话号码、航班预订(非常粗略的示例,因此可能无法完美运行)

在这个网络中说人们可以有多个电话号码,多个人可以在一个航班预订中,多个号码可以在一个航班预订中。

如果我用它创建一个网络,我会有很多断开连接的组件。大多数组件将是:

  • 1 人有 1 个电话号码,并且正在进行 1 次预订。

会有以下几种情况:

  • 2 人有 2 个电话号码,并且正在进行 1 次预订。

然后随着我们的继续,将会有更多稀有但复杂的组件。

  • 10 个人有 30 个电话号码并且是 5 预订。

是否可以运行一个查询来遍历整个网络并获得所有这些不同组件形状的直方图:

  • 1 人有 1 个电话号码,并且正在进行 1 次预订。- 10,000 个案例
  • 2 人有 2 个电话号码,并且正在进行 1 次预订。- 5,000 箱
  • 10 个人有 30 个电话号码并且是 5 预订。- 2 例

你能用 Neo4j 做这种事情吗?

我希望这很清楚,如果没有,请告诉我!谢谢

编辑:根据 Mohamed E. ManSour 的建议,我创建了一个可以清除它的样本http://console.neo4j.org/?id=u8gzhu

4

1 回答 1

0

所以,我想这可能是你要找的?它可能特定于您的情况,但是这种按计数对事物进行分组的方法似乎适用于任何单级组件。

http://console.neo4j.org/r/9w30x5

START p=node:node_auto_index('name:("Person_A","Person_B","Person_C","Person_D","Person_E")') 
MATCH num<-[:HAS]-p-[:IS_ON]-booking 
WITH p, count(distinct booking) AS bookings, count(distinct num) AS nums 
RETURN count(1), bookings, nums
于 2013-08-12T03:52:40.437 回答