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

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



