Я использовал для этого следующую командную строку:
: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();
Других решений пока нет …