我是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));
请帮助,提前致谢
答案 0 :(得分:2)
您的结论是正确的,这不是与neo4jphp相关的问题。 Cypher不允许您参数化关系的深度。如果你的深度必须是动态的,那么你必须像这样构建你的查询:
$depth=some_value;
$query="MATCH (a:user{id:{usd}})-[:likes*1.." . $depth . "]->(b:product{id:{pid}})
return a"
我不是PHP开发人员,因此语法可能不是100%正确。但我想主要想法很明确。