![](/img/trans.png)
[英]Unable to create relationship between two nodes in Neo4J database using Cypher query in Java
[英]Query two nodes from neo4j database using java
我是Neo4j的新手,我想查詢僅包含節點的Neo4j數據庫,以便根據已有的2個列表在它們之間創建鏈接。
例如,我想將名稱為List A
的節點與名稱為List B
節點連接起來。
這是我寫的代碼:
public class Main {
public static void main(String[] args) {
GraphDatabaseFactory graphDbFactory = new GraphDatabaseFactory();
GraphDatabaseService graphDb = graphDbFactory.newEmbeddedDatabase("C:\\Zakaria\\NeoTests\\Tetralecture");
ExecutionEngine execEngine = new ExecutionEngine(graphDb);
/* Here is a loop to read from listA and listB so no need to worry about them */
try (Transaction ignored = graphDb.beginTx()) {
String query = "MATCH (auteur1:AUTEUR{Name:'" + listA.get(i) + "'}), (auteur2:AUTEUR{Name:'" + listB.get(j) + "'}) return auteur1, auteur2";
ExecutionResult execResult = execEngine.execute(query);
Iterator<Node> aut_column = execResult.columnAs("auteur1");
for(Node node : IteratorUtil.asIterable(aut_column)) {
String nodeResult = node + " : " + node.getProperty("Name");
System.out.println(nodeResult);
}
}
}
}
本示例僅顯示來自一個auteur1
一個作者列表,我希望能夠同時顯示兩個作者。
如果可以,我認為從兩個列表中刪除節點並在它們之間創建鏈接會更容易。
謝謝你的幫助!
這對您有用嗎?
public class Main {
public static void main(String[] args) {
GraphDatabaseFactory graphDbFactory = new GraphDatabaseFactory();
GraphDatabaseService graphDb = graphDbFactory.newEmbeddedDatabase("C:\\Zakaria\\NeoTests\\Tetralecture");
ExecutionEngine execEngine = new ExecutionEngine(graphDb);
/* Here is a loop to read from listA and listB so no need to worry about them */
try (Transaction ignored = graphDb.beginTx()) {
String query = "MATCH (auteur1:AUTEUR{Name:'" + listA.get(i) + "'}), (auteur2:AUTEUR{Name:'" + listB.get(j) + "'}) return auteur1, auteur2";
ExecutionResult execResult = execEngine.execute(query);
for(Map<String, Object> row : execResult) {
final Node node1 = (Node)row.get("auteur1");
final Node node2 = (Node)row.get("auteur2");
String nodeResult = node1 + " : " + node1.getProperty("Name") + "; " + node2 + " : " + node2.getProperty("Name");
System.out.println(nodeResult);
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.