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
问题内容: 我有一个用ResultSet作为数据成员实现Iterator的类。本质上,该类如下所示: 我如何检查ResultSet是否有另一行,所以由于ResultSet本身未定义hasNext,因此可以创建有效的hasNext方法?我当时在想查询以获取计数并管理该数字以查看是否还有另一行,但我想避免这种情况。 问题答案: 这是一个坏主意。这种方法要求连接一直保持打开状态,直到读取最后一行为止,并
我正在使用REST与neo4j DB交互。
我还想按具有该标签的节点数对标签进行排序...
我可以使用Java streams/lambda表达式来执行这个迭代,而不是使用while循环来填充列表吗?
假设我们有下面的Neo4j模式(简化了,但它显示了重要的一点)。有两种类型的节点和<代码>版本s通过关系的s可以通过关系连接。同样,这些关系有两个属性和,表示有效时间跨度-其中一个或两个可以(在Neo4j术语中不存在)表示无限。 编辑:节点和关系的有效性日期是独立的(尽管示例巧合地显示它们是对齐的)。 该示例显示了两个
我正在通过Spark Cassandra连接器应用以下内容: