我基于no在java类中创建独特的neo4j关系。数据库中的列值。 “Interface_Name”列的值将分配给每个关系。我的代码:
while (rs.next()){
String rel = rs.getString("Interface_Name");
GraphDatabaseService graphDb = new EmbeddedGraphDatabase("D://My Graph");
Transaction tx = graphDb.beginTx();
try {
RelationshipType rel = DynamicRelationshipType.withName(rel); **//Gives error since rel is string**
.....
tx.success();
}
}
如何根据DB中的列值创建关系类型?内部while循环关系类型应根据DB值创建。
答案 0 :(得分:1)
您无法在不创建节点的情况下创建关系。您需要一个起始节点和一个终端节点。另外,不要为遇到的每一列创建新的GraphDatabaseService
。你的代码可能是这样的:
GraphDatabaseService graphDb = new EmbeddedGraphDatabase("D://My Graph");
while (rs.next()){
String rel = rs.getString("Interface_Name");
try (Transaction tx = graphDb.beginTx()) {
RelationshipType relType = DynamicRelationshipType.withName(rel);
graphDb.createNode().createRelationshipTo(graphDb.createNode(), relType);
tx.success();
}
}