使用Gremlin为TinkerPop图顶点属性添加Meta元属性的方法问询
操作实现方法
前提确认
你使用的图数据库需要支持TinkerPop的元属性特性(supportsMetaProperties 为true,绝大多数主流兼容TinkerPop的图数据库都满足该条件)。
操作步骤
方案1:直接给已有BOM属性添加元属性
如果不需要修改原有BOM属性的ID,直接执行以下Gremlin语句即可:
// 替换g.V()内的筛选条件为你实际定位目标顶点的规则 g.V('你的目标顶点ID'). properties('BOM').hasValue('V_5842_Snack Pack Box'). property('ItemNumber', '5842'). property('LineNumber', '1'). property('Quantity', '1'). property('CreatedBy', '?'). property('CreatedOn', '2021-08-18T11:48:16Z'). property('ModifiedOn', '2021-08-19T19:19:08Z'). property('ModifiedBy', 'JAttar'). iterate()
方案2:替换原有BOM属性(支持修改属性ID)
如果你需要同步修改BOM属性本身的ID(和你示例中的新ID保持一致),可以先删除原有属性再新增带元属性的新属性:
g.V('你的目标顶点ID'). properties('BOM').hasValue('V_5842_Snack Pack Box').drop(). addProperty('BOM', 'V_5842_Snack Pack Box'). property(id, 'c458f282-edf4-4539-adbc-eb2fa20a969b'). // 不需要手动指定ID可删除本行 property('ItemNumber', '5842'). property('LineNumber', '1'). property('Quantity', '1'). property('CreatedBy', '?'). property('CreatedOn', '2021-08-18T11:48:16Z'). property('ModifiedOn', '2021-08-19T19:19:08Z'). property('ModifiedBy', 'JAttar'). iterate()
注意:执行修改前可以将语句末尾的iterate()替换为valueMap(true),预览修改后的结果,确认无误后再执行写入操作。
内容的提问来源于stack exchange,提问作者MKaplan
相关产品推荐
相关产品推荐

