xp-forge / neo4j
为 XP 框架提供 Neo4J 连接性
v1.2.0
2024-03-24 12:36 UTC
Requires
- php: >=7.0.0
- xp-forge/json: ^5.0 | ^4.0 | ^3.0 | ^2.2
- xp-framework/core: ^12.0 | ^11.0 | ^10.0 | ^9.0 | ^8.0 | ^7.0
- xp-framework/http: ^10.0 | ^9.0 | ^8.0
Requires (Dev)
- xp-framework/test: ^2.0 | ^1.0
README
此库通过其 REST API 实现了 Neo4J 连接性。
示例
可以通过 open()
运行查询(每次返回一条记录)或通过 query()
运行查询(将结果收集到数组中)
use com\neo4j\Graph; use util\cmd\Console; $g= new Graph('http://user:pass@neo4j-db.example.com:7474/db/data'); $q= $g->open('MATCH (t:Topic) RETURN t.name, t.canonical'); foreach ($q as $record) { Console::writeLine('#', $record['t.canonical'], ': ', $record['t.name']); }
要获取单个结果(或如果没有找到则返回 NULL),请使用 fetch()
if ($topic= $g->fetch('MATCH (t:Topic{id:%s}) RETURN t', $id)) { Console::writeLine('Found topic ', $topic); }
格式化参数使用类似 printf 的格式占位符。这些将负责适当的转义和类型转换
use com\neo4j\Graph; use util\cmd\Console; $g= new Graph('http://user:pass@neo4j-db.example.com:7474/db/data'); $g->query('CREATE (p:Person) SET t.name = %s, t.id = %d', $name, $id);
可以通过 execute()
方法执行批量语句。
格式字符
%s
: 格式化字符串%d
: 格式化十进制数字%f
: 格式化浮点数%b
: 格式化布尔值%v
: 将值复制到参数%l
: 将标签复制到查询%c
: 将文本复制到查询%%
: 文字百分号
可以使用位置参数(从 1 开始),例如 %2$s
。