不使用map step()gremline获取海王星的边缘的起始节点和结束节点ID

时间:2018-07-02 11:54:23

标签: python python-3.x gremlin gremlin-server amazon-neptune

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

数据示例:enter link description here

查询:

   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())
    """

这给海王星带来了错误,但它在Neo4j上起作用。是否还有其他方法可以获取起始节点ID和结束节点ID。

1 个答案:

答案 0 :(得分:2)

我不确定我为什么要这样做:

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

不是简化为:

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

那将消除lambda,我认为这是您与海王星有关的问题。