使用 PHP 从 Neo4j 数据库导出 json 到文件
Export json to file from Neo4j databse using PHP
我为此使用了以下命令行:
:POST /db/data/transaction/commit {"statements":[{"statement":"match n return n"}]}
当我将此查询设置为 PHP 变量时,出现以下错误:
Fatal error: Uncaught exception 'Neoxygen\NeoClient\Exception\Neo4jException' with message 'Neo4j Exception with code "Neo.ClientError.Statement.InvalidSyntax" and message "Invalid input ':' in C:\wamp\www\PhpProjectNeo4j1\vendor\neoxygen\neoclient\src\Extension\AbstractExtension.php on line 88
能否请您向我解释一下如何在 PHP 中添加此命令?
您看过 NeoClient 文档了吗?
单个用法为:
$result = $client->sendCypherQuery('MATCH (n) RETURN n')->getResult();
如果你想导出到json,客户端没有魔法,只需要使用返回的节点对象,创建一个数组并将其编码为json:
$nodes = [];
foreach ($result->getNodes() as $node) {
$nodes[] = [
'id' => $node->getId(),
'labels' => $node->getLabels(),
'properties' => $node->getProperties()
];
}
var_dump(json_encode($nodes));
编辑:
为了获得结果对象,您需要启用 ResponseFormatting 服务:
示例:
$client = ClientBuilder::create()
->addDefaultLocalConnection()
->setAutoFormatResponse(true)
->build();
我为此使用了以下命令行:
:POST /db/data/transaction/commit {"statements":[{"statement":"match n return n"}]}
当我将此查询设置为 PHP 变量时,出现以下错误:
Fatal error: Uncaught exception 'Neoxygen\NeoClient\Exception\Neo4jException' with message 'Neo4j Exception with code "Neo.ClientError.Statement.InvalidSyntax" and message "Invalid input ':' in C:\wamp\www\PhpProjectNeo4j1\vendor\neoxygen\neoclient\src\Extension\AbstractExtension.php on line 88
能否请您向我解释一下如何在 PHP 中添加此命令?
您看过 NeoClient 文档了吗?
单个用法为:
$result = $client->sendCypherQuery('MATCH (n) RETURN n')->getResult();
如果你想导出到json,客户端没有魔法,只需要使用返回的节点对象,创建一个数组并将其编码为json:
$nodes = [];
foreach ($result->getNodes() as $node) {
$nodes[] = [
'id' => $node->getId(),
'labels' => $node->getLabels(),
'properties' => $node->getProperties()
];
}
var_dump(json_encode($nodes));
编辑:
为了获得结果对象,您需要启用 ResponseFormatting 服务:
示例:
$client = ClientBuilder::create()
->addDefaultLocalConnection()
->setAutoFormatResponse(true)
->build();