图数据库编程API与非功能特性解析
1. 编程API概述
开发者通常不会直接与文件系统和缓存基础设施交互,而是通过查询语言来操作图数据库。查询语言可分为命令式和声明式,其中Cypher是Neo4j原生的声明式查询语言,易于学习和使用。除了Cypher,还有其他API,这些API可以看作一个栈,顶层注重表达性和声明式编程,底层注重精确性、命令式风格和“裸机”性能。
1.1 内核API
内核API处于API栈的最底层,由内核的事务事件处理程序组成。这些处理程序允许用户代码监听流经内核的事务,并根据事务的数据内容和生命周期阶段做出反应。
1.1.1 内核事务事件处理程序
事务事件处理程序的一个典型用例是防止记录的物理删除。可以设置一个处理程序来拦截节点的删除操作,而是将该节点标记为逻辑删除,或者通过创建带时间戳的存档关系将节点“回溯到过去”。
1.2 核心API
Neo4j的核心API是一个命令式Java API,它向用户暴露了节点、关系、属性和标签等图原语。
- 读取操作 :API采用惰性求值,即只有在调用代码需要下一个节点时才会遍历关系。数据会以API调用者能够消费的速度从图中检索,调用者可以在任何时候终止遍历。
- 写入操作 :核心API提供事务管理功能,以确保数据的原子性、一致性、隔离性和持久性。
以下是一个示例代码,用于查找《神秘博士》宇宙中的人类同伴:
// Index lookup for
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



