Neo4j使用事务性HTTP端点获取多个项目

时间:2013-12-18 14:58:54

标签: neo4j cypher

我正在尝试通过事务性HTTP端点上的cypher查询获取自定义ID的多个项目,但查询不返回任何结果。在当前示例中,我只包含一个id。如果我只运行具有该特定id的cypher查询,我会得到一个结果,但是当我使用事务性http端点尝试它时,我得不到任何结果。怎么了?以下是我在控制台中尝试查询时的查看方式。

:POST /db/data/transaction/commit {
    "statements": [{ "statement": "MATCH p WHERE p.id={props} return p;",
    "parameters": {"props": [{"id": "9fe2c276-3c94-43f9-bba3-9b3fd464f8da"}]}}],
    "resultDataContents": ["graph"]
 }

1 个答案:

答案 0 :(得分:1)

我认为您引用WHERE错误。如果您在属性中使用它,那么在替换时您的查询可能看起来像这样:

MATCH p WHERE p.id='id:9fe2c276-3c94-43f9-bba3-9b3fd464f8da' return p

尝试这样的事情:

{
  "statements": [
    {
      "statement": "MATCH (p) WHERE p.id IN {props} return p;",
      "parameters": {"props": ["9fe2c276-3c94-43f9-bba3-9b3fd464f8da"]}
    }
  ],
  "resultDataContents": ["graph"]
}

道具可以是你想要的任何东西,这里它是一个包含ID列表的JSON数组,你可以使用IN的{​​{1}}子句搜索倍数