Gremlin 访问 属性 "id"

Gremlin access a property "id"

我们使用 OrientDB 并且在使用 Gremlin 终端时,我们无法查询单个用户 ID。

我们有这个

gremlin> g.V('@class','PERSON')[0..<5].map();
==>{id=50269488}
==>{id=55225663}
==>{id=6845786}
==>{id=55226938}
==>{id=55226723}
gremlin> g.V('@class','PERSON').has('id',50269488)[0..<5].map();
gremlin>

如您所见,我尝试过滤第一个 ID,但 return 什么也没有。我什至尝试按照建议 50269488L 进行类型转换 here

有什么建议可以尝试吗?

我猜是因为 属性 id 以某种方式被保留了。 一个例子:

gremlin> g.V.id
==>#15:0
==>#15:1
...

此returns RecordId 而不是属性 id.


来自工作室,例如:

create class PERSON extends V
create Property PERSON.id2 long
create vertex PERSON set id2 = 12345

那么这应该可行:

gremlin> g.V('@class','PERSON').has('id2',12345L)[0..<5].map();
==>{id2=12345}

更新:

此问题的解决方法是使用 getProperty 方法进行过滤:

g.V('@class','PERSON').filter{it.getProperty("id")==12345}[0..<5].map();