Adding a bunch of Vertices and edges takes for ever

46 views
Skip to first unread message

yair...@gmail.com

unread,
Sep 11, 2017, 4:03:07 AM9/11/17
to JanusGraph users
I am writing an app that loads an existing RDBMS based graph implementation into JanusGraph.

I create this index:

        JanusGraphManagement mgmt = javaGraph.openManagement();
        if (mgmt.containsPropertyKey("nodeId")) {
            nodeId = mgmt.getPropertyKey("nodeId");
        } else {
            nodeId = mgmt.makePropertyKey("nodeId").dataType(Integer.class).make();
        }

        if(!mgmt.containsGraphIndex("nodeIdInd")){
            JanusGraphManagement.IndexBuilder nodeIdIndexBuilder = mgmt.buildIndex("nodeIdInd", Vertex.class).addKey(nodeId);
            nodeIdIndexBuilder.unique();
            JanusGraphIndex nodeIdIdx = nodeIdIndexBuilder.buildCompositeIndex();
        }


        mgmt.commit();


Creating the vertices and edges (~6K vertices and ~40K edges) takes a very long time.

Am I missing something?





yair...@gmail.com

unread,
Sep 11, 2017, 4:06:40 AM9/11/17
to JanusGraph users
I should add I do this query (to eliminate duplicate vertices) before adding each Vertex as I know that in the existing RDBMS same nodes exist multiple times:

javaGraph.traversal().V().hasLabel(instanceId).has("nodeId", nodeInfo.getId());

        if (vertexNode.hasNext()) {
            return vertexNode.next();
        } else {
            JanusGraphVertex node = javaGraph.addVertex(instanceId/*, T.id,((Integer)id).longValue()*/);
            node.property("nodeId", id);
            return node;
        }

Do I need to index the label as well?

Any other ideas?

Ankur Goel

unread,
Sep 11, 2017, 9:34:39 AM9/11/17
to JanusGraph users
You are using unique(), this takes lock for each operation. Try to handle uniqueness through application instead of Janus.

~AnkurG

Yair Ogen

unread,
Sep 12, 2017, 2:31:29 AM9/12/17
to Ankur Goel, JanusGraph users
good to know. Thanks

--
You received this message because you are subscribed to a topic in the Google Groups "JanusGraph users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/janusgraph-users/wnRpz_C5Nk0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to janusgraph-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/janusgraph-users/f5f44081-c7a0-4336-ad7c-30b56a372356%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages