groovy - Gremlin 更新现有顶点的元属性
问题描述
我正在创建一个具有其属性的顶点。每个属性都有其元属性
// Define schema in Gemlin Console
// Create vertex
mgmt.makeVertexLabel('v01').make()
// Create properties
mgmt.makePropertyKey('p01').dataType(String.class).cardinality(LIST).make()
// Create meta-properties
mgmt.makePropertyKey('created_by').dataType(String.class).cardinality(SINGLE).make()
mgmt.makePropertyKey('created_date').dataType(String.class).cardinality(SINGLE).make()
mgmt.makePropertyKey('modified_by').dataType(String.class).cardinality(SINGLE).make()
mgmt.makePropertyKey('modified_date').dataType(String.class).cardinality(SINGLE).make()
// Insert data
p.addV('v01').
property(list, 'p01', 'pvalue01', 'created_by', 'system01' ,'created_date', new Date(), 'modified_by', '', 'modified_date')
元属性信息:
created_by
: 创建属性值的系统名称
created_date
: 创建值的时间戳
modified_by
: 更新属性值的系统名称
modified_date
: 更新值的时间戳
将属性值pvalue01
添加到 propertyp01
时,只有created_by
和created_date
有值,而modified_by
和modified_date
有空字符串。
如果将更新的值pvalue02
添加到属性p01
,我应该如何更新元属性(modified_by
和modified_date
)pvalue01
?
解决方案
要更改元属性的值,您只需找到它并使用一个property
步骤来更改它的值。例如
g.V().hasLabel('v01').
properties('p01').
property('modified_date',new Date())
如果您需要更新多个属性,则从该property
步骤返回的值是顶点属性,因此您可以将它们链接在一起。
g.V().hasLabel('v01').
properties('p01').
property('modified_date',new Date()).
property('modified_by','Me')
list
更新添加了一个在使用基数时如何工作的示例:
gremlin> g.addV('V01').
property(list,'mylist','pv1').
property(list,'mylist','pv2')
==>v[60870]
gremlin> g.V().hasLabel('V01').propertyMap()
==>[mylist:[vp[mylist->pv1],vp[mylist->pv2]]]
gremlin> g.V().hasLabel('V01').properties('mylist')
==>vp[mylist->pv1]
==>vp[mylist->pv2]
gremlin> g.V().hasLabel('V01').properties('mylist').hasValue('pv2')
==>vp[mylist->pv2]
gremlin> g.V().hasLabel('V01').properties('mylist').hasValue('pv2').property('meta',123)
==>vp[mylist->pv2]
gremlin> g.V().hasLabel('V01').properties('mylist').hasValue('pv2').properties()
==>p[meta->123]
推荐阅读
- react-native - 选择器 onValueChange() 调用了两次
- mysql - MS Access DAO 连接在退出时放弃更改
- reactjs - React native - 改变动态元素的状态
- reactjs - 设置基本的 React JS 材质 UI 模板
- javascript - Javascript:按日期过滤 JSON - 显示过去和未来的对象
- mongodb - mongodb 中的 $Lookup 和 $addField
- javascript - window.onload 未在 NodeJS 页面中运行
- elasticsearch - ElasticSearch 正则表达式查询 无数据
- mysql - 无法使用 Visual Basic 表单插入 mysql 数据库
- node.js - aws.config.credentials 是否一次只处理一个用户?因为 globalSignout 正在注销所有用户