Add Neo4j to Gremlin Server - how to?











up vote
0
down vote

favorite












I have downloaded Gremlin Server with an intention of being able to use Gremlin to traverse a Neo4j DB.



Now, speaking of the latter, it has to be somehow added to the Gremlin Server installation, but I have difficulty finding any up-to-date guidance on how to do that. There are a few posts here on SO describing various kinds of problems people run into, but no definitive solution, much less one for the current versions of both Tinkerpop and Neo4j.



Would appreciate specific links, tips etc.



Thanks!










share|improve this question


























    up vote
    0
    down vote

    favorite












    I have downloaded Gremlin Server with an intention of being able to use Gremlin to traverse a Neo4j DB.



    Now, speaking of the latter, it has to be somehow added to the Gremlin Server installation, but I have difficulty finding any up-to-date guidance on how to do that. There are a few posts here on SO describing various kinds of problems people run into, but no definitive solution, much less one for the current versions of both Tinkerpop and Neo4j.



    Would appreciate specific links, tips etc.



    Thanks!










    share|improve this question
























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I have downloaded Gremlin Server with an intention of being able to use Gremlin to traverse a Neo4j DB.



      Now, speaking of the latter, it has to be somehow added to the Gremlin Server installation, but I have difficulty finding any up-to-date guidance on how to do that. There are a few posts here on SO describing various kinds of problems people run into, but no definitive solution, much less one for the current versions of both Tinkerpop and Neo4j.



      Would appreciate specific links, tips etc.



      Thanks!










      share|improve this question













      I have downloaded Gremlin Server with an intention of being able to use Gremlin to traverse a Neo4j DB.



      Now, speaking of the latter, it has to be somehow added to the Gremlin Server installation, but I have difficulty finding any up-to-date guidance on how to do that. There are a few posts here on SO describing various kinds of problems people run into, but no definitive solution, much less one for the current versions of both Tinkerpop and Neo4j.



      Would appreciate specific links, tips etc.



      Thanks!







      neo4j tinkerpop






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 7 at 7:42









      vanhemt

      537




      537
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote



          accepted










          There is a "TIP" describing Gremlin Server configuration in the TinkerPop reference documentation found here. Basically, you -install Neo4j dependencies:



          bin/gremlin-server.sh install org.apache.tinkerpop neo4j-gremlin 3.3.4


          then you edit your Gremlin Server YAML configuration file to connect to your database. Gremlin Server contains a sample file to get you started and is found the /conf directory of the installation. Of critical note is this entry:



          graphs: {
          graph: conf/neo4j-empty.properties}


          It specifies the Neo4j configuration to use and the sample one that ships with Gremlin Server looks like this:



          gremlin.graph=org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph
          gremlin.neo4j.directory=/tmp/neo4j
          gremlin.neo4j.conf.dbms.auto_index.nodes.enabled=true
          gremlin.neo4j.conf.dbms.auto_index.relationships.enabled=true


          As you can see, the configuration basically just passes through Neo4j specific configuration to Neo4j itself. Only the first two lines are TinkerPop options. In this case, it sets up Neo4j for embedded mode, meaning Neo4j runs within the Gremlin Server JVM. You can make Gremlin Server part of a Neo4j HA cluster with instructions found in the reference documentation here.



          Note that you asked for "current" versions of both TinkerPop and Neo4j. While these instructions are current for TinkerPop, I'm afraid that the Neo4j version TinkerPop supports is well behind their latest release. It would be nice if someone had time to issue a pull request for that.






          share|improve this answer





















          • Thank you @stephen mallette. I tried the -install route following an older SO post and ran into some kind of a version mismatch problem.How do we know, it's "neo4j-gremlin 3.3.4"?
            – vanhemt
            Nov 7 at 13:05












          • 3.3.4 is the most current release of TinkerPop. you should execute that using Gremlin Server 3.3.4 and thus use neo4j-gremlin 3.3.4
            – stephen mallette
            Nov 7 at 14:13










          • Sorry, just one more quick question.... I started the server and can see the message "[INFO] GremlinServer$1 - Channel started at port 8182". What I'm trying to do now is connect to the server with Bulbs. Meaning, I need to know Neo4j's address and login details. Could you clarify what those are, given I followed your instructions above literally? Sure, it's "localhost:8182...", but what is the entire path?
            – vanhemt
            Nov 7 at 14:59












          • Ah, okay, Bulbs isn't supposed to work with gremlin-server. Again, outdated info based on some SO post.
            – vanhemt
            Nov 7 at 15:31










          • I don't think you should start learning anywhere else besides the official Reference Documentation tinkerpop.apache.org/docs/current/reference and Practical Gremlin kelvinlawrence.net/book/Gremlin-Graph-Guide.html - read that stuff first and then when you hit problems search those specific issues out on the internet.
            – stephen mallette
            Nov 7 at 15:38











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














           

          draft saved


          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53185268%2fadd-neo4j-to-gremlin-server-how-to%23new-answer', 'question_page');
          }
          );

          Post as a guest
































          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          0
          down vote



          accepted










          There is a "TIP" describing Gremlin Server configuration in the TinkerPop reference documentation found here. Basically, you -install Neo4j dependencies:



          bin/gremlin-server.sh install org.apache.tinkerpop neo4j-gremlin 3.3.4


          then you edit your Gremlin Server YAML configuration file to connect to your database. Gremlin Server contains a sample file to get you started and is found the /conf directory of the installation. Of critical note is this entry:



          graphs: {
          graph: conf/neo4j-empty.properties}


          It specifies the Neo4j configuration to use and the sample one that ships with Gremlin Server looks like this:



          gremlin.graph=org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph
          gremlin.neo4j.directory=/tmp/neo4j
          gremlin.neo4j.conf.dbms.auto_index.nodes.enabled=true
          gremlin.neo4j.conf.dbms.auto_index.relationships.enabled=true


          As you can see, the configuration basically just passes through Neo4j specific configuration to Neo4j itself. Only the first two lines are TinkerPop options. In this case, it sets up Neo4j for embedded mode, meaning Neo4j runs within the Gremlin Server JVM. You can make Gremlin Server part of a Neo4j HA cluster with instructions found in the reference documentation here.



          Note that you asked for "current" versions of both TinkerPop and Neo4j. While these instructions are current for TinkerPop, I'm afraid that the Neo4j version TinkerPop supports is well behind their latest release. It would be nice if someone had time to issue a pull request for that.






          share|improve this answer





















          • Thank you @stephen mallette. I tried the -install route following an older SO post and ran into some kind of a version mismatch problem.How do we know, it's "neo4j-gremlin 3.3.4"?
            – vanhemt
            Nov 7 at 13:05












          • 3.3.4 is the most current release of TinkerPop. you should execute that using Gremlin Server 3.3.4 and thus use neo4j-gremlin 3.3.4
            – stephen mallette
            Nov 7 at 14:13










          • Sorry, just one more quick question.... I started the server and can see the message "[INFO] GremlinServer$1 - Channel started at port 8182". What I'm trying to do now is connect to the server with Bulbs. Meaning, I need to know Neo4j's address and login details. Could you clarify what those are, given I followed your instructions above literally? Sure, it's "localhost:8182...", but what is the entire path?
            – vanhemt
            Nov 7 at 14:59












          • Ah, okay, Bulbs isn't supposed to work with gremlin-server. Again, outdated info based on some SO post.
            – vanhemt
            Nov 7 at 15:31










          • I don't think you should start learning anywhere else besides the official Reference Documentation tinkerpop.apache.org/docs/current/reference and Practical Gremlin kelvinlawrence.net/book/Gremlin-Graph-Guide.html - read that stuff first and then when you hit problems search those specific issues out on the internet.
            – stephen mallette
            Nov 7 at 15:38















          up vote
          0
          down vote



          accepted










          There is a "TIP" describing Gremlin Server configuration in the TinkerPop reference documentation found here. Basically, you -install Neo4j dependencies:



          bin/gremlin-server.sh install org.apache.tinkerpop neo4j-gremlin 3.3.4


          then you edit your Gremlin Server YAML configuration file to connect to your database. Gremlin Server contains a sample file to get you started and is found the /conf directory of the installation. Of critical note is this entry:



          graphs: {
          graph: conf/neo4j-empty.properties}


          It specifies the Neo4j configuration to use and the sample one that ships with Gremlin Server looks like this:



          gremlin.graph=org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph
          gremlin.neo4j.directory=/tmp/neo4j
          gremlin.neo4j.conf.dbms.auto_index.nodes.enabled=true
          gremlin.neo4j.conf.dbms.auto_index.relationships.enabled=true


          As you can see, the configuration basically just passes through Neo4j specific configuration to Neo4j itself. Only the first two lines are TinkerPop options. In this case, it sets up Neo4j for embedded mode, meaning Neo4j runs within the Gremlin Server JVM. You can make Gremlin Server part of a Neo4j HA cluster with instructions found in the reference documentation here.



          Note that you asked for "current" versions of both TinkerPop and Neo4j. While these instructions are current for TinkerPop, I'm afraid that the Neo4j version TinkerPop supports is well behind their latest release. It would be nice if someone had time to issue a pull request for that.






          share|improve this answer





















          • Thank you @stephen mallette. I tried the -install route following an older SO post and ran into some kind of a version mismatch problem.How do we know, it's "neo4j-gremlin 3.3.4"?
            – vanhemt
            Nov 7 at 13:05












          • 3.3.4 is the most current release of TinkerPop. you should execute that using Gremlin Server 3.3.4 and thus use neo4j-gremlin 3.3.4
            – stephen mallette
            Nov 7 at 14:13










          • Sorry, just one more quick question.... I started the server and can see the message "[INFO] GremlinServer$1 - Channel started at port 8182". What I'm trying to do now is connect to the server with Bulbs. Meaning, I need to know Neo4j's address and login details. Could you clarify what those are, given I followed your instructions above literally? Sure, it's "localhost:8182...", but what is the entire path?
            – vanhemt
            Nov 7 at 14:59












          • Ah, okay, Bulbs isn't supposed to work with gremlin-server. Again, outdated info based on some SO post.
            – vanhemt
            Nov 7 at 15:31










          • I don't think you should start learning anywhere else besides the official Reference Documentation tinkerpop.apache.org/docs/current/reference and Practical Gremlin kelvinlawrence.net/book/Gremlin-Graph-Guide.html - read that stuff first and then when you hit problems search those specific issues out on the internet.
            – stephen mallette
            Nov 7 at 15:38













          up vote
          0
          down vote



          accepted







          up vote
          0
          down vote



          accepted






          There is a "TIP" describing Gremlin Server configuration in the TinkerPop reference documentation found here. Basically, you -install Neo4j dependencies:



          bin/gremlin-server.sh install org.apache.tinkerpop neo4j-gremlin 3.3.4


          then you edit your Gremlin Server YAML configuration file to connect to your database. Gremlin Server contains a sample file to get you started and is found the /conf directory of the installation. Of critical note is this entry:



          graphs: {
          graph: conf/neo4j-empty.properties}


          It specifies the Neo4j configuration to use and the sample one that ships with Gremlin Server looks like this:



          gremlin.graph=org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph
          gremlin.neo4j.directory=/tmp/neo4j
          gremlin.neo4j.conf.dbms.auto_index.nodes.enabled=true
          gremlin.neo4j.conf.dbms.auto_index.relationships.enabled=true


          As you can see, the configuration basically just passes through Neo4j specific configuration to Neo4j itself. Only the first two lines are TinkerPop options. In this case, it sets up Neo4j for embedded mode, meaning Neo4j runs within the Gremlin Server JVM. You can make Gremlin Server part of a Neo4j HA cluster with instructions found in the reference documentation here.



          Note that you asked for "current" versions of both TinkerPop and Neo4j. While these instructions are current for TinkerPop, I'm afraid that the Neo4j version TinkerPop supports is well behind their latest release. It would be nice if someone had time to issue a pull request for that.






          share|improve this answer












          There is a "TIP" describing Gremlin Server configuration in the TinkerPop reference documentation found here. Basically, you -install Neo4j dependencies:



          bin/gremlin-server.sh install org.apache.tinkerpop neo4j-gremlin 3.3.4


          then you edit your Gremlin Server YAML configuration file to connect to your database. Gremlin Server contains a sample file to get you started and is found the /conf directory of the installation. Of critical note is this entry:



          graphs: {
          graph: conf/neo4j-empty.properties}


          It specifies the Neo4j configuration to use and the sample one that ships with Gremlin Server looks like this:



          gremlin.graph=org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph
          gremlin.neo4j.directory=/tmp/neo4j
          gremlin.neo4j.conf.dbms.auto_index.nodes.enabled=true
          gremlin.neo4j.conf.dbms.auto_index.relationships.enabled=true


          As you can see, the configuration basically just passes through Neo4j specific configuration to Neo4j itself. Only the first two lines are TinkerPop options. In this case, it sets up Neo4j for embedded mode, meaning Neo4j runs within the Gremlin Server JVM. You can make Gremlin Server part of a Neo4j HA cluster with instructions found in the reference documentation here.



          Note that you asked for "current" versions of both TinkerPop and Neo4j. While these instructions are current for TinkerPop, I'm afraid that the Neo4j version TinkerPop supports is well behind their latest release. It would be nice if someone had time to issue a pull request for that.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 7 at 12:08









          stephen mallette

          24.1k32675




          24.1k32675












          • Thank you @stephen mallette. I tried the -install route following an older SO post and ran into some kind of a version mismatch problem.How do we know, it's "neo4j-gremlin 3.3.4"?
            – vanhemt
            Nov 7 at 13:05












          • 3.3.4 is the most current release of TinkerPop. you should execute that using Gremlin Server 3.3.4 and thus use neo4j-gremlin 3.3.4
            – stephen mallette
            Nov 7 at 14:13










          • Sorry, just one more quick question.... I started the server and can see the message "[INFO] GremlinServer$1 - Channel started at port 8182". What I'm trying to do now is connect to the server with Bulbs. Meaning, I need to know Neo4j's address and login details. Could you clarify what those are, given I followed your instructions above literally? Sure, it's "localhost:8182...", but what is the entire path?
            – vanhemt
            Nov 7 at 14:59












          • Ah, okay, Bulbs isn't supposed to work with gremlin-server. Again, outdated info based on some SO post.
            – vanhemt
            Nov 7 at 15:31










          • I don't think you should start learning anywhere else besides the official Reference Documentation tinkerpop.apache.org/docs/current/reference and Practical Gremlin kelvinlawrence.net/book/Gremlin-Graph-Guide.html - read that stuff first and then when you hit problems search those specific issues out on the internet.
            – stephen mallette
            Nov 7 at 15:38


















          • Thank you @stephen mallette. I tried the -install route following an older SO post and ran into some kind of a version mismatch problem.How do we know, it's "neo4j-gremlin 3.3.4"?
            – vanhemt
            Nov 7 at 13:05












          • 3.3.4 is the most current release of TinkerPop. you should execute that using Gremlin Server 3.3.4 and thus use neo4j-gremlin 3.3.4
            – stephen mallette
            Nov 7 at 14:13










          • Sorry, just one more quick question.... I started the server and can see the message "[INFO] GremlinServer$1 - Channel started at port 8182". What I'm trying to do now is connect to the server with Bulbs. Meaning, I need to know Neo4j's address and login details. Could you clarify what those are, given I followed your instructions above literally? Sure, it's "localhost:8182...", but what is the entire path?
            – vanhemt
            Nov 7 at 14:59












          • Ah, okay, Bulbs isn't supposed to work with gremlin-server. Again, outdated info based on some SO post.
            – vanhemt
            Nov 7 at 15:31










          • I don't think you should start learning anywhere else besides the official Reference Documentation tinkerpop.apache.org/docs/current/reference and Practical Gremlin kelvinlawrence.net/book/Gremlin-Graph-Guide.html - read that stuff first and then when you hit problems search those specific issues out on the internet.
            – stephen mallette
            Nov 7 at 15:38
















          Thank you @stephen mallette. I tried the -install route following an older SO post and ran into some kind of a version mismatch problem.How do we know, it's "neo4j-gremlin 3.3.4"?
          – vanhemt
          Nov 7 at 13:05






          Thank you @stephen mallette. I tried the -install route following an older SO post and ran into some kind of a version mismatch problem.How do we know, it's "neo4j-gremlin 3.3.4"?
          – vanhemt
          Nov 7 at 13:05














          3.3.4 is the most current release of TinkerPop. you should execute that using Gremlin Server 3.3.4 and thus use neo4j-gremlin 3.3.4
          – stephen mallette
          Nov 7 at 14:13




          3.3.4 is the most current release of TinkerPop. you should execute that using Gremlin Server 3.3.4 and thus use neo4j-gremlin 3.3.4
          – stephen mallette
          Nov 7 at 14:13












          Sorry, just one more quick question.... I started the server and can see the message "[INFO] GremlinServer$1 - Channel started at port 8182". What I'm trying to do now is connect to the server with Bulbs. Meaning, I need to know Neo4j's address and login details. Could you clarify what those are, given I followed your instructions above literally? Sure, it's "localhost:8182...", but what is the entire path?
          – vanhemt
          Nov 7 at 14:59






          Sorry, just one more quick question.... I started the server and can see the message "[INFO] GremlinServer$1 - Channel started at port 8182". What I'm trying to do now is connect to the server with Bulbs. Meaning, I need to know Neo4j's address and login details. Could you clarify what those are, given I followed your instructions above literally? Sure, it's "localhost:8182...", but what is the entire path?
          – vanhemt
          Nov 7 at 14:59














          Ah, okay, Bulbs isn't supposed to work with gremlin-server. Again, outdated info based on some SO post.
          – vanhemt
          Nov 7 at 15:31




          Ah, okay, Bulbs isn't supposed to work with gremlin-server. Again, outdated info based on some SO post.
          – vanhemt
          Nov 7 at 15:31












          I don't think you should start learning anywhere else besides the official Reference Documentation tinkerpop.apache.org/docs/current/reference and Practical Gremlin kelvinlawrence.net/book/Gremlin-Graph-Guide.html - read that stuff first and then when you hit problems search those specific issues out on the internet.
          – stephen mallette
          Nov 7 at 15:38




          I don't think you should start learning anywhere else besides the official Reference Documentation tinkerpop.apache.org/docs/current/reference and Practical Gremlin kelvinlawrence.net/book/Gremlin-Graph-Guide.html - read that stuff first and then when you hit problems search those specific issues out on the internet.
          – stephen mallette
          Nov 7 at 15:38


















           

          draft saved


          draft discarded



















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53185268%2fadd-neo4j-to-gremlin-server-how-to%23new-answer', 'question_page');
          }
          );

          Post as a guest




















































































          這個網誌中的熱門文章

          Academy of Television Arts & Sciences

          L'Équipe

          FTSE 250 Index