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