Hi, I am a newbie here.
I have downloaded the gds 2.3.1 library and generated the jar file following the steps outlined in the below link.
After downloading the library, I ran the command: ./gradlew :open-packaging:shadowCopy
which has generated a jar file. I have placed the jar file in the plugins directory of my Neo4j Desktop project.
However, when I restart the database, it is failing with error. The logs just state that Neo4j @ 7687 is down. connect ECONNREFUSED 127.0.0.1:7687
Can someone provide me or redirect me to a step-by-step procedure to generate the jar file using gradle upon downloading the gds library so that I can use the plugin on Neo4j Browser ?
Thank you!
Hello @email2sakethusa ,
If you are using Neo4j Desktop, the plugin for Graph Data Science library is available to you already. You need not create the .jar file.
Select the local DBMS and then open the plugins tab in the right pane. Then you install the Graph Data Science plugin that is compatible with the version of the DBMS.
Elaine
1 Like
Thank you @elaine_rosenber for your prompt response. I am trying to build a java application. For this, I want to first make sure the gds source code works fine when installed as a jar file and can be used in the Neo4j Desktop. Hence, trying to create the jar file.
When using as plugin, as suggested, I am able to use the GDS plugin on my data. But, want to accomplish the same by generating .jar file.
Thanks for your help!
You can open the folder where the .jar file was installed for your local DBMS and copy it to use it in your application. Not sure how to help you with your build issue. Is there any reason why you cannot use the .jar file installed?
Elaine
1 Like
Thank you @elaine_rosenber for your response.
I am able to use the plugin .jar file downloaded from the releases github. However, when trying to generate the same using Gradle for generating .jar file, I am facing build issues.
I wanted to try this approach of building the jar file from the source code as I am working on a custom implementation. So, before starting my implementation, I wanted to give a try just by generating the .jar file for the existing gds project, and then start working on my custom code in the project, then generate the .jar accordingly.
I am open to any suggestions and correct me if I am wrong here.
Thank you for your time!
I assume the server isn't starting because of a problem with the jar file. If you check debug.log you should see detailed information on why the server hasn't started. If you copy and paste the reason, we should be able to help you debug from there.
1 Like
Thank you @adam_cowley for the response.
I was able to resolve the issue from the debug.log and neo4j.log file.
It mentioned the issue is caused by Linkage Error.
Caused by: java.lang.LinkageError: GDS 2.4.0-alpha01 is not compatible with Neo4j version: 5.3
at org.neo4j.gds.compat.ProxyUtil$ProxyInfo.lambda$proxy$0(ProxyUtil.java:322) ~[open-gds-2.4.0-alpha01.jar:?]
I have downgraded the version to 4.4.17 on Neo4j Desktop for the project and was able to view the procedures of gds from the generated .jar file.
Thank you @elaine_rosenber @adam_cowley for your insights on this one.
Hello @email2sakethusa ,
Further we note in the README of the repository
By default we build against Neo4j version 4.4.x, which is defined in public/gradle/dependencies.gradle. Therefore, you either select JDK 11 or if you want to run with JDK 17, you add -Pneo4jVersion=5.1.0.
Sof if you build the jar with ./gradlew :open-packaging:shadowCopy -Pneo4jVersion=5.4.0
you should also be able to run against the neo4j 5.4.0.
I admit its a bit hidden inside the README.
1 Like
This is really helpful. Thank you!