用途:该技能让 OpenClaw 执行 Cypher 查询以操作图数据库(主要是 Neo4j),支持节点匹配、关系创建与图遍历。适用于社交网络、推荐系统、知识库等图结构数据;关系型数据应改用 SQL 类技能。
主要能力:执行核心子句 MATCH、CREATE、MERGE、DELETE;处理路径表达式与最短路径;通过 shortestPath() 等实现 BFS/DFS 遍历;对图数据做 COUNT、SUM 等聚合;运行 PageRank、社区检测等图算法;与 Neo4j 集成查询节点和关系。
使用方式:可用 cypher-shell 或 Python neo4j 驱动。Neo4j Community Edition 默认运行在 bolt://localhost:7687,默认无认证。示例: cypher-shell -a bolt://localhost:7687 --format plain "MATCH (n) RETURN labels(n), count(n) LIMIT 10" Python 示例:from neo4j import GraphDatabase,driver = GraphDatabase.driver("bolt://localhost:7687"),随后在 session.run() 中执行查询。可用 MERGE 做 upsert,如 MERGE (n:Person {name: 'Alice'})。
集成:需确保 Neo4j 已运行(macOS 用 brew services start neo4j,Linux 用 systemctl start neo4j);可通过 NEO4J_URI 环境变量覆盖默认连接。
错误处理:常见错误为语法问题(如缺分号)或连接失败。出现 Neo4jError: Invalid input 时先校验查询;连接失败时确认 Neo4j 在运行。代码中可用 try-catch 捕获 ServiceUnavailable、CypherSyntaxError 并记录详情;缺失节点可用 OPTIONAL MATCH。
关系示例:节点有 Person、Movie、Organization;关系如 (:Person)-[:KNOWS]-(:Person)、(:Person)-[:ACTED_IN]-(:Movie)、(:Organization)-[:EMPLOYS]-(:Person)。路径示例:shortestPath((:Person {name: 'Alice'})-[:KNOWS*]-(:Person {name: 'Bob'}))。