What is the best approach to Access Neo4j Data from External Application?

I want to use Neo4j Graph Database for my Android Social Media Application, which is the best Approach to access Data from the Database.

  1. Drivers
  2. HTTP API

Use the bolt protocol, in combination with an official driver.

The HTTP API is an option, but unless you have a very specific reason why it's better for you, for many, many reasons bolt + drivers is a better option.

Ok, i have not read Bolt protocol yet, but i've seen the driver exposes UserName and Password, that's why i was asking :) may be storing the Neo4j Driver for JavaScript API on server and accessing Database through it is best option.

Bolt is the protocol these drivers use to talk to the database. Under this approach, you won't be running your program on the server, you'll run it somewhere else. The driver will talk to the database, and bolt is how that happens.

Here's the documentation:

The Javascript driver is a fine choice and works great. Generally yes, you'll use a username/password to access the database in this way.

1 Like

Forgot to ask, are there any rules on to keep the data secure?, the user logged in may delete all data. Broek enterprise has roles for users, is that how i should create users by giving them roles ? I just want to know how to secure the database .

Yes - using roles & users is the way to go to secure your data. There is a tutorial on how to do this in the official documentation:

https://neo4j.com/docs/operations-manual/current/tutorial/role-based-access-control/

1 Like