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


Neo4j PHP performing a query that matches a node property to a string variable

$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 looks awesome"。

最后,我们试图比较野马,Halo,马里奥…到"光晕看起来很棒",并返回与之匹配的光晕。是否可以使用正则表达式与节点属性值来比较字符串?谢谢!

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

MATCH (n. keywords) WHERE n.kw =~ {regexp} RETURN n

$params = array("regexp" => $temp)

您可以将regexp-strings存储在节点属性中,并根据字符串值检查它们,当然也可以反过来。

目前还不清楚你在寻找什么样的regexp。

一般来说,如果您要查找几个单词,则会使用像(Halo|Mustang)这样的内容。