В настоящее время я все еще изучаю графическую базу данных Neo4J и планирую перенести мою текущую СУБД в графическую базу данных. Поэтому я искал методологию подключения Neo4J в PHP / Codeigniter, пока не обнаружил, что Neoxygen-NeoClient был ответом.
После того, как я установил это, используя composer, тогда я планирую проверить это. Я создал новую страницу под названием connection.php и помещен в корневую папку. К сожалению, сейчас у меня возникли проблемы, когда получить данные из Neo4J на моем локальном хосте и
И ниже это содержит connection.php
<?php
require_once 'vendor/autoload.php';
use Neoxygen\NeoClient\ClientBuilder;
$client = ClientBuilder::create()
->addConnection('default', 'http', 'myserver.dev', 7474, true, 'username', 'password')
->build();
$q = 'MATCH (n:Actor) RETURN n.name';
$client->sendCypherQuery($q);
$result = $client->getRows();
echo $result;
?>
Таким образом, результат этого запроса не отображается, и я хотел бы спросить, как отобразить запрос возврата из Neo4J в PHP?
обновленный
Я пытался протестировать ваш пример запуска приложения здесь
https://github.com/ikwattro/neo4j-neoclient-example
Затем я выполнил ваши шаги по установке и запустил его на localhost
Но все равно не удалось отобразить данные из Neo4J, после того как я проверил веб-консоль, я получил эту ошибку
HTTP: // локальный / поиск д = Matrix Не удалось загрузить ресурс: сервер ответил с состоянием 404 (не найдено)
localhost / graph Не удалось загрузить ресурс: сервер ответил с состоянием 404 (не найдено)
localhost / search? q = Matrix Не удалось загрузить ресурс: сервер ответил со статусом 404 (не найдено)
Я думаю, проблема в том, что я не понимаю график а также поиск папка после того, как я сделал установку композитора, и я получил только продавец папка
composer install --no-dev --optimize-autoloader
Не могли бы вы подтвердить это?
Если это не так, пожалуйста, дайте мне какое-то решение, чтобы решить эту проблему.
А также не могли бы вы объяснить, что вы имеете в виду, чтобы запустить приложение с помощью
http://localhost:8000/import
Спасибо, прежде чем
Я поддерживаю NeoClient.
Во-первых, если вам нужно обработать результаты, вы должны активировать средство форматирования ответа:
$client = ClientBuilder::create()
->addConnection('default', 'http', 'myserver.dev', 7474, true, 'username', 'password')
->setAutoFormatResponse(true)
->build();
Теперь у вас есть несколько возможностей вернуть ваши результаты:
В табличном формате, как в браузере Neo4j:
$q = 'MATCH (n:Actor) RETURN n.name';
$result = $client->sendCypherQuery($q)->getResult()->getTableFormat();
Или, если вы хотите манипулировать узлами и объектами отношений:
$q = 'MATCH (n:Actor) RETURN n';
$result = $client->sendCypherQuery($q)->getResult();
$nodes = $result->getNodes();
$relationships = $result->getRelationships();
Вы также можете использовать идентификатор с методом get:
$q = 'MATCH (n:Actor) RETURN n';
$result = $client->sendCypherQuery($q)->getResult();
$actors = $result->get('n');
Я написал 3 статьи на Sitepoint о Neo4j и PHP с NeoClient, я уверен, что они могут вам помочь:
http://www.sitepoint.com/author/ikwattro/
ОБНОВИТЬ
Я проверил Neo4j-MovieDB-Repository Я сделал некоторое время назад, и я обновил README, как проверить его локально.
Для ваших обновленных вопросов:
Убедитесь, что вы запустили веб-сервер с правильным корневым путем, поэтому, если ваш текущий каталог — $ myrepo / web, то php -S localhost:8000
все будет в порядке, если вы находитесь в родительском каталоге, вам нужно предоставить корень веб-индекса в качестве аргумента php -S localhost:8000 -t web/
URL http://localhost:8000/importdb
сделан для того, чтобы загрузить данные в базу данных, иначе он не найдет фильмы и актеров.
Если у вас все еще есть ошибки или проблемы, пожалуйста, откройте отдельный вопрос SO или вызовите проблему на Github https://github.com/ikwattro/neo4j-moviedb-example/issues
Других решений пока нет …