3

我正在研究 Neptune AWS,并试图细化边缘的起始节点 ID 和结束节点 ID。map 步骤适用于 Neo4j,但相同的查询不适用于 Neptune。

数据示例:在此处输入链接描述

询问:

   query = """g.V().hasLabel('Person').has("name", "marko").as("from", "to")
        .repeat(bothE().as("e").otherV().as("to").as("to")).times(2).emit(hasLabel("Person")).hasLabel("Person").has("name", "josh")
        .project("name",  "Label","start", "end")
        .by(select(all, "to").unfold().values("title").fold())
        .by(select(all, "to").unfold().label().fold())
        .by(select(all, "e").unfold().id().map{g.E(it.get()).next()}.outV().id().fold())
        .by(select(all, "e").unfold().id().map{g.E(it.get()).next()}.inV().id().fold())
    """

这在 Neptune 中给出了错误,但它在 Neo4j 上工作。是否有任何其他方法来获取开始和结束节点 ID。

4

1 回答 1

3

我不确定我是否遵循您需要这样做的原因:

.by(select(all, "e").unfold().id().map{g.E(it.get()).next()}.outV().id().fold())

这不是简化为:

.by(select(all, "e").unfold().outV().id().fold())

那将摆脱 lambdas,我认为这是您与 Neptune 的问题。

于 2018-07-02T12:09:18.137 回答