Gremlin 如何在janusgraph中将null值设置为节点的属性?

Gremlin 如何在janusgraph中将null值设置为节点的属性?,gremlin,janusgraph,tinkerpop3,.net-core-3.1,Gremlin,Janusgraph,Tinkerpop3,.net Core 3.1,是否可以通过gremlinapi为janusgraph中节点的属性设置null值?我们使用gremlin.net 3.4.4和.net core 3.1。当前可用的Apache TinkerPop版本实际上没有空属性值的概念。这可以作为Tinkerpop 3.5中的可选功能添加 目前,属性的不存在本质上意味着其值为空。这种方法避免了为每个顶点和边的每个可能属性提供值的诱惑,即使该值为空 正如您在下面看到的,尝试将属性值设置为null将没有效果 gremlin> g.addV('test')

是否可以通过gremlinapi为janusgraph中节点的属性设置null值?我们使用gremlin.net 3.4.4和.net core 3.1。

当前可用的Apache TinkerPop版本实际上没有空属性值的概念。这可以作为Tinkerpop 3.5中的可选功能添加

目前,属性的不存在本质上意味着其值为空。这种方法避免了为每个顶点和边的每个可能属性提供值的诱惑,即使该值为空

正如您在下面看到的,尝试将属性值设置为null将没有效果

gremlin> g.addV('test').property('p1',null)
==>v[61316]
gremlin> g.V(61316).valueMap()
==>[]

如果你绝对要有一个不表示值的集合,也许可以考虑使用一个空字符串或类似的东西,但是一般来说,不推荐这种方法,因为你可以通过查看某个属性是否存在于给定的顶点或边缘来测试NULL。具有空属性值的概念。这可以作为Tinkerpop 3.5中的可选功能添加

目前,属性的不存在本质上意味着其值为空。这种方法避免了为每个顶点和边的每个可能属性提供值的诱惑,即使该值为空

正如您在下面看到的,尝试将属性值设置为null将没有效果

gremlin> g.addV('test').property('p1',null)
==>v[61316]
gremlin> g.V(61316).valueMap()
==>[]

如果你绝对要有一个不表示值的集合,也许可以考虑使用一个空字符串或类似的东西,但是一般来说,不推荐这种方法,因为你可以通过查看某个属性是否存在于给定的顶点或边缘来测试NULL。即将推出的功能上的3.5.0升级文档: