1

我发现如果你在 python 中设计你的导入函数来为每个节点使用一个事务,它会非常慢。

我有数百万个节点,必须以最快的方式处理它们。目前,我有一个 gremlin 脚本,它在生成器中返回一组节点和边。这是有效的,因为它是事务性的。但是,每当我遍历边缘时,我都必须知道将它们连接到我的应用程序的哪个节点;

我需要知道的是,对于任何边缘,边缘上的 inV 或 outV 是否会强制进行远程查找?

4

1 回答 1

2

Gremlin 是在图形数据库服务器中运行的查询语言(可以将其想象为图形的 SQL ——您可以每次都将完整的查询发送到服务器,或者您可以将 Gremlin 脚本存储在服务器上并像存储过程一样执行它们)。

请参阅这篇关于如何使用服务器端 Gremlin 脚本(存储过程)的帖子:

https://groups.google.com/d/topic/gremlin-users/Up3JQUwrq-A/discussion

如果您将查询拆分为多个灯泡请求,那么您做错了。不要为每个查询使用 Bulbs 的内置inV()outV()- 编写一个 Gremlin 脚本来为您执行完整的查询(这就是 Gremlin 所做的 - 它在图形数据库中以有效的方式迭代图形)。

有关如何在 Bulbs 中使用自定义 Gremlin 脚本的信息,请参阅此示例(您可以将此技术用于事务请求和查询):

在 neo4j 的灯泡框架中是否有等效的提交

注意:上面的例子没有使用服务器端脚本——它每次都将脚本发送到服务器;但是,您可能希望将脚本存储在生产服务器上。

于 2014-04-23T23:15:36.600 回答