How do I edit neo4j.conf in an AuraDB instance? - neo4j

I am trying to edit the settings of my AuraDB hosted neo4j instance, specifically, trying to set the following line:
apoc.import.file.enabled=true
I have looked at the official tutorial and many other places, and for the life of me, I am not able to find out where either the "settings" button is located, or how to locate the neo4j.conf or apoc.conf files. It seems that something has possibly changed in a newer version. I have tried both in the browser at https://console.neo4j.io/#databases and in Neo4J Desktop. For the desktop application, I am running it on Ubuntu via the .appimage. I created my database on the website and connected via remote connection following this guide.
Some things that might help me solve the issue:
Is it possible to open a shell in auradb to let me run normal bash commands?
Is the .conf accessible "within" the .appimage?
From the official description of File locations, I am supposedly able to do the following in Neo4j Desktop to find the configuration file:
From the Open dropdown menu of your Neo4j instance, select Terminal,
and navigate to /conf/neo4j.conf.
Yet, when I press the Open dropdown menu, I do not see a Terminal option. What I get is Neo4j Browser, Neo4j Bloom, and Neo4j ETL Tool.

Aura is a managed database - which is to say that you don't get low-level access to configuration of the kind you're describing. The documentation you're looking at relates to self-hosted instances of Neo4j, where you're the one managing and configuring the instance from scratch and where you have that level of access to the underlying configuration.
To the problem you're trying to solve, the following article entitled Loading data into Neo4j Aura is your best bet for the currently available options for loading data into your managed database.
Per the documentation, APOC is installed in Aura databases, but only a limited set of functions and procedures are enabled (as of May 2022). In particular, only a small subset of apoc.import procedures are available - from what I can see, CSV and GraphML support is enabled via apoc.load.csv and apoc.load.graphml, while you also have access to apoc.load.json and apoc.load.xml.
Lists of the currently supported procedures and functions are available at the foot of that document:
Neo4j Aura Supported APOC procedures (updated).json
Neo4j Aura Supported APOC functions (updated).json

From a Neo4j Aura Knowledge Article:
In Aura, we currently do not support changing any property that may
exist in the Neo4j product and defined in neo4j.conf.

Related

apoc installed on neo4j desktop but no apoc procedures registered for database

I cannot get APOC to work on neo4j.
Documentation is good ... when present!
I installed the apoc library via Neo4j Desktop:
Launch Neo4j Desktop
Locate DBMS
Select Plugins tab on right
installed the plugin
Then I open a project.
I try:
CALL apoc.load.json("file:///person.json")
YIELD value
RETURN value;
but
There is no procedure with the name `apoc.load.json` registered for this database instance. Please ensure you've spelled the procedure name correctly and that the procedure is properly deployed.
Indeed The available procedures does not display apoc, in spite it is installed.
Then, after I cleared out that Neo4j Desktop is not using the installed community edition I had, and found that i can find the installed versions under the "more" options > Terminal:
I checked that my neoj4.conf file have these lines:
# Leaving this unconfigured will load all procedures found.
#dbms.security.procedures.allowlist=apoc.coll.*,apoc.load.*,gds.*
(commented out, to load everything, so apoc should load...)
I think I have done OK, as here:
APOC installation neo4j desktop
I also tried to delete the project and set it up again:
https://community.neo4j.com/t5/general-discussions/some-apoc-procedures-not-available/m-p/41590
but still not working...
--
How do I get APOC to work ??
Do I have to install it for each project ?
Do I need to configure it for each DB in the project ?
I am using neo4j desktop 1.5.6.
#Edited
today I replicated steps of yesterday, paying attention to the recommendations of #William Lion answer.
At launch of neo4j Desktop, I was prompted an alert that "Local graph password has been changed".
That is strange, because I have not changed it...
It did not accept nor my previous password (the one I use for the server), nor the default 'neo4j', but could pass the alert because I could ignore this change until the next Graph start.
So I ignored it, and was prompted to enter the password to connect with the neo4j server. And this time, apoc were found.
I tried to close the neo4j desktop, quitting from all open projects, and relaunch. This time I was not asked to input the password for the local dbms. So, I assumed the to have restarted the next Graph, following the previous alert, and I was expected to be requested to input the password again.
Maybe the problem was here. So, to avoid future hiccups:
does neo4j reset the password of local dbms itself after a while or after certain conditions ?
after neo4j desktop closes, am I sure all server and open dmbs instances are properly shut down ? What does until the next Graph start actually mean ?
Plugins must be installed for each DBMS instance in Neo4j Desktop (there can be multiple DBMS instances in each project). Also, there can only be one active DBMS in Neo4j Desktop at a given time. Make sure that you have installed the plugin for the DBMS instance that you want to work with AND that DBMS is the one that is currently running. I'm guessing that you successfully installed the plugin for one DBMS, but tried querying with a different active DBMS that did not have the plugin.

How to load yelp dump file in neo4j desktop?

I'm using Neo4j Desktop Version 1.4.3. I've created a new project named "Yelp Project", then uploaded the yelp dump file in it, but I'm not getting the option "Create new DBMS from dump". So I selected Add --> Local DBMS and created a database. But when I open Neo4j Browser, there are no nodes and relationships. I'm not able to figure out how to get this done, can someone help refer image
The feature that you are looking for is not yet available for Neo4j desktop Windows version. See below community thread discussion then scroll at the bottom.
https://community.neo4j.com/t/missing-create-new-dbms-from-dump-yelp-dataset/29393

Neo4J Connection issues to local project

I am really sorry to ask a simple question like this, but it is getting frustrating. I installed neo4j 4.0.4 on my Windows machine, created a new project as shown in the official tutorial video and set a password for my local graph. Funnily, the tutorial video ends after setting the password and opening the browser not showing how to perform Cypher queries on this newly created database. In neo4j Desktop my database is shown correctly and it seems to be up and running.
However, when I try to connect to this database via the browser, I do not see the database at all. It is so confusing when connecting to the server to specify a username and password, if you only need to set a password for your database?! The default neo4j user can see the system and default database but not my project database. In addition, I cannot link files from the project directory in Cypher queries. I tried to disable authentication, but it did not help at all.
When I issue SHOW DATABASES command, it does not list my database as well.
Update / Edit:
Seems I misunderstood the concept of projects. Every database is named neo4j - default, regardless of the name specified in the project ?!. However, I still cannot access project files. So far, I copied the files manually in the database directory under "imports". But I guess that is not the intended way.
After importing data to this default database, it still shows no data in the project itself.
Data files in the imports directory are not automatically imported into the DB. That is because neo4j has no idea how you want to store that data as nodes and relationships.
So, it is up to you to determine your desired data model, and then write the appropriate code to enforce that data model.
You can take a look at this page to learn about how to import CSV data (probably the most commonly used import data format).

Unable to switch neo4j database

I am new in neo4j and i am using "neo4j-community-3.0.1" . I want to switch database and retrieve nodes .After google i found how to switch database . But there is no file with name
conf/neo4j-server.properties
There are two files neo4j.conf and neo4j-wrapper.conf . But there is not any configuration such
org.neo4j.server.database.location=data/graph.db
Can any one help me how to switch database and i am able to see node using
browser
As of Neo4J 3.0, all the configuration files have been streamlined and unified into one file. Which is "neo4j.conf".
You need to change the DB path in this file.
If you are using Linux the file can be found at
/etc/neo4j/neo4j.conf
The actual entry you need to change will be
dbms.directories.data=/var/lib/neo4j/data
If you are using the windows client for Neo4J Community. You should have an option to browse to a database directory before starting the database.
Quoting this link.
http://neo4j.com/blog/neo4j-3-0-massive-scale-developer-productivity/
"The new file, config and log structures in Neo4j 3.0 are designed to streamline operations and to bring Neo4j better into line with operational IT expectations. One notable change is to move from multiple config files to a single namespaced files."
The ops manual might also be of use to you.
http://neo4j.com/docs/operations-manual/current/

browsing distinct Neo4j databases in the same machine

I am experimenting with several Neo4j databases in my machine. The databases have been generated and populated from Java programs.
Now I would like to inspect them.
It seems that the recommended way is to open the web console so it points to a specific database by means of configuring the property:
org.neo4j.server.database.location=<database location path>
in the neo4j configuration file: conf/neo4j-server.properties
This if fine if I am only interested in one database. But it does not look like a good idea if I am switching often between databases or if I want to explore more than one at the same time.
Is it possible to configure distinct web consoles (maybe using distinct ports) so they refer to my distinct databases?
And is it possible to do this without installing several instances (binaries) of Neo4j in my machine and having to modify lots of configuration files?
Yes! If you edit that same conf/neo4j-server.properties file you can change the org.neo4j.server.webserver.port and org.neo4j.server.webserver.https.port values (I normally set the https port to one less than the http port).
Once you've done that you run ./bin/neo4j start (make sure you shut down your Java app which is accessing the database first) to start the server on that port and then simply visit http://localhost:<port>
I'm not 100% sure if generating the database from Java will generate everything that you need for running a server. If not you can download Neo4j from http://neo4j.com/download/, make multiple copies of it, and replace the graph.db folder with yours one (make sure you shut down any processes which are accessing those databases before copying the directory). Also if you've downloaded a newer version you might need to set allow_store_upgrade=true (see: http://neo4j.com/docs/stable/deployment-upgrading.html)
You can have multiple Embedded Neo4j databases without installing separate binaries. You just need to be configure the different database path for each instance of the database.

Resources