- Java SE 11 Note: Neo4j version 4.1.0 and desktop version 1.3.4 were used at the time of writing.
- Create a build using the command
mvn clean package
. Quick tip for Intellij users, just double click control to open up theRun Anything
window where you can type the mvn commands. - Two jar files will be created in the target folder, copy the one which doesnot start with
original-...
- Paste the copied file in Neo4j database plugins folder as follows:
- Select three dots on top-right corner of database and select
Manage
- Right next to
Open Folder
there will be a dropdown button, click on it and selectPlugins
which should open the folder that contains all the plugins for a specific database. - Paste the jar file in this plugins folder.
- Select three dots on top-right corner of database and select
- Beneath the open folder, there should be some tabs such as Details, Logs, Settings, Plugins etc. Click on Settings tab which will list the Neo4j configuration. Scroll down to the bottom of the file and paste the following two lines:
- dbms.unmanaged_extension_classes=org.dbis.server=/serverx
- dbms.jvm.additional=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
- Please note /serverx is the URL where one can access the result from the neo4j extension and it is configurable. The second line contains the address for remote debugging. For debugging inside IntelliJ, users can select on Run -> Attach to Process -> select the process on port 5005. For more information on remote debugging, please check out https://neo4j.com/docs/java-reference/current/server-debugging/
- The extension is now configured and the result should now be available at the following URL:
- The results contain two values(numbers) in a comma separated array. The first value represents the number of records returned and the second value represents the time taken by the extension in milliseconds to perform the operation which includes the time for converting the sparql query to cypher and also executing it.
- The sparql query in the extension is currently hardcoded but can be extended by using a web form.
- RDF data can be imported in Neo4j using the Neo4j extension called Neosemantics. Please refer https://neo4j.com/labs/neosemantics/ for more details.