Usage of CustomID on Vertexes


Hi everyone,

I have a confusion about the topic i mentioned below,  could anyone give any suggestion about it? or does the problem familiar with you?  what was your solution?

I need to load data from a relational database to JanusGraph. I want to use CustomID while I am loading vertexes.The main reason behind to use CustomID is that I want perform faster to be able to load related Vertexes on that ID while creating edges between vertexes.

So, document says that if I activated graph.set-vertex-id attribute some of other attributes will be disabled. What are those attributes? Isn't it an approved solution?
Or instead of using ID to reach a vertex is it a good solution to reach it by an indexed property? Which will perform better? 

Thanks a lot,


Hi Hazal,

Your comment is correct: the graph.set-vertex-id feature is not documented further than this, so using it is not advised.

You are also right that lookups in the index require additional processing. However, depending on the ordering of inserts and their distribution across JanusGraph instances,  many lookups can be avoided if vertices are still in the JanusGraph cache. Also, using storage backend ids assigned by JanusGraph will be more efficient for vertex reads later on because of the id partitioning applied.

So I support your presumption that using an indexed property is to be preferred.

Best wishes,    Marc