Different behaviour with TinkerGraph and JanusGraph

41 views
Skip to first unread message

Pavel Ershov

unread,
Feb 21, 2020, 11:09:21 AM2/21/20
to Gremlin-users
graph=JanusGraphFactory.open("inmemory")
graph
.addVertex()
graph
.traversal().V().has("p", neq("v"))

graph
=TinkerGraph.open()
graph
.addVertex()
graph
.traversal().V().has("p", neq("v"))


gremlin> graph=JanusGraphFactory.open("inmemory")
==>standardjanusgraph[inmemory:[127.0.0.1]]
gremlin
> graph.addVertex()
==>v[4344]
gremlin
> graph.traversal().V().has("p", neq("v"))
18:51:57 WARN  org.janusgraph.graphdb.transaction.StandardJanusGraphTx  - Query requires iterating over all vertices [()]. For better performance, use indexes
==>v[4344]
gremlin
>
gremlin
> graph=TinkerGraph.open()
==>tinkergraph[vertices:0 edges:0]
gremlin
> graph.addVertex()
==>v[0]
gremlin
> graph.traversal().V().has("p", neq("v"))
gremlin
>

What is right answer?

HadoopMarc

unread,
Feb 22, 2020, 10:14:29 AM2/22/20
to Gremlin-users
Hi Pavel,

TinkerGraph is right by law. Carefully read this quote from the TinkerPop ref docs:

TinkerGraph is a single machine, in-memory (with optional persistence), non-transactional graph engine that provides both OLTP and OLAP functionality. It is deployed with TinkerPop and serves as the reference implementation for other providers to study in order to understand the semantics of the various methods of the TinkerPop API.

The issue seems a bit like a 0/0 division and I personally feel that TinkerGraph has the more sensible response to the query at hand.

Cheers,    Marc

Op vrijdag 21 februari 2020 17:09:21 UTC+1 schreef Pavel Ershov:
Reply all
Reply to author
Forward
0 new messages