In contrast to the RDMS (Relational Database Management System), where data objects are the main part, in a Graph Database, the relations between such data objects are playing the main role and are represented as dedicated objects which gives better performance especially when you have a lot of small data pieces tied to each other.

One of the first graph database systems was the Neo4j which will be examined in this post.

For queries, Neo4j uses the Cypher Query language with the cypher-shell tool, and to access a Neo4j database via common web-browser it has built-in UI. Also, Neo4j supports REST API.

Neo4j is distributed by the paid model, but it has free Community Edition with some limitations (no clustering, no online backups, only one user database, no scaling, etc), plus SaaS Aura. See their comparison тут>>>.

So, in this post, we will spin up the Neo4j Community Edition instance with Docker, will take a brief overview of its query language, and how a backup-restore can be performed.

Running Neo4j with Docker

Let’s run a container with Docker on a working laptop to see how it’s working. See the documentation here>>>.

$ docker run --rm --name neo4j -p 7474:7474 -p 7687:7687 neo4j:latest
…
Directories in use:
home: /var/lib/neo4j
config: /var/lib/neo4j/conf
logs: /logs
plugins: /var/lib/neo4j/plugins
import: /var/lib/neo4j/import
data: /var/lib/neo4j/data
certificates: /var/lib/neo4j/certificates
run: /var/lib/neo4j/run
Starting Neo4j.
…
2020–07–27 10:11:30.394+0000 INFO Bolt enabled on 0.0.0.0:7687.
2020–07–27 10:11:31.640+0000 INFO Remote interface available at http://localhost:7474/
2020–07–27 10:11:31.640+0000 INFO Started

Check it — open a browser, navigate to the http://localhost:7474, and log in with the default login-pass neo4j:neo4j:

#database #docker #neo4j #cypher ql #rdms

Neo4j: graph database — run with Docker and Cypher QL examples
2.05 GEEK