Graph hasNot()在小精灵中应该如何工作?

Graph hasNot()在小精灵中应该如何工作?,graph,gremlin,titan,tinkerpop,Graph,Gremlin,Titan,Tinkerpop,如果给定的顶点没有特定的属性,结果应该是什么 g.V.hasNot('non-existence-property','value')query?顶点是否应该由这样的查询发出 在使用TinkerPop和Titan的内存图时,我得到了矛盾的结果: gremlin> g = TinkerGraphFactory.createTinkerGraph() ==>tinkergraph[vertices:6 edges:6] gremlin> g.V.hasNot("abcd", tru

如果给定的顶点没有特定的属性,结果应该是什么
g.V.hasNot('non-existence-property','value')
query?顶点是否应该由这样的查询发出

在使用TinkerPop和Titan的内存图时,我得到了矛盾的结果:

gremlin> g = TinkerGraphFactory.createTinkerGraph()
==>tinkergraph[vertices:6 edges:6]
gremlin> g.V.hasNot("abcd", true)
==>v[1]
==>v[2]
==>v[3]
==>v[4]
==>v[5]
==>v[6]
gremlin> g2 = TitanFactory.open(com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration.buildConfiguration().set(com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration.STORAGE_BACKEND, "inmemory"))
==>titangraph[inmemory:[127.0.0.1]]
gremlin> g2.addVertex(null)
==>v[256]
gremlin> g2.V.hasNot("abcd", true)
以上对我来说没什么问题-顶点没有指定的属性(设置为
true
),因此所有顶点都返回。但如果我在泰坦的记忆图表中做了类似的事情:

gremlin> g = TinkerGraphFactory.createTinkerGraph()
==>tinkergraph[vertices:6 edges:6]
gremlin> g.V.hasNot("abcd", true)
==>v[1]
==>v[2]
==>v[3]
==>v[4]
==>v[5]
==>v[6]
gremlin> g2 = TitanFactory.open(com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration.buildConfiguration().set(com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration.STORAGE_BACKEND, "inmemory"))
==>titangraph[inmemory:[127.0.0.1]]
gremlin> g2.addVertex(null)
==>v[256]
gremlin> g2.V.hasNot("abcd", true)

它不返回结果。哪一个是正确的?

只需在此处结束循环即可-已为此问题创建了GitHub问题(TinkerGraph确实显示了正确的行为):

请按照那里的决议行事