我是Neo4j Rest的初学者。我使用平易近人 php库来开发我的应用程序。我在创建带有标签的节点时遇到了问题。
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消息:无法设置非标签
发布于 2014-02-10 23:49:19
试试这个:
$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
发布于 2014-02-09 08:06:07
我不是PHP编码器,但只要快速查看源代码,就会发现您应该传递一个标签对象数组,而不是字符串。您的代码没有使用Everyman\Neo4j\Label
$labelSet = implode(':', array_map(function ($label) {
if (!($label instanceof Label)) {
throw new InvalidArgumentException("Cannot set a non-label");https://stackoverflow.com/questions/21654553
复制相似问题