Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java插件在Neo4j中返回节点邻居?_Neo4j_Cypher_Neo4j Apoc_Neo4j Plugin - Fatal编程技术网

如何使用java插件在Neo4j中返回节点邻居?

如何使用java插件在Neo4j中返回节点邻居?,neo4j,cypher,neo4j-apoc,neo4j-plugin,Neo4j,Cypher,Neo4j Apoc,Neo4j Plugin,在塞弗,返回的邻居会是这样的: START n=node({nodeId}) MATCH n--m RETURN m; 我很难创建一个同样的Java插件。然后我想看看返回的邻居的财产等等。这是我的代码,我试图从中获取关系及其端点。我做错了什么?我只从“while循环”中返回节点本身,而没有返回任何内容 import java.util.Iterator; 导入java.util.stream.stream; 导入org.neo4j.graphdb.GraphDatabaseService; 导

在塞弗,返回的邻居会是这样的:

START n=node({nodeId}) MATCH n--m RETURN m;
我很难创建一个同样的Java插件。然后我想看看返回的邻居的财产等等。这是我的代码,我试图从中获取关系及其端点。我做错了什么?我只从“while循环”中返回节点本身,而没有返回任何内容

import java.util.Iterator;
导入java.util.stream.stream;
导入org.neo4j.graphdb.GraphDatabaseService;
导入org.neo4j.graphdb.Label;
导入org.neo4j.graphdb.Node;
导入org.neo4j.graphdb.Relationship;
导入org.neo4j.graphdb.ResourceIterator;
导入org.neo4j.logging.Log;
导入组织neo4j.程序。*;
导入org.neo4j.procedure.Description;
导入org.neo4j.procedure.Name;
公共类关联{
@上下文
公共图形数据库服务数据库;
@上下文
公共日志;
@UserFunction(value=“boris.getneights”)
@描述(“boris.getneights-一步之遥查找节点”)
公共节点passName2(@Name(“nodeId”)长nodeId)
{
Node Node=db.getNodeById(nodeId);
Iterable rels=node.getRelationships();
迭代器I_rel=rels.Iterator();
while(I_rel.hasNext()){
关系rel=I_rel.next();
Node endNode=rel.getEndNode();
返回端节点;
}
返回节点;
}
}
这项工作:

public class NodeFinder {

@Context
public GraphDatabaseService db;

@Context
public Log log;

@Procedure 
@Description("finds Nodes one step away")
public Stream<NodeResult> passName2(@Name("nodeId") long nodeId)

{

    Node node = db.getNodeById(nodeId);
    Iterable<Relationship> rels = node.getRelationships();
    Stream<Relationship> relsStream = StreamSupport.stream(rels.spliterator(), false);
    Stream<NodeResult> myNodes = relsStream.map(r -> new NodeResult(r));  

    return myNodes;

}


public class NodeResult 
{
    //What i return
    public Node node;

     //Constructor
     public NodeResult(Relationship item) 
     {            
        this.node = item.getEndNode();
     }

}
}
公共类NodeFinder{
@上下文
公共图形数据库服务数据库;
@上下文
公共日志;
@程序
@说明(“查找一步之外的节点”)
公共流passName2(@Name(“nodeId”)长nodeId)
{
Node Node=db.getNodeById(nodeId);
Iterable rels=node.getRelationships();
Stream relsStream=StreamSupport.Stream(rels.spliterator(),false);
Stream myNodes=relsStream.map(r->new NodeResult(r));
返回myNodes;
}
公共类NodeResult
{
//我的回报
公共节点;
//建造师
公共节点结果(关系项)
{            
this.node=item.getEndNode();
}
}
}
这项工作:

public class NodeFinder {

@Context
public GraphDatabaseService db;

@Context
public Log log;

@Procedure 
@Description("finds Nodes one step away")
public Stream<NodeResult> passName2(@Name("nodeId") long nodeId)

{

    Node node = db.getNodeById(nodeId);
    Iterable<Relationship> rels = node.getRelationships();
    Stream<Relationship> relsStream = StreamSupport.stream(rels.spliterator(), false);
    Stream<NodeResult> myNodes = relsStream.map(r -> new NodeResult(r));  

    return myNodes;

}


public class NodeResult 
{
    //What i return
    public Node node;

     //Constructor
     public NodeResult(Relationship item) 
     {            
        this.node = item.getEndNode();
     }

}
}
公共类NodeFinder{
@上下文
公共图形数据库服务数据库;
@上下文
公共日志;
@程序
@说明(“查找一步之外的节点”)
公共流passName2(@Name(“nodeId”)长nodeId)
{
Node Node=db.getNodeById(nodeId);
Iterable rels=node.getRelationships();
Stream relsStream=StreamSupport.Stream(rels.spliterator(),false);
Stream myNodes=relsStream.map(r->new NodeResult(r));
返回myNodes;
}
公共类NodeResult
{
//我的回报
公共节点;
//建造师
公共节点结果(关系项)
{            
this.node=item.getEndNode();
}
}
}