为什么Neo4j 3.1.x为关系返回空?

时间:2017-07-01 20:28:39

标签: neo4j cypher

使用3.1.5和Neo4j文档中的示例:

要返回关系,只需将其包含在RETURN列表中即可。

查询。

MATCH (n { name: 'A' })-[r:KNOWS]->(c)
RETURN r

示例返回关系。

Table 3.63. Result
r
1 row
:KNOWS[0]\{\}

为关系返回空。据我所知,所有返回“关系”都会导致

{
  "results": [
    {
      "columns": [
        "r"
      ],
      "data": [
        {
          "row": [
            {}
          ],
          "meta": [
            {
              "id": 927,
              "type": "relationship",
              "deleted": false
            }
          ]
        }
      ]
    }
  ],
  "errors": []
}

这是改变吗?一个已知问题?它一直是这样的?

1 个答案:

答案 0 :(得分:0)

这是JSON结果的总体方式(即通过HTTP连接器)。

在JSON中,neo4j返回所有关系的属性。

如果您使用Bolt连接器的驱动程序,您将使用startId& amp;来接收Relationship对象。 endId节点,关系的类型和属性。

干杯

<强>更新

您可以访问该关系的属性。

使用此数据集:MERGE (:Test {id:1})-[:REL {value:'Test'}]->(:Test {id:2})

通过这个curl命令:

curl -v  http://localhost:7474/db/data/transaction/commit -u neo4j:admin --data  '{"statements":[{"statement":"MATCH (:Test)-[r:REL]->(:Test) RETURN r"}]}' -H "Content-Type: application/json"

结果是:

{"results":[{"columns":["r"],"data":[{"row":[{"value":"Test"}],"meta":[{"id":273,"type":"relationship","deleted":false}]}]}],"errors":[]}

您看到提取 {“值”:“测试”} 是您的关系!