首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Neo4j php addLabels

Neo4j php addLabels
EN

Stack Overflow用户
提问于 2014-02-09 02:40:24
回答 2查看 727关注 0票数 0

我是Neo4j Rest的初学者。我使用平易近人 php库来开发我的应用程序。我在创建带有标签的节点时遇到了问题。

代码语言:javascript
复制
use Everyman\Neo4j\Client,
    Everyman\Neo4j\Transport,
    Everyman\Neo4j\Node,
    Everyman\Neo4j\Relationship;
use Everyman\Neo4j\Cypher;

public function indexAction()
{  
    $client = new Client('localhost', 7474);
    $user = new Node($client);
    $user->setProperty('name', 'Rohan Chingula');
    $user->save()->addLabels(array('Users'));
}

当我运行我得到的代码时

/var/www/zf2-tutorial/vendor/everyman/neo4jphp/lib/Everyman/Neo4j/Command/SetLabels.php:43消息:无法设置非标签

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-10 23:49:19

试试这个:

代码语言:javascript
复制
$userLabel = $client->makeLabel('Users');
$user->save()->addLabels(array($userLabel));

User::addLabels需要一个标签对象数组。

https://github.com/jadell/neo4jphp/wiki/Labels#wiki-adding-labels-to-a-node

旁白:如果添加一个裸字符串作为标签是您想要看到的功能,请提交一个功能请求:https://github.com/jadell/neo4jphp/issues

票数 1
EN

Stack Overflow用户

发布于 2014-02-09 08:06:07

我不是PHP编码器,但只要快速查看源代码,就会发现您应该传递一个标签对象数组,而不是字符串。您的代码没有使用Everyman\Neo4j\Label

代码语言:javascript
复制
  $labelSet = implode(':', array_map(function ($label) {
    if (!($label instanceof Label)) {
        throw new InvalidArgumentException("Cannot set a non-label");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21654553

复制
相关文章

相似问题

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