首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在neo4j中从服务器插件返回JSONObject

在neo4j中从服务器插件返回JSONObject
EN

Stack Overflow用户
提问于 2013-05-16 19:35:39
回答 1查看 428关注 0票数 1

我正在尝试在neo4j中创建一个服务器插件来进行特定的查询,并希望返回Node的两个可迭代,而不是一个可迭代的。

根据neo4j文档,我发现这是不可能的,所以我尝试从这些数组创建一个JSONObject数组,然后将其作为服务器插件结果返回。但这似乎不起作用。

所以我在问是否有人已经做过这样的事情了?

我在neo4j google group上被告知要使用Gremlin,但我以前从未使用过它,并且认为它有点复杂。

任何帮助都将不胜感激。

谢谢

EN

Stack Overflow用户

回答已采纳

发布于 2013-05-19 15:35:03

我最终通过合并两个我想要返回的列表来解决这个问题,然后返回一个唯一的列表。因此,我可以在我的python代码中将它们分开,因为我知道它们从哪里开始。

代码语言:javascript
运行
复制
public class Ond extends ServerPlugin {

@PluginTarget(GraphDatabaseService.class)
public static Iterable<Node> getOnd(
        @Source GraphDatabaseService graphDb,
        @Description("the airline's node ID") @Parameter(name = "id") int id) {

    List<Node> results= new ArrayList<Node>();

    String n4jQuery= "START al= node("+id+") match ond-[:operatedBy]->al, ond-[:origin]->orig, ond-[:destination]->dest RETURN orig, dest ;"; 

    ExecutionEngine engine= new ExecutionEngine(graphDb);
    ExecutionResult result= engine.execute(n4jQuery);
    List<Node> orig= new ArrayList<Node>();
    List<Node> dest= new ArrayList<Node>();

    //creating the lists i want to return
    //an outter loop over tables rows
    for (Map<String, Object> row : result) {
    //an inner loop over the two columns : orig and dest
        for (Map.Entry<String, Object> column : row.entrySet()) {

            String key = column.getKey();
            Node n = (Node) column.getValue();
            if(key.equals("dest")){
                dest.add(n);
            }else{
                orig.add(n);
            }
        }

    }

      //merging the two lists
    results.addAll(orig);
    results.addAll(dest);

      // orig elements are between indices 0 and size(results)/2 -1 
      //and dest element are between size(results)/2 and size(results)-1
    return results;
}

}

希望它能有所帮助!!

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16586369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档