Neo4j PHP执行将节点属性与字符串变量匹配的查询

时间:2014-05-01 17:42:15

标签: php regex neo4j cypher

$queryString = "MATCH (n.Keywords) WHERE n.kw =~".$temp." RETURN n";
$query = new Everyman\Neo4j\Cypher\Query($client, $queryString);
$relativePosts = $query->getResultSet();

我们正在尝试完成一个查询,搜索具有属性kw的所有关键字,这些关键字包含单词(Halo,Mustang ...),它将这些值与我们已经设置的字符串变量相匹配。我们的示例字符串变量是" Halo看起来很棒"。

最后我们试图比较Mustang,Halo,Mario ..和#34; Halo看起来很棒"并在匹配时返回Halo。是否可以使用带有node属性值的正则表达式来比较字符串? 谢谢!

1 个答案:

答案 0 :(得分:0)

请使用参数而不是字符串连接!

MATCH(n.Keywords)WHERE n.kw =〜{regexp} RETURN n

$ params = array(“regexp”=> $ temp)

您可以在节点属性中存储正则表达式字符串,并根据字符串值检查它们,反之亦然。

目前尚不清楚你正在寻找什么样的正则表达式。

一般情况下,如果您查找多个单词,则会使用类似(Halo|Mustang)的内容。