0
我试图执行一个查询返回一个路径,但是,尽管在neo4j Web UI
执行的查询返回正确的结果,neo4j-ogm
返回null
。我已经从Maven安装了neo4j-ogm-api,core:2.0.0-M01
。Neo4j OGM 2.0查询路径
我的Java代码如下:
Root.java:
@NodeEntity
public class Root
{
@GraphId
public Long id;
@Relationship(type = "Branch", direction = Relationship.OOUTGOING)
public List<Branch> branches = new ArrayList<>();
public Branch addLeaf(Leaf leaf, float length)
{
Branch b = new Branch(this, leaf);
b.length = length;
leaf.branch = b;
branches.add(b);
return b;
}
}
Leaf.java:
@NodeEntity
public class Leaf
{
@GraphId
public Long id;
@Property
public String color;
@Relationship(type = "Branch", direction = Relationship.INCOMING)
public Branch branch;
}
Branch.java:
@RelationshipEntity
public class Branch
{
@GraphId
public Long id;
public Branch(Root root, Leaf leaf)
{
this.root = root;
this.leaf = leaf;
}
@Property
public float length;
@StartNode
public Root root;
@EndNode
public Leaf leaf;
}
然后,为了测试我们做
public class Main {
public static void main(String[] args) {
SessionFactory sessionFactory = new SessionFactory("com.my.package.name");
Session session = sessionFactory.openSession();
Root r = new Root()
r.addLeaf(new Leaf(), 1);
r.addLeaf(new Leaf(), 2);
session.save(r);
//Until this point everything is alright and
// all 3 nodes and 2 relationships are created
String query = "MATCH path = (l1:Leaf)-[*1..100]-(l2:Leaf) WITH path LIMIT 1 RETURN path";
QueryResultModel qrm = session.query(query, new HashMap<String, Object>());
// qrm.result.get(0).get("path") is null
}
}
请向我解释我做错了什么?
啊,谢谢。关于QueryResult,在测试时,我使用了Object qrm = session.query ... :)))我希望迟早neo4j-ogm将支持与py2neo相同的功能。 – Vahagn