2015-06-01 16 views
0

目前,我仍在學習Neo4J圖形數據庫,並計劃將當前的RDBMS遷移到圖形數據庫。所以我正在尋找如何在PHP/Codeigniter中連接Neo4J的方法,直到我發現Neoxygen-NeoClient纔是答案。NeoClientPHP從Neo4J檢索數據時的問題

我使用作曲家安裝後,我打算測試它。我創建了一個名爲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; 
?> 

,以便從該查詢結果不顯示,我想問如何在PHP中顯示來自Neo4J的返回查詢?

更新

我是想測試從你這裏 https://github.com/ikwattro/neo4j-neoclient-example

運行的應用程序的例子然後我跟着你的安裝步驟,然後運行它在localhost 但還是想不出顯示來自Neo4j的數據再經過我檢查Web控制檯,我得到這個錯誤

http://localhost/search?q=Matrix無法加載資源:在SERV呃迴應,狀態爲404(未找到) localhost/graph加載資源失敗:服務器迴應狀態爲404(未找到) localhost/search?q = Matrix加載資源失敗:服務器迴應404狀態(未找到)

所以我想這個問題是我沒有得到文件夾後,和搜索我做了作曲家的安裝和我得到的只有廠商文件夾

composer install --no-dev --optimize-autoloader 

你能否驗證一下? 如果不是這樣,請給我一些解決方案來解決這個問題。

而且還可以請你解釋你的意思是使用前

回答

1

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'); 

我寫了一篇關於Sitepoint有關的Neo4j和PHP與NeoClient 3篇文章,我敢肯定,他們可以幫助你:

http://www.sitepoint.com/author/ikwattro/

UPDATE

我查了Neo4j-MovieDB-Repository我剛纔做了,我更新了自述文件,以及如何在本地進行測試。

爲您更新的問題:

  1. 確保運行帶有定義良好的根路徑的Web服務器,因此,如果您的當前目錄爲$ myrepo /網頁,然後php -S localhost:8000都會好的,如果你是在父目錄,你需要提供web索引根作爲參數php -S localhost:8000 -t web/

  2. url http://localhost:8000/importdb是爲了加載數據庫中的數據,否則他不會找到電影和演員。

如果您仍然有錯誤或問題,請打開一個單獨的SO問題或在Github上https://github.com/ikwattro/neo4j-moviedb-example/issues

+0

引發的問題首先,感謝您的答覆。其次我有另一個問題在https://github.com/ikwattro/neo4j-neoclient-example中指責你的NeoClient MovieDB示例。請檢查我更新的問題。謝謝 –

+0

好吧,讓我檢查這 –

+0

我更新了答案;-) –