镜像拉取
docker pull neo4j
// 创建和启动容器 密码test1234
docker run -d \
--name my-neo4j \
-p 7474:7474 -p 7687:7687 \
-v /home/neo4j/data:/data \
-v /home/neo4j/logs:/logs \
-v /home/neo4j/conf:/var/lib/neo4j/conf \
-v /home/neo4j/import:/var/lib/neo4j/import \
-e NEO4J_AUTH=neo4j/test1234 \
neo4j:latest
// 查看已经运行的容器
docker ps
// 启动
docker start my-neo4j
// 进入容器的 cypher-shell
docker exec -it my-neo4j bin/cypher-shell -u neo4j -p test1234
语法测试
from neo4j import GraphDatabase
driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "test1234"))
def check_cypher_syntax(cypher_query):
with driver.session() as session:
try:
session.run("EXPLAIN " + cypher_query).consume()
print("语法正确")
except Exception as e:
print("语法错误:", e)
check_cypher_syntax("MATCH (n) RETURN n")
check_cypher_syntax("MATCH (n RETURN n")
(openai_api) root@LAPTOP-G0AIPBM7:/home/hyuan/projects/huizhi/text-to-cypher-test
语法正确
语法错误: {code: Neo.ClientError.Statement.SyntaxError} {message: Invalid input 'RETURN': expected a graph pattern, a parameter, ')', ':', 'IS', 'WHERE' or '{' (line 1, column 18 (offset: 17))
"EXPLAIN MATCH (n RETURN n"
^}