g.V.has('name','hercules').next()
g.query().has("name",EQUAL,"hercules").vertices()
有人可以澄清上述两者之间的过程有何不同?
由于
答案 0 :(得分:5)
第一个是gremlin-groovy语法:
g.V.has('name','hercules').next()
并且迭代所有顶点以寻找具有"名称"的顶点。物业价值为"赫拉克勒斯"。如果" name"索引然后泰坦将利用索引来避免线性扫描找到这样的顶点。
第二个基本上是Java和Titan API。上面的gremlin-groovy代码基本上编译成你的第二个语句:
g.query().has("name",EQUAL,"hercules").vertices()
但是,在第二个语句的情况下,它返回与过滤器匹配的所有顶点的迭代器,并且不会弹出第一个,如gremlin语句中所示(给定使用next())