Getting neosemantics installed and working with docker

I have a gist of my docker-compose file in a gist at: docker-compose.yml

(1)

My first question relates to the instructions in the documentation which say to place this

dbms.unmanaged_extension_classes=semantics.extension=/rdf

line in the neo4j.conf file. I am using the neo4j:3.5 image and the neo4j.conf file contains the following line:

dbms.unmanaged.extension.classes=semantics_extension=/rdf

which is close, but not an exact match to the instructions. The instructions say to use a _, but the file coming from the docker image uses a .. Does it matter?

I did try to edit the neo4j.conf file, but every time I bring the docker image down and back up again, it stomps on every change I make.

(2)

My next question is about the =/rdf part. Is /rdf a path from the root of the running container or relative to /var/lib/neo4j? In my docker-compose file, I have a volume mapping - ../data/rdf:/rdf, but I am not sure if it should be - ../data/rdf:/var/lib/neo4j/rdf...?

(3)

When I bring the container up, I get a warning which says Unknown config option: dbms.unmanaged.extension.classes. I am not sure if this warning is important or what to do about it. I am finding it odd that google turns up zero search results for dbms.unmanaged.extension.classes.

(4)

When I run Neo4J Desktop, I was able to get APOC installed as a plugin and neosemantics-3.5.0.4.jar it sitting next to apoc-3.5.0.9-all.jar in my plugins directory ( volume map: - ../data/plugins:/var/lib/neo4j/plugins ). However, when I click on the Add Plugin button, APOC shows as installed, but neosemantics is not mentioned at all. I assume it should be...?

(5)

I can connect to my DB and run Neo4J Browser (4.0.6). Within the browser, I can execute call dbms.procedures(), but do not see anything related to neosemantics in the results.

The instructions also suggest :GET /rdf/ping, but when I execute that, I get the following error:

FetchURLError
Could not fetch URL: "Failed to fetch". This could be due to the remote server policy. See your web browsers error console for more information.

There is nothing in the error console.

Thank you for any assistance you can provide.

As of today the following seems to work and runs neo4j with apoc and neosemantics in docker (it does the installation for you!),

docker run --publish=7474:7474 --publish=7687:7687 --volume=$HOME/neo4j/data:/data --env='NEO4JLABS_PLUGINS=["apoc", "n10s"]' --env=NEO4J_AUTH=none neo4j:3.5.17

1 Like