4

我是 Neo4j 的新手。我有以下查询,在其中我尝试参数化depth关系的值并显示错误,如果我删除参数化depth值,它会完美工作。

 $query="MATCH (a:user{id:{usd}})-[:likes*1..{depth}]->(b:product{id:{pid}})
         return a";
 $result = new Everyman\Neo4j\Cypher\Query($client, $query,
           array('usd' => 1234,'depth' => 3,'pid'=>3456));

请帮助,在此先感谢

4

1 回答 1

2

您的结论是正确的,这不是与 neo4jphp 相关的问题。Cypher 不允许您参数化关系的深度。如果您的深度必须是动态的,则必须像这样构建查询:

 $depth=some_value;
 $query="MATCH (a:user{id:{usd}})-[:likes*1.." . $depth . "]->(b:product{id:{pid}})
         return a"

我不是 PHP 开发人员,所以语法可能不是 100% 正确。但我想主要思想很清楚。

于 2014-03-04T08:40:01.833 回答