关于neo4j的嵌入式和驱动包模式该如何选择,还请解惑
看了网上的一些资料和Neo4j权威指南这本书。与图遍历相关的介绍都是基于嵌入式模式下的java Api。但是个人觉得在实际的项目中,嵌入式的模式,代码必须放在数据库所在服务器上,且服务器的启停操作都在代码里,局限性有点大。因此选择了驱动包模式,以jdbc的方式连接neo4j数据库。遇到了一些疑惑:
1.使用驱动包模式开发是否就只能用cypher语句(或者结合apoc)来进行图的遍历。
2.驱动包模式查询结果返回的是一个ResultSet对象,是否需要自己手动创建node,path等实体类
3.关于嵌入式,是不是我的理解有误。感觉局限性太大。如果我要远程操作neo4j数据库,是不是可以通过将neo4j所在服务器上的相关接口发布dubbo服务来实现。
4.实际项目中用到neo4j数据库,嵌入式和驱动包模式究竟该如何选择?
回答一
唯一需要使用嵌入模式(embedded)的情况,是你的应用在图数据库引擎之上实现专门的数据处理功能、并作为一个整体产品运行/销售,例如一个用户权限管理软件使用Neo4j嵌入式数据库作为用户角色和资源的数据存储。嵌入式的数据库是无法被其他外部客户应用访问的。
作为客户端应用,首推Neo4j的官方驱动:Java, Javascript, .Net和Python,它们对查询结果的读取都做了很好地封装。JDBC方式只是为习惯于关系数据库开发的技术人员提供的。客户端应用应该通过bolt协议访问数据库,提交Cypher查询,并处理结果。
请参考Neo4j官方网站上的例子:https://neo4j.com/developer/language-guides/
回答二
1.是的,驱动包开发模式就像 jdbc操作关系数据库,要在程序里发送指令(cyher语句)到neo4j并处理返回的结果
2.驱动包开发模式下 运行cypher指令(create )来创建节点 关系 属性等
3.是的,嵌入式开发模式要在服务器上运行直接操作neo4j数据文件,并且必须先关闭neo4j才行
4.应用级别都是用驱动包开发模式,你的项目就是应用级别的。 嵌入式开发模式一般专业数据处理人员想要自己操作图数据用到
关于neo4j的嵌入式和驱动包模式该如何选择,还请解惑的更多相关文章
- Linux开源模块迁移概述暨交叉编译跨平台移植总结--从《嵌入式Linux驱动模板简洁和工程实践》
本文摘录<嵌入式Linux驱动模板简洁和工程实践>一本书"开发和调试技术". Linux强大的是,有那么多的开源项目可以使用.通常非常需要可以通过寻找相关的源模块被定义 ...
- c3p0、dbcp、tomcat jdbc pool 连接池配置简介及常用数据库的driverClass和驱动包
[-] DBCP连接池配置 dbcp jar包 c3p0连接池配置 c3p0 jar包 jdbc-pool连接池配置 jdbc-pool jar包 常用数据库的driverClass和jdbcUrl ...
- Spring Batch远程分区的本地Jar包模式
1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! Spring相关文章:Springboot-Cloud Spring Batch远程分区对于大量数据的处理非常擅长,它的实现 ...
- 嵌入式Linux驱动开发日记
嵌入式Linux驱动开发日记 主机硬件环境 开发机:虚拟机Ubuntu12.04 内存: 1G 硬盘:80GB 目标板硬件环境 CPU: SP5V210 (开发板:QT210) SDRAM: 512M ...
- 嵌入式linux驱动开发之给linux系统添加温度传感器模块
忙了几天,终于可以让ds18b20在自己的开发板的linux系统上跑了!虽然ds18b20不是什么新鲜玩意,但是想想知己可以给linux系统添加模块了还是有点小鸡冻呢! 虽然说现在硬件的资源非常丰富而 ...
- [Windows驱动]驱动包(Driver Packages)
在windows下安装一个驱动,我们你需要把所有需要的软件打包-称为驱动包.驱动包里包括系统提供的给所有设备类使用的一般安装工具,还包括了设备商提供的设备特定的组件.下面我们就来看看驱动包里具体需要哪 ...
- Win8驱动测试模式
打开驱动测试模式(保存成bat文件,双击执行) bcdedit /set testsigning on pause 执行完成后,看见提示操作成功的提示,之后我们重启一下,再次进入系统,在桌面的右下角会 ...
- mongodb在java驱动包下的操作(转)
推荐几章很有用的文章 java操作参考文档 http://www.cnblogs.com/hoojo/archive/2011/06/02/2068665.html http://blog.csdn. ...
- 使用Maven管理Oracle驱动包
由于Oracle授权问题,Maven3不提供Oracle JDBC driver,为了在Maven项目中应用Oracle JDBC driver,必须手动添加到本地仓库. 手动添加到本地仓库需要本地有 ...
随机推荐
- 小程序关闭时暂停webview里的音乐
document.addEventListener("visibilitychange", () => { if(document.hidden) { // 页面被 ...
- UICollectionView入门--使用系统UICollectionViewFlowLayout布局类
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://rainbownight.blog.51cto.com/1336585/13237 ...
- 元素显示v-show
<!DOCTYPE html> <html lang="zh"> <head> <title></title> < ...
- 从xmlns的作用说起
查了资料和自己实践后,得出了一些关于xml和xmlns的结论 看一个最常见的javaweb 中xml配置文件的开头: <?xml version="1.0" encoding ...
- 11-4-while和dowhile
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JS实用插件
1. jQuery鼠标滚轮事件插件Mouse Wheel 下载链接:https://github.com/brandonaaron/jquery-mousewheel/ 使用方法: // using ...
- elasticsearch 中文API 更新(五)
更新API 你能够创建一个UpdateRequest,然后将其发送给client. UpdateRequest updateRequest = new UpdateRequest(); updateR ...
- 关于大数据平台ETL可行性方案
今年做过两个公司需求都遇到了实时流入hive的需求,storm入hive有几种可行性方案. 1.storm直接写入hive,storm下面有个stormhive的工具包,可以进行数据写入hive.但是 ...
- thymeleaf报错元素类型必须由匹配的结束标记终止
spring boot 1.x 版本中thymeleaf报错元素类型 “link” 必须由匹配的结束标记 “</link>” 终止解决办法: 1.在pom.xml文件中添加: <de ...
- 2018-10-19-C#-序列类为-xml-可以使用的特性大全
title author date CreateTime categories C# 序列类为 xml 可以使用的特性大全 lindexi 2018-10-19 9:9:47 +0800 2018-6 ...