我有一个关于将 Neptune DB 用作网络数据库的最佳实践及其扩展复杂计算能力的通用问题。我想开发一个用户推荐系统,在该系统中,平台上的新用户会被提示他们可能会关注的其他用户,以发展网络。
为了实现像 Triadic Closure 这样的简单技术,我应该在网络数据库(在我的例子中是 AWS Neptune)上使用 gremlin 查询来生成建议吗?我相信在这种情况下,我必须创建 Python 脚本来并行化多个节点的查询并为每个节点大规模生成推荐。
或 将网络数据以节点、边及其属性的形式存储到关系数据库中,然后通过运行 SQL 查询将网络数据加载到 python 中,然后使用诸如最重要的是 NetworkX。在这种情况下,我不必担心批量计算,因为像 Redshift 这样的关系数据库会处理它。但是,我将编写 python 逻辑来实现诸如三元闭包之类的技术。
另外将来我可能想使用更复杂的图计算技术,如图聚类、分区、不同类型中心性的计算。在 Neptune+Gremlin 的框架内所有/任何这些都是可能的。
在上述背景下,我正在寻求答案的问题:
任何有关这方面的见解/资源都会非常有帮助!
最佳答案
绝对可以在 Gremlin 中进行三元闭包。我还看到数据科学家通过在 Jupyter Notebook 中运行 gremlin-python 客户端来同时使用 NetworkX 和 Gremlin。由于此问题非常针对 Amazon Neptune,您可能希望在 [1] 的 Neptune 支持论坛上发帖。在 [2] 中还有一些有用的 Gremlin 食谱
如果您在支持论坛上发帖,我相信有人会回复。
关于networkx - 海王星-Gremlin-Python |扩展网络分析和服务用例(如实时推荐)的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60865712/