我正在使用Neo4j 2.0。我用Label X和一个唯一的属性Y创建了许多节点。我的意思是,对于带有Label X的不同节点,这个属性Y是不同的。
我正在使用Embedded-neo4j。如果给定标签X和属性Y,我们如何使用Java API获取节点.U如何获得对节点的引用?
请帮帮我。
答案 0 :(得分:2)
您可以使用Java API执行Cypher查询:
match (n:X {Y:"propertyValue"}) return n
其中X是标签名称,Y是属性名称
答案 1 :(得分:1)
在使用Embedded的Neo4j 2.1.6中,它可以完成:
Iterable<Node> lNodes =database.findNodesByLabelAndProperty(DynamicLabel.label("LabelInString"), "Name of Propery", lPropertyValue);
其中database是GraphDatabaseService的实例。
答案 2 :(得分:0)
您是指节点中的唯一属性Y或属性Y的唯一属性值。如果节点标签X中有唯一的属性Y,则可以在
下面执行GraphDatabaseService graphService =new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH);
ExecutionEngine engine = new ExecutionEngine(graphService);
String label = "X";
String property ="Y";
String query = "MATCH (n:"+label+") WHERE has(n."+property+") return n";
ExecutionResult result = engine.execute(query);
ResourceIterator<Node> resultIterator = result.columnAs("n");
Node resultNode = null;
if(resultIterator.hasNext()){
resultNode = resultIterator.next();
}