2
<?php
require("phar://neo4jphp.phar");

$client      = new Everyman\Neo4j\Client();
$queryString = "START n=node:node_auto_index(name="ashish"),m=node:node_auto_index(city="bhilai"),p=node:node_auto_andex(school="bhilai") RETURN n,m,p";
$query       = new Everyman\Neo4j\Cypher\Query($client, $queryString);
$result      = $query->getResultSet();
foreach ($result as $row) {
    echo $row['x']->getproperty('name'), $row['y']->getproperty('city'), $row['z']->getproperty('school');
}

?>

这没有按预期工作,它提供相同的属性,即:名称

4

1 回答 1

2

您在查询中返回列“n,m,p”。这些也是结果集中列的名称。

尝试这个:

foreach ($result as $row) {
  echo $row['n']->getproperty('name'), $row['m']->getproperty('city'), $row['p']->getproperty('school');
}

https://github.com/jadell/neo4jphp/wiki/Cypher-and-gremlin-queries上的文档

文档使用“x”和“y”,因为它们是示例查询中列的名称。来自文档:“如果返回多列数据,则可以按名称在行中访问每一列。” 名称来自RETURN查询的子句。

于 2013-03-27T12:51:42.080 回答