【问题标题】:Neo4j PHP performing a query that matches a node property to a string variableNeo4j PHP 执行将节点属性与字符串变量匹配的查询
【发布时间】:2014-05-01 17:42:14
【问题描述】:
$queryString = "MATCH (n.Keywords) WHERE n.kw =~".$temp." RETURN n";
$query = new Everyman\Neo4j\Cypher\Query($client, $queryString);
$relativePosts = $query->getResultSet();

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

最后,我们尝试将 Mustang、Halo、Mario.. 与“Halo 看起来很棒”进行比较,并在匹配时返回 Halo。是否可以使用带有节点属性值的正则表达式来与字符串进行比较? 谢谢!

【问题讨论】:

    标签: php regex neo4j cypher


    【解决方案1】:

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

    MATCH (n.Keywords) WHERE n.kw =~ {regexp} 返回 n

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

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

    目前尚不清楚您正在寻找哪种正则表达式。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-20
      • 1970-01-01
      • 1970-01-01
      • 2011-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-15
      相关资源
      最近更新 更多