参数化关系深度Neo4jphp

时间:2014-03-04 07:18:54

标签: cypher parameterized neo4jphp neo4j

我是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));

请帮助,提前致谢

1 个答案:

答案 0 :(得分:2)

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

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

我不是PHP开发人员,因此语法可能不是100%正确。但我想主要想法很明确。