Gremlin 更新现有属性

Posted

技术标签:

【中文标题】Gremlin 更新现有属性【英文标题】:Gremlin update existing property 【发布时间】:2019-07-18 04:24:27 【问题描述】:

如何使用 Gremlin 更新图中节点的现有属性?

以下方法创建两个具有 2 个不同值的属性“timestamp”,而不是更新现有属性“timestamp”:

ContentGraph.g.addV('Filter').property('timestamp', new Date());
ContentGraph.g.V().hasLabel('Filter').property('timestamp', new Date());

【问题讨论】:

【参考方案1】:

我不确定您使用的是哪个图形数据库,但有些数据库(例如 Amazon Neptune)具有默认的 set 基数。您可以使用 Cardinality.single 枚举覆盖该基数设置。

ContentGraph.g.addV('Filter').property('timestamp', new Date());
ContentGraph.g.V().hasLabel('Filter').property(single,'timestamp', new Date());

希望对您有所帮助, 开尔文

【讨论】:

谢谢。这适用于海王星!提示:如果您使用 gremlin-javascript(或来自 npm 的 gremlin),则需要使用“gremlin.process.cardinality.single”而不是“single” 很高兴它对你有用。如果您对它感到满意,请您接受答案,以便其他人可以看到问题已得到解答。很好地添加了关于基数类的提醒:-) 这个答案很有帮助,因为我在家里使用嵌入的 Neo4J 和在生产阶段使用 Neptune。我还有一个问题。 “我如何(重新)设置默认基数?” 使用 Amazon Neptune 时的默认基数始终为 set,并且无法更改。但是,您可以使用 Cardinality.single 枚举在每个属性的基础上覆盖/重置它。如property(single,'score',75)

以上是关于Gremlin 更新现有属性的主要内容,如果未能解决你的问题,请参考以下文章

Gremlin-顶点不与合并结合使用

如何在单个 gremlin 查询中将两个顶点详细信息和边属性详细信息合并在一起

进入gremlin console退出gremlin console

如何使用 Gremlin 在一次查询中同时获取节点属性和边名?

Gremlin删除所有顶点

Gremlin如何同时搜索数字和字符串