看了网上的一些资料和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的嵌入式和驱动包模式该如何选择,还请解惑的更多相关文章

  1. Linux开源模块迁移概述暨交叉编译跨平台移植总结--从《嵌入式Linux驱动模板简洁和工程实践》

    本文摘录<嵌入式Linux驱动模板简洁和工程实践>一本书"开发和调试技术". Linux强大的是,有那么多的开源项目可以使用.通常非常需要可以通过寻找相关的源模块被定义 ...

  2. c3p0、dbcp、tomcat jdbc pool 连接池配置简介及常用数据库的driverClass和驱动包

    [-] DBCP连接池配置 dbcp jar包 c3p0连接池配置 c3p0 jar包 jdbc-pool连接池配置 jdbc-pool jar包 常用数据库的driverClass和jdbcUrl ...

  3. Spring Batch远程分区的本地Jar包模式

    1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! Spring相关文章:Springboot-Cloud Spring Batch远程分区对于大量数据的处理非常擅长,它的实现 ...

  4. 嵌入式Linux驱动开发日记

    嵌入式Linux驱动开发日记 主机硬件环境 开发机:虚拟机Ubuntu12.04 内存: 1G 硬盘:80GB 目标板硬件环境 CPU: SP5V210 (开发板:QT210) SDRAM: 512M ...

  5. 嵌入式linux驱动开发之给linux系统添加温度传感器模块

    忙了几天,终于可以让ds18b20在自己的开发板的linux系统上跑了!虽然ds18b20不是什么新鲜玩意,但是想想知己可以给linux系统添加模块了还是有点小鸡冻呢! 虽然说现在硬件的资源非常丰富而 ...

  6. [Windows驱动]驱动包(Driver Packages)

    在windows下安装一个驱动,我们你需要把所有需要的软件打包-称为驱动包.驱动包里包括系统提供的给所有设备类使用的一般安装工具,还包括了设备商提供的设备特定的组件.下面我们就来看看驱动包里具体需要哪 ...

  7. Win8驱动测试模式

    打开驱动测试模式(保存成bat文件,双击执行) bcdedit /set testsigning on pause 执行完成后,看见提示操作成功的提示,之后我们重启一下,再次进入系统,在桌面的右下角会 ...

  8. mongodb在java驱动包下的操作(转)

    推荐几章很有用的文章 java操作参考文档 http://www.cnblogs.com/hoojo/archive/2011/06/02/2068665.html http://blog.csdn. ...

  9. 使用Maven管理Oracle驱动包

    由于Oracle授权问题,Maven3不提供Oracle JDBC driver,为了在Maven项目中应用Oracle JDBC driver,必须手动添加到本地仓库. 手动添加到本地仓库需要本地有 ...

随机推荐

  1. 关于N个小球放M个盒子解答

    以下是关于关于N个小球放M个盒子的几种情况的解答,蛮详细的(来自博友的)  求精:关于N个小球放M个盒子解答 - chensmiles的日志 - 网易博客http://chensmiles.blog. ...

  2. 【自家测试】2017-12-16 FJOI2016 d1

    1. 所有公共子序列问题(allcs.pas/c/cpp)★问题描述:一个给定序列的子序列是在该序列中删去若干元素后得到的序列.确切地说,若给定序列X= x 1 x 2 ... x m ,则另一序列Z ...

  3. Java-Shiro:目录

    ylbtech-Java-Shiro:目录 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返回顶部   作者:ylbtech出处:http://yl ...

  4. 杂项-公司:SAMSUNG

    ylbtech-杂项-公司:SAMSUNG 三星集团是韩国最大的跨国企业集团,同时也是上市企业全球500强,三星集团包括众多的国际下属企业,旗下子公司有:三星电子.三星物产.三星航空.三星人寿保险等, ...

  5. Hibernate 查询语言

    查询语言 Hibernate 查询语言(HQL)是一种面向对象的查询语言,类似于 SQL,但不是去对表和列进行操作,而是面向对象和它们的属性. HQL 查询被 Hibernate 翻译为传统的 SQL ...

  6. Django项目: 3.用户注册功能

    本章内容的补充知识点 导入库的良好顺序: 1.系统库 2.django库 3.自己定义的库(第三方库) redis缓存数据库的数据调用速度快,但是不利于长时间保存. mysql用于长时间存储,但是调用 ...

  7. HDU--2602(0-1背包)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2602  分析:一个0-1背包问题.记得<背包九讲>的方法. dp[j]=max{dp[j],d ...

  8. Java 使用模板生成 Word 文件---基于 Freemarker 模板框架

    Java项目引入 Freemarker 插件自行完成. 步骤如下: .编写 Word 模板,并将模板中要用代码动态生成数据用 Freemarker 变量取代,即${变量名},如${username}: ...

  9. 2019-5-21-Roslyn-使用-Directory.Build.props-管理多个项目配置

    title author date CreateTime categories Roslyn 使用 Directory.Build.props 管理多个项目配置 lindexi 2019-05-21 ...

  10. set_case_analysis

    set_case_analysis给某个Pin指定固定电平,然后时序分析会根据该结果优化原先的电路. 试举例如下: