海王星-克里姆林宫-Python |扩展网络分析并实时服务于诸如建议之类的用例的最佳实践

时间:2020-03-26 10:59:40

标签: networkx graph-databases amazon-neptune network-analysis gremlinpython

对于将Neptune DB用作网络数据库的最佳实践及其扩展以进行复杂计算的能力,我有一个普遍的问题。我想开发一个用户推荐系统,在该系统中,平台上的传入用户会被提示他们可能会关注的其他用户,以发展网络。

对于实施诸如Triadic Closure之类的简单技术,我是否应该在Network DB(我的情况下为AWS Neptune)上使用gremlin查询生成建议?我相信在这种情况下,我将必须创建python脚本来并行化多个节点的查询,并为每个节点大规模生成推荐。

OR 是一种较常见的做法,是将网络数据以节点,边及其属性的形式存储到关系数据库中,然后通过运行SQL查询以对其进行计算来加载将网络数据转换为python,然后在其之上使用NetworkX之类的软件包。在这种情况下,我不必担心批处理计算,因为像Redshift这样的关系数据库会处理它。但是,我将编写python逻辑来实现三重闭包等技术。

将来

全部,我可能想使用更复杂的图形计算技术,例如图形聚类,分区,各种中心度的计算。在Neptune + Gremlin的框架内所有/所有这些可能吗?

在上述情况下,我正在寻求以下问题的答案:

  1. 数据科学团队使用图形数据来构建解决方案(例如用户推荐)的常用技术栈是什么?所谓数据科学技术堆栈,是指有助于查询,分析,可视化,计算和服务的技术。

  2. Neptune + Gremlin可以代替诸如NetworkX的python软件包进行网络分析和集中度测量吗?

  3. Neptune DB是否仅理想地用作数据存储,它还可以支持复杂的网络分析和推荐服务吗?

任何对此的见解/资源都会很有帮助!

1 个答案:

答案 0 :(得分:2)

在格里姆林绝对有可能进行三合会闭锁。我还看到数据科学家通过在Jupyter Notebook中运行gremlin-python客户端同时使用NetworkX和Gremlin。由于此问题是Amazon Neptune特有的,您可能需要在[1]上发布到Neptune支持论坛。 [2]上还有一些有用的Gremlin食谱

如果您发布到支持论坛,我相信有人会回答。