В настоящее время я все еще изучаю базу данных диаграмм Neo4J и планирую перенести текущую RDBMS в базу данных диаграмм. Поэтому я искал методологию подключения Neo4J в PHP / Codeigniter, пока не узнал, что Neoxygen-NeoClient был ответом.
После того, как я установил его с помощью композитора, я планирую его протестировать. Я создал новую страницу под названием 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
Затем я выполнил шаги по установке, а затем запустил его на локальном хосте. Но все же не смог отобразить данные из Neo4J, после того как я проверил веб-консоль, я получил эту ошибку
http: // localhost / search? q = Matrix Не удалось загрузить ресурс: сервер ответил статусом 404 (не найден) localhost / graph Не удалось загрузить ресурс: сервер ответил статусом 404 (не найдено) localhost / search? q = Матрица Не удалось загрузить ресурс: сервер ответил статусом 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
будет в порядке, если вы находитесь в родительском каталоге, вам необходимо предоставить веб-индекс root как аргумент php -S localhost:8000 -t web/
url http://localhost:8000/importdb
создан для загрузки данных в базу данных, иначе он не найдет фильмов и актеров.
Если у вас все еще есть ошибки или проблемы, откройте отдельный вопрос SO или вызовите проблему на Github https://github.com/ikwattro/neo4j-moviedb-example/issues.