java中的密码查询:获取并迭代resultset节点


public class BooksManager {

//private final Driver driver;
private final ConnectionConfig config;
private Connection con;
public BooksManager(ConnectionConfig config) {
this.config = config;
this.con = null;
try {
this.con = DriverManager.getConnection("jdbc:neo4j:"+ config.getFullUrl(), "neo4j", config.getPassword());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
public void viewBook(){
booksQuery = "USE eindb MATCH (b:Book) RETURN b LIMIT 25";
PreparedStatement stmt = null;
try {
stmt = con.prepareStatement(booksQuery);
} catch (SQLException e1) {
e1.printStackTrace();
}

ResultSet rs = null;

try {
rs = stmt.executeQuery();
} catch (SQLException e2) {
e2.printStackTrace();
}

try {
while (rs.next()) {

Object bookJustObject = rs.getObject("b");
System.out.println("b: "+bookJustObject);
//TODO get all fields from object, how? 
}
} catch (SQLException e1) {
e1.printStackTrace();
}
}

我成功执行了返回一些书籍的查询。使用jdbc连接为neo4j数据库运行查询。我不明白如何列出对象"中的所有字段;b";它表示图形数据库中的一本书。

这取决于您想要什么。一些指针:

返回一组特定的属性

RETURN b.title AS title, b.foo AS foo

以地图形式返回属性:

RETURN properties(b) AS map

返回属性并添加节点id。

RETURN apoc.map.setKey(properties(b),'id',id(b)) AS mapWithId

返回所有属性/密钥的列表

MATCH (b:Book) 
UNWIND keys(b) AS key
RETURN DISTINCT key

最新更新