2014-02-08 66 views
1

我正在使用Neo4j 2.0。我創建了許多帶有標籤X和唯一屬性Y的節點。我的意思是,對於帶有標籤X的不同節點,此屬性Y不同。Neo4j2.0如何通過標籤和屬性獲取節點

我正在使用Embedded-neo4j。我們如何使用Java API獲得節點,給定標籤X和屬性Y. U如何獲得對節點的引用?

請幫幫我。

回答

2

您可以使用Java API執行的Cypher查詢:

match (n:X {Y:"propertyValue"}) return n 

其中X是標籤名稱和Y是屬性名稱

0

你的意思是獨特的屬性Y或ATTRIB的獨特屬性值Y在節點中。如果你有獨特的性能的Y節點標籤X,你可以做以下

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(); 
} 
1

在Neo4j的2.1.6採用嵌入式操作系統,它可以做到:

Iterable<Node> lNodes =database.findNodesByLabelAndProperty(DynamicLabel.label("LabelInString"), "Name of Propery", lPropertyValue); 

其中數據庫是GraphDatabaseService的實例。