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 console退出gremlin console