php将数据库图片遍历输出_php neo4j图数据库查询与遍历

在上一篇博客中,介绍了php连接neo4j图数据库以及基本使用,博客地址:

本文继续介绍php 对neo4j图数据库进行查询,遍历,下面直接上代码:

1、查询节点以及关系:

$result = $client->run('MATCH (m:person{name:"suika"})-[r]-(n) RETURN m,r,n');

foreach ($result->getRecords() as $r) {

//获取节点标签

print_r($r->get('n')->labels());

//获取节点所有属性的值

print_r($r->get('n')->values());

//获取节点所有属性的key

print_r($r->get('n')->keys());

//获取节点某个属性的值,不存在则返回空

print_r($r->get('n')->value("uid"));

//获取关系类型

print_r($r->get('r')->type());

//获取关系属性

print_r($r->get('r')->value('time'));exit();

}

2、遍历与节点相关联的节点以及节点所处的层级:

$result = $client->run('Match (m:person{name:"marisa"})-[r:friend*]->(n:person) return n,r');

foreach ($result->getRecords() as $r) {

//关系层级(不是最小层级)

print_r(count($r->get('r')));

//节点

print_r($r->get('n')->value("name"));

}

3、获取两个节点间的所有路径:

$result = $client->run('Match p=(m:person{name:"marisa"})-[r:friend*]->(n:person{name:"sakuya"}) return p');

foreach ($result->getRecords() as $r) {

//路径

$path = $r->pathValue("p");

//路径序列(节点与关系交叉组成)

$seq = $r->pathValue("p")->sequence;

//节点

$nodes = $path->nodes();

//关系

$relationships = $path->relationships();

for($i = 0;$i < count($seq);$i++){

if($i%2 == 1){

if($nodes[$seq[$i]]){

print_r($nodes[$seq[$i]]->value("name"));

}else{

print_r("存在空记录");

}

}else{

if($relationships[$seq[$i]-1]){

$type = $relationships[$seq[$i]-1]->type();

$time = $relationships[$seq[$i]-1]->value("time");

}else{

print_r("存在空记录");

}

}

print_r("->");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值