到目前为止,我一直在使用 PHP Rest Api 来发送带有密码查询的请求并得到响应。响应是一个巨大的字符串,难以解析并且无法转换为 JSON。我现在安装了 Neo4jPHP,并试图弄清楚如何编写与密码相同的查询。这是我的查询:
MATCH (n:RealNode)-[r:contains*]-(z) WHERE n.gid='123' RETURN n,z;")
我真正想要的是获取与我的 n 节点相关的所有节点名称的列表(名称是每个节点内的属性)。我该怎么做呢?
我在网上找不到 Neo4jPHP 的很多示例,而我发现的示例似乎不起作用。我从这里( https://github.com/jadell/neo4jphp)下载了最新版本。
感谢:D。
重新编辑
我在 neo4j 服务器中尝试这个查询:
MATCH (n)-[r:KNOWS*]-(z) WHERE n.name='Arthur Dent' AND z.name='Ford Prefect' RETURN n,z,r;
我得到了所有相互连接的 3 个节点。通过 neo4jPHP 进行的相同查询将只返回一个节点的名称。为什么会这样?
$querystring="MATCH path=(n:RealNode {gid:'58731'})-[:contains*]-(z) RETURN [x in nodes(path) | x.id] as names";
$query=new Everyman\Neo4j\Cypher\Query($client,$querystring);
$result=$query->getResultSet();
print_r($result);
foreach($result as $row){
echo $row['x']->getProperty('name') . "\n";
}