Neo4j
MemGQL supports two Neo4j connector modes:
neo4j— passthrough, forwards queries as-is (Cypher)neo4j-gql— translates GQL to Cypher before execution
1. Start Neo4j
docker network create memgql-net
docker run -d --rm \
--name neo4j-dev \
--network memgql-net \
-p 7474:7474 \
-p 7697:7687 \
--env NEO4J_AUTH=neo4j/password \
neo4j:52. Start MemGQL (GQL mode)
docker run --rm \
--name memgql \
--network memgql-net \
--stop-timeout 2 \
-p 7688:7688 \
--env CONNECTOR_TYPE=neo4j-gql \
--env NEO4J_URI=neo4j-dev:7687 \
--env NEO4J_USER=neo4j \
--env NEO4J_PASS=password \
--env BOLT_LISTEN_ADDR=0.0.0.0:7688 \
memgraph/memgql:latestFor passthrough mode, use CONNECTOR_TYPE=neo4j instead.
3. Connect
mgconsole --port 76884. Seed data
INSERT
(alice:Person {name: "Alice", age: 30}),
(bob:Person {name: "Bob", age: 25}),
(acme:Company {name: "Acme Corp"}),
(alice)-[:KNOWS]->(bob),
(alice)-[:WORKS_AT {role: "Engineer"}]->(acme);5. Query
MATCH (p:Person) RETURN p.name, p.age;MATCH (p:Person)-[:WORKS_AT]->(c:Company) RETURN p.name, c.name;MATCH (a:Person)-[:KNOWS]->(b:Person) RETURN a.name, b.name;For environment variables, see Configuration.