Craig,
I have tried that, it takes 11 ms. but that is not a Pipe - (g.getVertices())
our code base is leveraging another TinkerPop enabled graph databse and are researching the idea of switching it out.
my research is trying to figure out how does orient perform on the generic Tinkerpop API.
I want to do things like g.V().has("someProperty","someValue").outE("someLabel")....somemoreStepsInMyPipe..
and know that that is going to hit indexes.
Does it ?
this is a simple test of the different ways I am accessing the graph and their timing on 300,000 vertices (not connected at the momen)
time("orient graph api 'orient specific'") {
val v = g.getVertices("V.testProperty", "cbc6b219-9df3-44c5-90b2-ab7a6bd9bf7e")
} 11 ms
time("tinkerpop pipeline 'generic'") {
val v = new GremlinPipeline(g, true).V("testProperty", "cbc6b219-9df3-44c5-90b2-ab7a6bd9bf7e").next()
} 21 seconds
time ("another blueprints? " ) {
val v = g.query().has("testProperty", "cbc6b219-9df3-44c5-90b2-ab7a6bd9bf7e").vertices()
} 19 seconds
time("sql count all 'orient specific'") {
val v:OResultSet[ODocument] = g.getRawGraph.query(
) 1 ms
}
// throws an error in distrubuted mode
// time ("gremlin command 'generic' ") {
// val r = g.getRawGraph.command(new OCommandGremlin("g.V().has('testProperty')")).execute()
// }
If I understand Orient's documentation right, I am going to have to either change our pipes (traversals in tinkerpop) into SQL+ queries in order to leverage the claims of orient's speed.
If i'm wrong in this, let me know