php连接neo4j图数据库以及基本使用
程序员文章站
2022-05-28 20:28:04
...
阅读本博客前,请熟悉neo4j图数据库以及Cypher。
php连接neo4j图数据库的驱动下载地址(无下载积分可留言邮箱):
https://download.csdn.net/download/u013090676/10585050
本博客基于thinkphp框架,所以需要先在ThinkPHP\Library\Vendor\目录下创建neo4j文件夹,下载驱动代码在neo4j文件夹下解压。使用如下(控制器方法中使用):
1、引入库并创建ClientBuilder:
//引入文件
require_once './ThinkPHP/Library/Vendor/neo4j/autoload.php';
//注意此处只采用bolt进行连接neo4j:123456 为图数据库账号密码
$client = ClientBuilder::create()
/*->addConnection('default', 'http://neo4j:[email protected]:7474')*/
->addConnection('bolt', 'bolt://neo4j:[email protected]:7687')
->build();
2、创建节点:
$result = $client->run('create (n:person) return n');
3、为节点添加属性:
$client->run('CREATE (n:god) SET n += {infos}', ['infos' => ['uid' => '8', 'name' => 'admin']]);
4、批量添加:
$stack = $client->stack();
$stack->push('CREATE (n:person {uid:2, name:"sakuya"})');
$stack->push('CREATE (n:person {uid:3, name:"marisa"})');
$stack->push('CREATE (n:person {uid:4, name:"reimu"})');
$stack->push('CREATE (n:person {uid:5, name:"yuyuko"})');
$stack->push('CREATE (n:person {uid:6, name:"youmu"})');
$stack->push('CREATE (n:person {uid:7, name:"suika"})');
$result = $client->runStack($stack);
5、添加关系(注意:neo4j目前不支持直接添加双向关系,如果是双向的关系,需要添加两次):
$result = $client->run('MATCH(m:person{name:"yuakri"}) MATCH(n:person{name:"sakuya"}) CREATE (m)-[r:friend{time:"1year"}]->(n)');
6、根据id删除节点(注意:这里的id是系统id,不是为节点添加的id属性,注意区别ID(n)与n.id):
$result = $client->run('MATCH (n:person) WHERE ID(n)=2 DELETE n');
7、删除所有节点(注意:有关系的节点必须先删除关系):
$result = $client->run('match(n) delete n');
8、删除所有带关系的节点以及其关系:
$result = $client->run('match(n)-[r]-() delete n,r');
上一篇: mongoDB简明教程-python
下一篇: Dom4j操作xml文件
推荐阅读