首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从NeoClientPHP检索数据时发出Neo4J问题

从NeoClientPHP检索数据时发出Neo4J问题
EN

Stack Overflow用户
提问于 2015-06-01 07:14:58
回答 1查看 591关注 0票数 0

目前,我还在学习Neo4J图形数据库,并计划将我当前的关系数据库迁移到图数据库中。因此,我一直在研究如何在中连接Neo4J的方法,直到我发现NeoClient才是答案。

在我使用composer安装了它之后,我计划测试它。我创建了一个名为connection.php的新页面,并将其放在根文件夹中。不幸的是,现在我在本地主机上从Neo4J获取数据时遇到了一些问题

下面是包含connection.php的内容

代码语言:javascript
复制
<?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

然后我按照安装步骤,然后在本地主机上运行它,但是仍然不能显示来自Neo4J的数据,然后在我检查Web之后,我得到了这个错误

http://localhost/search?q=Matrix未能加载资源:服务器响应状态为404 (未找到)localhost/图形未能加载资源:服务器响应时的状态为404 (未找到)localhost/search?q=矩阵未能加载资源:服务器响应的状态为404 (未找到)

所以我想问题是在我完成了composer安装之后,我没有得到搜索文件夹,我只得到了供应商文件夹

代码语言:javascript
复制
composer install --no-dev --optimize-autoloader

你能证实一下吗?如果不是这样的话,请给我一些解决这个问题的办法。

此外,请您解释一下您的意思是使用

代码语言:javascript
复制
http://localhost:8000/import

谢谢你之前

EN

回答 1

Stack Overflow用户

发布于 2015-06-01 13:06:53

我是NeoClient的维护者。

首先,如果需要处理结果,应该激活响应格式化程序:

代码语言:javascript
复制
$client = ClientBuilder::create()
->addConnection('default', 'http', 'myserver.dev', 7474, true, 'username', 'password')
->setAutoFormatResponse(true)
->build();

现在有多种可能的方法来获得您的结果:

在表格格式(如Neo4j浏览器中)中:

代码语言:javascript
复制
$q = 'MATCH (n:Actor) RETURN n.name';
$result = $client->sendCypherQuery($q)->getResult()->getTableFormat();

或者,如果您想操作节点和关系对象:

代码语言:javascript
复制
$q = 'MATCH (n:Actor) RETURN n';
$result = $client->sendCypherQuery($q)->getResult();
$nodes = $result->getNodes();
$relationships = $result->getRelationships();

还可以使用get方法使用标识符:

代码语言:javascript
复制
$q = 'MATCH (n:Actor) RETURN n';
$result = $client->sendCypherQuery($q)->getResult();
$actors = $result->get('n');

我在Sitepoint上写了3篇关于Neo4j和NeoClient的文章,我确信它们可以帮助您:

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

更新

我检查了一段时间前所做的Neo4j-MovieDB-储存库,并用如何在本地测试它的方法更新了自述文件。

关于您最新的问题:

  1. 确保运行具有良好根路径的webserver,因此如果当前目录为$myrepo/ web,那么php -S localhost:8000就可以了,如果您位于父目录中,则需要将web索引根作为参数php -S localhost:8000 -t web/提供。
  2. 创建url http://localhost:8000/importdb是为了在数据库中加载数据,否则他将找不到电影和演员。

如果您仍然有错误或问题,请打开一个单独的所以问题或触发一个问题在Github https://github.com/ikwattro/neo4j-moviedb-example/issues上。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30567695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档