Return 个节点和关系

Return nodes together with relations

我正在玩 CypherNeo4j,我创建了一个简单的图表:

CREATE (j: person { name: "james" })
CREATE (m: person { name: "mary" })
CREATE (j)<-[:friends_with]-(m)

如果我return所有节点:

MATCH (m) RETURN m

在图形视图中我得到:

但响应 JSON 是:

[
  {
    "keys": [
      "m"
    ],
    "length": 1,
    "_fields": [
      {
        "identity": {
          "low": 3,
          "high": 0
        },
        "labels": [
          "person"
        ],
        "properties": {
          "name": "james"
        }
      }
    ],
    "_fieldLookup": {
      "m": 0
    }
  },
  {
    "keys": [
      "m"
    ],
    "length": 1,
    "_fields": [
      {
        "identity": {
          "low": 4,
          "high": 0
        },
        "labels": [
          "person"
        ],
        "properties": {
          "name": "mary"
        }
      }
    ],
    "_fieldLookup": {
      "m": 0
    }
  }
]

其中包含节点列表,但没有关于节点之间关系的信息。

如果某些 returned 节点之间定义了关系,是否也可以获得节点之间的完整 graph/the 关系?

如果您想检索关系信息,您必须在您的 Cypher 请求中请求它。 例如,如果要检索具有 friends_with 关系

的所有节点

MATCH (a:person)-[r:friends_with]-(b:person) RETURN a,r,b

这样你就可以恢复节点和相关人员的关系。 当然,你可以调整这个查询,这取决于你是否只想知道原始节点,只知道关系等等......

如果你想获得具有is_friends关系的所有节点:

MATCH (a)-[r:friends_with]-() RETURN a,r

所以你也会把所有的节点和关系都转