2017-06-06 18:03:45 +08:00
|
|
|
## Quick Start
|
|
|
|
|
2017-11-24 20:06:47 +08:00
|
|
|
This chapter outlines installing and running Memgraph, as well as executing
|
|
|
|
basic queries against the database.
|
2017-06-16 17:47:13 +08:00
|
|
|
|
2017-11-24 20:06:47 +08:00
|
|
|
### Installation
|
2017-06-16 17:47:13 +08:00
|
|
|
|
2017-11-24 20:06:47 +08:00
|
|
|
The Memgraph binary is offered as:
|
2017-06-16 17:47:13 +08:00
|
|
|
|
2017-11-24 20:06:47 +08:00
|
|
|
* Debian package for Debian 9 (Stretch) and
|
|
|
|
* Docker image.
|
2017-06-16 17:47:13 +08:00
|
|
|
|
2017-11-24 20:06:47 +08:00
|
|
|
After downloading the binary, proceed to the corresponding section below.
|
2017-06-16 17:47:13 +08:00
|
|
|
|
2017-11-24 20:06:47 +08:00
|
|
|
#### Docker Installation
|
2017-06-16 17:47:13 +08:00
|
|
|
|
2017-11-24 20:06:47 +08:00
|
|
|
Before proceeding with the installation, please install the Docker engine on
|
|
|
|
the system. Instructions on how to install Docker can be found on the
|
|
|
|
[official Docker website](https://docs.docker.com/engine/installation).
|
|
|
|
Memgraph Docker image was built with Docker version `1.12` and should be
|
|
|
|
compatible with all later versions.
|
2017-06-12 23:27:11 +08:00
|
|
|
|
2017-11-24 20:06:47 +08:00
|
|
|
After installing and running Docker, download the Memgraph Docker image and
|
|
|
|
import it with the following command.
|
2017-06-14 20:52:28 +08:00
|
|
|
|
2017-11-24 20:06:47 +08:00
|
|
|
```
|
|
|
|
docker load -i /path/to/memgraph-<version>-docker.tar.gz
|
|
|
|
```
|
|
|
|
|
|
|
|
Memgraph is then started with another docker command.
|
|
|
|
|
|
|
|
```
|
|
|
|
docker run -p 7687:7687 \
|
|
|
|
-v mg_lib:/var/lib/memgraph -v mg_log:/var/log/memgraph -v mg_etc:/etc/memgraph \
|
|
|
|
memgraph
|
|
|
|
```
|
|
|
|
|
|
|
|
On success, expect to see output similar to the following.
|
|
|
|
|
|
|
|
```
|
|
|
|
Starting 8 workers
|
|
|
|
Server is fully armed and operational
|
|
|
|
Listening on 0.0.0.0 at 7687
|
|
|
|
```
|
|
|
|
|
|
|
|
Memgraph is now ready to process queries, you may now proceed to
|
|
|
|
[querying](#querying). To stop Memgraph, press `Ctrl-c`.
|
|
|
|
|
|
|
|
Memgraph configuration is available in Docker's named volume `mg_etc`. On
|
|
|
|
Linux systems it should be in
|
|
|
|
`/var/lib/docker/volumes/mg_etc/_data/memgraph.conf`. After changing the
|
|
|
|
configuration, Memgraph needs to be restarted.
|
|
|
|
|
|
|
|
#### Debian Package Installation
|
|
|
|
|
|
|
|
After downloading Memgraph as a Debian package, install it by running the
|
|
|
|
following.
|
|
|
|
|
|
|
|
```
|
|
|
|
dpkg -i /path/to/memgraph_<version>.deb
|
|
|
|
```
|
|
|
|
|
|
|
|
If the installation was successful, Memgraph should already be running. To
|
|
|
|
make sure that is true, start it explicitly with the command:
|
|
|
|
|
|
|
|
```
|
|
|
|
systemctl start memgraph
|
|
|
|
```
|
|
|
|
|
|
|
|
To verify that Memgraph is running, run the following command.
|
2017-06-14 20:52:28 +08:00
|
|
|
|
2017-11-24 20:06:47 +08:00
|
|
|
```
|
|
|
|
journalctl --unit memgraph
|
|
|
|
```
|
2017-06-12 23:27:11 +08:00
|
|
|
|
2017-11-24 20:06:47 +08:00
|
|
|
It is expected to see something like the following output.
|
2017-06-12 23:27:11 +08:00
|
|
|
|
2017-11-24 20:06:47 +08:00
|
|
|
```
|
|
|
|
Nov 23 13:40:13 hostname memgraph[14654]: Starting 8 workers
|
|
|
|
Nov 23 13:40:13 hostname memgraph[14654]: Server is fully armed and operational
|
|
|
|
Nov 23 13:40:13 hostname memgraph[14654]: Listening on 0.0.0.0 at 7687
|
|
|
|
```
|
|
|
|
|
|
|
|
Memgraph is now ready to process queries, you may now proceed to
|
|
|
|
[querying](#querying). To shutdown Memgraph server, issue the following
|
|
|
|
command.
|
2017-06-12 23:27:11 +08:00
|
|
|
|
|
|
|
```
|
2017-11-24 20:06:47 +08:00
|
|
|
systemctl stop memgraph
|
2017-06-12 23:27:11 +08:00
|
|
|
```
|
2017-06-16 17:47:13 +08:00
|
|
|
|
2017-11-24 20:06:47 +08:00
|
|
|
Memgraph configuration is available in `/etc/memgraph/memgraph.conf`. After
|
|
|
|
changing the configuration, Memgraph needs to be restarted.
|
|
|
|
|
|
|
|
### Querying
|
|
|
|
|
|
|
|
Memgraph supports the openCypher query language which has been developed by
|
|
|
|
[Neo4j](http://neo4j.com). The language is currently going through a
|
|
|
|
vendor-independent standardization process. It's a declarative language
|
|
|
|
developed specifically for interaction with graph databases.
|
|
|
|
|
|
|
|
The easiest way to execute openCypher queries against Memgraph, is using
|
|
|
|
Neo4j's command-line tool. The command-line `neo4j-client` can be installed as
|
|
|
|
described [on the official website](https://neo4j-client.net).
|
|
|
|
|
|
|
|
After installing `neo4j-client`, connect to the running Memgraph instance by
|
|
|
|
issuing the following shell command.
|
|
|
|
|
|
|
|
```
|
|
|
|
neo4j-client --insecure -u "" -p "" localhost 7687
|
|
|
|
```
|
2017-06-16 17:47:13 +08:00
|
|
|
|
|
|
|
After the client has started it should present a command prompt similar to:
|
|
|
|
|
2017-06-12 23:27:11 +08:00
|
|
|
```
|
2017-06-16 17:47:13 +08:00
|
|
|
neo4j-client 2.1.3
|
|
|
|
Enter `:help` for usage hints.
|
2017-11-24 20:06:47 +08:00
|
|
|
Connected to 'neo4j://@localhost:7687' (insecure)
|
2017-06-16 17:47:13 +08:00
|
|
|
neo4j>
|
2017-06-12 23:27:11 +08:00
|
|
|
```
|
2017-06-16 17:47:13 +08:00
|
|
|
|
|
|
|
At this point it is possible to execute openCypher queries on Memgraph. Each
|
|
|
|
query needs to end with the `;` (*semicolon*) character. For example:
|
|
|
|
|
2017-06-12 23:27:11 +08:00
|
|
|
```
|
2017-11-24 20:06:47 +08:00
|
|
|
CREATE (u:User {name: "Alice"})-[:Likes]->(m:Software {name: "Memgraph"});
|
2017-06-12 23:27:11 +08:00
|
|
|
```
|
|
|
|
|
2017-11-24 20:06:47 +08:00
|
|
|
The above will create 2 nodes in the database, one labeled "User" with name
|
|
|
|
"Alice" and the other labeled "Software" with name "Memgraph". It will also
|
|
|
|
create a relationship that "Alice" *likes* "Memgraph".
|
|
|
|
|
|
|
|
To find created nodes and relationships, execute the following query:
|
2017-06-12 23:27:11 +08:00
|
|
|
|
2017-06-16 17:47:13 +08:00
|
|
|
```
|
|
|
|
MATCH (u:User)-[r]->(x) RETURN u, r, x;
|
|
|
|
```
|
2017-06-12 23:27:11 +08:00
|
|
|
|
2017-11-24 20:06:47 +08:00
|
|
|
### Where to Next
|
|
|
|
|
|
|
|
To learn more about the openCypher language, visit **openCypher Query
|
2017-12-14 19:56:00 +08:00
|
|
|
Language** chapter in this document. For real-world examples of how to use
|
|
|
|
Memgraph visit **Examples** chapter. If you wish to use a programming language
|
2017-11-24 20:06:47 +08:00
|
|
|
to execute queries on Memgraph, go to the **Drivers** chapter. Details on what
|
|
|
|
can be stored in Memgraph are in **Storable Data Types** chapter.
|
|
|
|
|
|
|
|
We *welcome and encourage* your feedback!
|
|
|
|
|