[英]GraphOfTheGodsFactory and Gremlin query
我試圖給出的查詢, 這里在Java中:
import static com.tinkerpop.blueprints.Compare
Graph g = GraphOfTheGodsFactory.create("gods")
g.query().has("age", GREATER_THAN, 1000).vertices().iterator().hasNext
但這似乎返回false
盡管以下一個返回true
但沒有利用索引的好處:
new GremlinPipeline(g.getVertices()).has("age", GREATER_THAN, 1000).toList().size() > 0
示例5在這里對某人有用嗎?
這是我創建的要測試的項目: https : //github.com/joan38/TestTitan這應該打印出擁有1000多年歷史的眾神的名字,但事實並非如此。
我真的覺得TinkerPop或Titan不能直截了當地:(也許是我。
干杯
這是ElasticSearch的陷阱。 問題是您的代碼運行太快。 ES的默認刷新間隔為1秒。 我不知道使用嵌入式ES時配置此間隔的任何方法,因此您所能做的就是:在加載圖形的代碼和查詢數據的代碼之間添加Thread.sleep(1000)
。
不知道為什么它不為您返回true
。 查看我的Titan控制台會話:
gremlin> g = GraphOfTheGodsFactory.create("gods")
==>titangraph[local:gods]
gremlin> g.query().has("age", GREATER_THAN, 1000).vertices().iterator().hasNext()
==>true
更進一步:
gremlin> g.query().has("age", GREATER_THAN, 1000).vertices()
==>v[20]
==>v[4]
==>v[16]
==>v[32]
gremlin> g.query().has("age", GREATER_THAN, 1000).vertices()._().age
==>4500
==>10000
==>5000
==>4000
gremlin> g.query().has("age", GREATER_THAN, 1000).has('name','saturn').vertices()._().map
==>{name=saturn, type=titan, age=10000}
gremlin> new GremlinPipeline(g.getVertices()).has("age", GREATER_THAN, 1000).toList().size()
==>4
也許可以在Titan控制台中嘗試一下,並確保它像在這里對我一樣對您有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.