0

sorry to bother you. I am trying to set up an ecosystem for a graph database that is going to be used by an application. I am going to use the gremlin-client container:

Gremlin-Console docker

Also i am going to use gremlin-server container:

Gremlin-Server container

And finally i want to use the neo4j container as the storage layer:

Neo4j container

I have read all the docker-files and i was able to connect the console with the server. But now i need to connect the gremlin server container to the neo4j container. I have several links on the web but i was not able to complete this task. It gives me an error of server failure when i tried to connect to neo4j through gremlin-server by running the gremlin-server.sh file . I have downloaded the repository in order to change the docker-file to fit my needs. Does anyone has experience and knows the correct procedure on how to accomplish the connection between the neo4j container with the gremlin server container and making queries through the gremlin console container? Please any help would be really appreciated. Thanks in advance, Juan Ignacio

JBeloqui
  • 27
  • 5

1 Answers1

1

Since you want to use Neo4j Server you're basically asking how to connect Gremlin Server to a Neo4j Server which was asked in this question. You must either:

  1. Configure the Neo4j graph in Gremlin Server to use HA mode as described here
  2. Configure the Neo4j graph in Gremlin Server to use the Bolt implementation found here

Once you have Gremlin Server connected to Neo4j Server you can then connect Gremlin Console to Gremlin Server through "remoting" discussed here.

In your comments below, you alluded to the fact that you really just want to use Gremlin Console with Neo4j. I brought up the options above because you referenced use of Docker containers and specifically Neo4j Server. Note that you can get going very quickly with Neo4j in embedded mode directly in the Gremlin Console which is discussed in detail here. In that case there is no need for Docker, Neo4j Server, etc.

If you must use Neo4j Server/Docker for some reason and connect to it from the Gremlin Console, then you will still go with one of the two options discussed above, either (1) HA Mode or (2) neo4j-gremlin-bolt but you would simply create those Graph instances in Gremlin Console. For HA mode, that would mean the Gremlin Console would effectively become a node in the Neo4j cluster and for neo4j-gremlin-bolt your Graph instance would just connect over the Bolt protocol.

stephen mallette
  • 45,298
  • 5
  • 67
  • 135
  • Maybe i express myself in the wrong way; what i want to do is to use neo4j as the storage layer for the graph database but as the construction/query language i want to use gremlin through the gremlin console. Is that possible? Maybe there is no need of the gremlin server part. – JBeloqui Mar 18 '19 at 18:04
  • Thanks for the updates!. We have designed a graph database for an application and we want to implement it. The requirements are to use neo4j as the storage layer (because we had some troubles with cassandra) and gremlin as the query language. The solution must be implemented in a containerized way. If i use the gremlin-console with the neo4j plugin, how the data would be persisted, maybe i am asking a stupid question, sorry if that is the case. Thanks in advance. – JBeloqui Mar 18 '19 at 18:42
  • i'm sorry but i don't know that I understand the question. the Gremlin Console doesn't store anything itself. you must connect it to a `Graph` instance which decides how your data i stored. if you want your data in Neo4j, then you create a `Graph` instance in the Gremlin Console that writes your data to Neo4. In the case of requiring a "container" then you would construct a `Graph` instance that users HA Mode or neo4j-gremlin-bolt to accomplish that. – stephen mallette Mar 18 '19 at 19:28
  • So you are saying i can install gremlin console and neo4j server and make it work together? – JBeloqui Mar 19 '19 at 17:47
  • yes - i've listed every possible option for doing so. – stephen mallette Mar 19 '19 at 18:18
  • As neo4j did not full fill all my requirements, i will not continue with this investigation. I went for janus graph so thanks anyway. – JBeloqui Mar 21 '19 at 20:48