问题标签 [gremlin-server]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gremlin - 如何将自定义 jar(图形实现)添加到 gremlin 控制台?
我目前正在使用 apache-gremlin-console 的 3.2.0-incubating 版本,我想知道如何加载自定义图形实现。我已经使用修补程序图示例来验证控制台是否已正确加载。我试图使用 :install 命令加载我的自定义 jar,但我得到一个未解决的依赖错误 - 抓取葡萄时出错。使用 :install 命令加载自定义图形 jar 的正确方法是什么?是否有另一种方法来加载外部 jar 并通过 gremlin 控制台访问它?或者我是否已经实现了自己的控制台来使用自定义图形实现?
请指教。
谢谢。
graph - 如何在 Gremlin 服务器中更新 Vertex 的值(Titan 1.0)
我有一个具有以下详细信息的顶点:
我想更新顶点的名称:
我尝试了以下查询:
gV(4192).setProperty('name','William')
但它没有更新,它给出了错误
node.js - 在哪里可以找到通过 gremlin-javascript 访问 gremlin 服务器的查询
我正在使用 nodejs 的 gremlin-javascript 模块来查询 Titan 数据库。一切正常,但我想监控实际访问 gremlin 服务器的内容以及我可以了解的有关该查询的任何其他内容。我已经检查了 titan 文件夹中的 gremlin-server 登录日志文件夹。我在这些日志中找不到任何有用的东西。在这方面的任何帮助都将非常有用。谢谢
graph - 如何在 Gremlin Server Titan 1.0 中删除顶点
我正在使用 Titan 1.0 版本和 Gremlin Server with REST Api 来创建和更新顶点详细信息。如何使用 vertexId 删除顶点?
graph - 如何在 Gremlin Server (Titan 1.0) 中形成内部子查询?
我正在使用以下查询:
它给出以下结果:
我也想在响应中获取顶点“NotificationInitiatedByVertexId”(边缘属性)的信息。为此,我尝试了以下查询:
注意:我直接尝试在子查询中使用顶点 ID,因为我不知道如何从查询本身的边缘属性中动态获取值。
它给出了错误。我尝试了很多,但找不到任何解决方案。
neo4j - Gremlin 图查询是否总是在它自己的地址空间中执行操作?
诚然,我的大部分数据库经验都是关系型的。该领域的原则之一是避免通过网络移动数据。这通过使用类似的东西来体现:
这可能会在数据库引擎中排序和限制,而不是使用类似的东西:
随后在客户处订购并获得前 10 名,如果有 100 万人的记录,这可能会产生灾难性的影响。
所以,对于 Gremlin(来自 Groovy),如果我这样做:
我看到的是!
打印出来的,所以我假设这Person
会在订单和限制步骤之前将所有记录带入我客户的地址空间,这不是预期的效果。
我完全在数据库引擎中处理查询的选项是否成为特定于产品的(例如,对于 orient-db,可能以他们的 SQL 风格提交查询),还是我缺少关于 Gremlin 的一些东西?
database - Titan 索引更新耗时过长
即使在空数据库上,在 Titan 1.0 中创建索引也需要几分钟时间。时间似乎很准确,这表明存在不必要的延迟。
我的问题是:如何缩短或消除 Titan 重新索引所需的时间? 从概念上讲,由于没有完成任何工作,所以时间应该是最少的,当然不是四分钟。
(注意,我之前已经指出了一个解决方案,它只是让 Titan 等待完全延迟而不超时。这是错误的解决方案 - 我想完全消除延迟。)
我用来从头开始设置数据库的代码是:
它似乎是updateIndex...REINDEX
阻塞直到超时的调用。这是一个已知问题还是无法修复的工作表?难道我做错了什么?
编辑:禁用 REINDEX,正如评论中所讨论的,实际上并不是一个修复,因为索引似乎没有变得活跃。我现在看到:
graph - 如何根据顶点 ID 按 Gremlin Server (Titan 1.0) 响应分组?
我正在尝试以下查询:
gV(835776).out('Follow').in('WallPost').order().by('PostedTimeLong', decr).range(0,2)
我得到以下回应:
由于同一个帖子发布在两个不同的 ID 上,因此它会出现两次响应。我想根据顶点 id 按响应分组(两者都有相同的顶点 id。或者我只想从它们中取出一个对象,因为两者都是相同的。
我尝试了以下查询,但对我没有任何帮助:
gV(835776).out('Follow').in('WallPost').groupBy{it.id}.order().by('PostedTimeLong', decr).range(0,3)
gV(835776).out('Follow').in('WallPost').group().by(id).order().by('PostedTimeLong', decr).range(0,3)
如何根据顶点 ID 按结果分组。
node.js - gremlin 在满足多重性约束的同时创建边,如果违反删除现有边然后创建,否则只创建它
我挣扎了很长一段时间来解决我的问题,就像
我有一个图表,其中定义了多重性约束。在创建新边时,可以创建新边,或者由于数据被更改而违反多重性约束。
现在,当数据发生变化时,我需要删除/删除现有边缘并创建一个新边缘。这是我的问题。我无法单次放弃并创造优势。
我一直在尝试的是,我通过 nodejs 的 node-gremlin 模块将查询发送到 gremlin 服务器。我试图创建的关系是 [merchant]-1--(sells)--*-> [product] 。在给定的场景中,只有 1 个商家可以销售产品。当其他商家开始销售产品时。我需要更新它以反映它们之间的新关系。可能是以前没有人出售它,所以只需要创造新的优势。最后返回创建的边缘。
我试图实现的流程是这样的
查找是否存在现有边 -> 删除现有边 -> 提交删除边命令 -> 创建新边 -> 提交新边。
在上面的查询中,我没有为添加边编写提交语句,因为我正在批量提交添加边。
我无法弄清楚如何着手解决这个问题。任何帮助都会很棒。
titan - gremlin-server REST 上的多个查询
例如我想查询这样的东西,
如何使用 REST 将这些查询发送到 gremlin-server ?