1

我正在使用 python 和 AWS Neptune。

我正在使用 id 的“upsert”模式:

g.V().has(node_type,'id',node.id).fold()
.coalesce(__.unfold(),__.addV('node_type').property('id',node.id)).
property('property','first').next()

实际上,使用添加的属性添加(或从图中选择)顶点。现在我想添加两个我未能添加的属性:

  1. 我想添加“max”属性。如果顶点具有属性,我想取它的最大值和值“10”(例如)。尝试将以下语句添加到我的查询中,但它不起作用:

    property('time_max', __.max(__.values('max'), 10))

    但是我遇到了一个异常“无法找到方法:DefaultGraphTraversal.max”

  2. 以相同方式递增“计数”属性的另一个属性。我在“sack”方法上遇到了同样的异常。

如何添加这些属性?唯一的方法是获取顶点然后提交吗?我希望它尽可能高效。

谢谢!

4

1 回答 1

1

max() 步骤用于查找流或集合中的最大值,例如以下简单示例:

gremlin> g.inject(1,2,3).max()
==>3  

你可以做这样的事情

union(values('max'),constant(10)).max()
于 2020-05-07T18:48:06.420 回答