我需要在图形数据库中对航空公司的飞行数据进行建模(我特别使用neo4j,但如果这会成为问题,我会考虑其他人).我的问题更多的是关于如何以一种便于遍历和发现不同航班选项的方式对这些数据进行建模.我希望存储和以后查询的数据类型的一些具体示例:
1)像JFK-> LAX这样的直飞场景.看似简单,简单的两个节点关系.但是这两个节点之间可能有许多可能感兴趣的航班.那么,如果我需要存储单独的飞行细节,那么JFK和LAX节点之间关系中的数组最好吗?
2)具有多个停靠点的飞行场景,如JFK-> LAX-> SAN.在这种情况下,如果我对出发和到达城市感兴趣,似乎建模三个节点之间的关系可能是有限的效用?也就是说,我可以与JFK-> SAN建立关系,而且洛杉矶国际机场有停留的事实可能是这种关系中的财产?
如果我需要根据节点之间关系中的数据数组查询或遍历图形,并且这些数组变大(例如JFK和LAX之间有100个不同的飞行),那会不会引入性能或可扩展性问题?
希望这个问题不是太开放 - 我只是试图避免构建适用于具有~5个节点的小型示例模型但不能扩展到数百个机场和数万个航班的东西.
数百个机场和成千上万的航班仍然是一个非常小的数据集,如果这将成为neo4j的一个问题,我会感到惊讶.
在我的头顶,您可能将所有机场都作为自己的节点,每条路线可以是自己的节点,与其接触的所有机场有关系,可能在路线本地的每个关系上都有"订单"属性.
(ROUTE1)---------
/ \ \
*order=1/ \*order=2 \*order=3
v v v
(JFK) (LAX) (SAN)
我相信有更好的解决方案.