Hopper
Hopper

Reputation: 33

How does Janusgraph work in embedded mode? What are the visualisation options in the embedded mode?

I have started working on Janusgraph with Java in embedded mode. I was able to make it work and create a graph with HBASE as the backend. I am able to interact with the graph using the apis in the application which use the janusgraph(tinkerpop) functions to interact with the underlying storage (i assume).

my properties file:

gremlin.graph=org.janusgraph.core.JanusGraphFactory
storage.backend=hbase
storage.hbase.ext.zookeeper.znode.parent=/hbase-unsecure
storage.hbase.table=<tableName>
storage.hostname=<hostnames...>
storage.port=2181

The below function provides the graph traversal source to work with the operations on the graph.

public GraphTraversalSource openGraph() {
        log.info("Opening Graph");
        graph = GraphFactory.open(configuration);
        g = graph.traversal();
        return g;
    }

Most of the visualisation tools that i found support for integration with janusgraph, require a janusgraph server running separately. Is it even possible to visualise the graph created in embedded mode? Can someone help understand the exact working of the embedded mode of janusgraph and throw some light on its visualisation and if that is even possible? Its not well explained anywhere in the docs as well.

Upvotes: 2

Views: 571

Answers (1)

Kelvin Lawrence
Kelvin Lawrence

Reputation: 14391

JanusGraph is essentially a library that sits between your application and the back end storage. When you run in embedded mode you are calling directly into the storage layer via the TinkerPop and JanusGraph APIs. It is quite common to have a Gremlin Server in the mix and to connect to that rather than run in embedded mode. As you noticed a lot of the visualization options, such as the open source graph-notebook project, are designed to work with a Gremlin Server. The JanusGraph download does include a pre-configured Gremlin Server that is another option. It can be run locally but does require connecting using the client/server protocols instead of direct API calls. One possibility for embedded mode might be Gephi.

Upvotes: 3

Related Questions