原文:The All-New, Officially Supported Neo4j-JDBC Driver 3.0
作者: Michael Hunger
译者:仲培艺,关注数据库领域,纠错、寻求报道或者投稿请致邮:zhongpy@csdn.net。

官方版Neo4j JDBC驱动程序3.0现已推出,本文将介绍相关操作方法,并列举一些案例。

全新Neo4j-JDBC驱动3.0的发布将解决Neo4j数据集成方面的问题。

很多用户对Neo4j的集成有着广泛类型的需求,包括与其它数据源、与商业智能(BI)套件、与ETL工具及报告工具还有特定系统组件的集成。

尽管新版的官方驱动允许用户通过支持的语言,对这类集成工具与应用程序进行快速编写,但通常情况下,用户只会用到标准库、一些配置再加上所需的Cypher语句。

Neo4j-JDBC驱动程序3.0的大部分开发工作由Neo4j的意大利合作伙伴、威尼斯的Larus BA完成。

JDBC:数据集成的动力

JDBC标准几乎是与Java同期推出的,经过长期发展之后,目前不仅对Java开发者访问数据库提供支持,还可作为通用的集成组件,支持用户通过各类工具与可信数据库进行交互。由于最初是针对关系数据库(RDBMS)构建的,因此具备很多相关特性(包括tables、schema等),不过本质来讲包括了以下方面:

  • 向数据库发送参数化的文本查询语句;
  • 接收表格结果;
  • 提供结果的元数据及相关分析;
  • 根据配置选项来处理连接字符串;
  • 支持身份验证;
  • 可手动或自动执行事务管理。

无论是否为关系数据库,以上几项均为必备特性。因此,JDBC驱动程序也有助于许多其它NoSQL数据库的集成,比如Cassandra、MongoDB等。

历史

首代Neo4j-JDBC驱动程序是在2011年12月,也就是四年多之前由Rickard Öberg利用闲暇时间开发的,这款程序基于HTTP端点而构建,不过尽管如此,它已经非常有用了。

如今,在合作伙伴意大利Larus BA公司的协助下,Neo4j 3.0于2016年4月崭新发布,新版本还对Bolt驱动提供官方支持。

由于Larus BA的用户需要将Neo4j与PentahoJasperReportsTalend集成,他们寻求与我方合作,通过最新的APIs和技术从头构建全新JDBC驱动程序。

开发团队从实现Bolt协议开始,之后为旧版Neo4j安装包添加了HTTP传输功能。今后,我们还将支持可直接对磁盘存储文件进行操作的内嵌式传输功能。

我们还在GraphConnect Europe大会上展示了当时的开发成果,整个开发过程中我们得以发布了若干个milestone以及RC版本。

Neo4j团队针对许多集合工具进行了大量测试,此中幸得各方协助,感谢TiQ Solutions的Ralf Becher、LiquiGraph的作者Florent Biville,以及经验丰富的现场工程师Stefan ArmbrusterBenoit Simard

如今我们荣幸地宣布:满足用户集成需求的Neo4j-JDBC 3.0通用版已经发布。

用户能够:

下面将举例说明Neo4j与一些最常用工具的集成方式,其中大部分查询案例都是基于我们的电影数据集(即使用Neo4j浏览器播放影片)。

根据这些案例所提供的信息,无论使用何种工具的用户都应当能够配置并使用Neo4j-JDBC驱动程序。

如需Neo4j-JDBC驱动的官方专业支持,请提交请求

案例如下:

Squirrel SQL

Squirrel SQL是一种使用广泛的SQL Workbench,支持众多开箱即用的数据库。添加JDBC驱动的操作十分简单,执行Cypher查询获取表格结果即可。

Pentaho

步骤一:创建数据库连接

选择新的数据库连接,插入Neo4j连接参数,并加以检测:

连接类型:一般数据库

用户连接URL:”jdbc:neo4j:bolt://localhost:7687”

用户驱动类名:”org.neo4j.jdbc.Driver”

登录及密码:

步骤二:创建步骤

从“Design”中选择input并选中table input项以插入源表,然后在“Scripting”中选取Execute SQL script。

双击table input,选择源数据库连接,编写查询以从源中提取数据,再点击Preview按钮检查查询项。

双击“Hops”,重复选中“table input”和Execute SQL script操作。

双击“Execute SQL script”,点击Get Fields以检索源数据库的纵列,编写Cypher语句以创建节点和关系:

步骤三:运行任务

点击执行转换或任务,并等待进程结束:

使用TIQ JDBC连接的QlikView / Qlik Sense

TIQ Solutions提供了一款商业产品,支持在QlikView和Qlik Sense中启用JDBC连接,且配置非常简单。

在QlikView中用户可直接连接到Neo4j,而在Qlik Sense中则需求用户复制CUSTOM CONNECT脚本代码。

一旦Neo4j连接建立起来,就可在Load语句中执行Cypher查询,但需加SQL前缀,查询结果仍加载到内存表中。

使用jdbc2tde的Tableau

由于仅生成SQL,与Tableau的集成较为简单,用户可使用即将发布的Tableau REST进行集成,也可选择使用JDBC查询以生成TDE文件的TIQ工具。

这些文件均可载入Tableau,并能够可视化,通过多种用户熟知且喜爱的方式彼此交互。

Talend

用户可通过Talend JDBC组件进行查询,或将数据输入Neo4j,只需在任务中添加一个tJDBC连接以及DBC-URL、Driver-Jar、Driver、用户名(username)和密码(password)等常用字段。

在高级设置选项中,用户在需要时可对auto-commit进行配置。

目前用户还可通过添加一些tJDBCInput来查询Neo4j数据库,如下:

JasperReports

步骤一:创建新的Data Adapter

右键点击“Data Adapter”,点击“Create Data Adapter”,并选择“Database JDBC Connection”。

插入JDBC驱动程序值:“org.neo4j.jdbc.Driver”以及JDBC URL:“jdbc:neo4j:bolt://localhost”,并添加用户名和密码。

随后单击“Driver Classpath”选项,添加Jar文件并检测连接。

步骤二:检索数据库纵列

创建新的JasperReport,并选择数据集和查询编辑器对话窗。

插入Cypher语句,随后单击“Read Field”。

通过刷新预览数据,用户可检查经数据预览功能检索出的数据。

步骤三:准备报表并创建文档

BIRT

  • 右键点击“Data sources-> New Data Source以创建新数据源,再选择第二项;
  • 创建一个新的连接(在两个窗口中都点击new按钮);
  • 选择“BIRT JDBC Data Source”并命名;
  • 点击“管理驱动器”,选择“添加”以加载Neo4j-JDBC jar包;
  • 填写驱动程序连接参数;
  • 点击“下一步”、“完成”,选择新创建的连接;
  • 点击“下一步”、“完成”,数据源创建完成;
  • 右键点击Data Sets->New Data Set以创建新数据集,单击“下一步”;

之后会弹出一个新窗口,提示该查询纵列可用,用户可预览结果。

  • 关闭窗口,然后创建新的表格元素(右键点击document——Insert——Table);
  • 选中其中四列,点击“完成”;
  • 用下面的数据填充表格(将数据源纵列拖放至正确位置);
  • 点击Run->View report->As PDF以PDF形式导出报告。

APOC

为了完全获得元数据,我们也可使用APOC程序库,通过JDBC查询Neo4j数据库。只需将neo4j-jdbc-3.0.jar包放入$NEO4J_HOME/插件目录中,并重启服务器。

之后便可运行Cypher语句:

CALL apoc.load.jdbc("jdbc:neo4j:bolt://localhost",
"MATCH (a:Actor)-[:ACTED_IN]->(m:Movie) RETURN a.name, m.title")
  • 1
  • 2

2016年8月12日-13日,由CSDN重磅打造的互联网应用架构实战峰会运维技术与实战峰会将在成都举行,目前18位讲师和议题已全部确认。两场峰会大牛讲师来自阿里、腾讯、百度、京东、小米、乐视、聚美优品、YY互娱、华为、360等知名互联网公司,一线深度的实践,共同探讨高可用/高并发/高性能系统架构设计、电商架构、分布式架构、运维工具研发与实践、运维自动化系统的构建、DevOps、云上的运维案例分析、虚拟化技术、应用性能检测与管理、游戏行业的运维实践等,将和与会嘉宾共同探讨「构建更安全、更高性能、更稳定的架构和运维体系」等领域的话题与技术。【八折优惠中,点击这里抢票,欲购从速。】

原文地址:https://blog.csdn.net/joy0921/article/details/80124352

官方支持的全新版Neo4j-JDBC驱动3.0的更多相关文章

  1. Confluence 6 数据库 JDBC 驱动

    本页面提供了支持的数据库的所有 JDBC 驱动下载链接. 基于许可证的原因,我们没有将 MySQL 或 Oracle 的数据库驱动整合到 Confluence 中,因此你需要在 Confluence ...

  2. Atitit.自定义jdbc驱动  支持jsql

    Atitit.自定义jdbc驱动  支持jsql 1. 为什么需要自定义驱动1 1.1. 透明分库分表1 1.2. 自定义数据库的接口.比如大数据文档文件类型的数据库,数据存储引擎2 2. 整个文章分 ...

  3. JDBC驱动自身问题引发的FullGC

    公众号HelloJava刊出一篇<MySQL Statement cancellation timer 故障排查分享>,作者的某服务的线上机器报 502(502是 nginx 做后端健康检 ...

  4. [Java] Oracle的JDBC驱动的版本说明

    classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别,之间的差异 作者:赵磊 博客:http://elf8848.iteye.com 来源:http:/ ...

  5. MapReduce 程序mysql JDBC驱动类找不到原因及学习hadoop写入数据到Mysql数据库的方法

    报错 :ClassNotFoundException: com.mysql.jdbc.Driver 需求描述: hadoop需要动态加载个三方jar包(比如mysql JDBC 驱动包),是在MR结束 ...

  6. UCanCode发布升级E-Form++可视化源码组件库2015全新版 (V23.01)!

    2015年4月. 成都 UCanCode发布升级E-Form++可视化源码组件库2015全新版 (V23.01)! --- 全面性能提升,UCanCode有史以来最强大的版本发布! E-Form++可 ...

  7. UCanCode发布升级E-Form++可视化源码组件库2014 全新版 (V20.01)!

    UCanCode发布升级E-Form++可视化源码组件库2014 全新版 (V20.01)! --- UCanCode有史以来最强大的版本发布! E-Form++可视化源码组件库企业版本2014最新版 ...

  8. Oracle、DB2、MySql、SQLServer JDBC驱动

    四种数据库JDBC驱动,还列出了连接的Class驱动名和Url Pattern,DB2包括Type 2.Type 3和Type 4三种模式.注意驱动包名称的大小写. Oralce连接驱动包名和URL ...

  9. MySQL JDBC驱动版本与MySQL数据库版本对应关系

    前言:前段时间发现在家使用和公司一样的mysql jdbc驱动版本发生了异常,原因:家里mysql数据库版本与公司不一致导致.查询了相关资料,发现mysql jdbc驱动版本与mysql数据库版本有一 ...

随机推荐

  1. Lint found fatal errors while assembling a release target问题的解决方案

    此问题发生在编译为 release 版本时,出现错误提示如下: Lint found fatal errors while assembling a release target. To procee ...

  2. 网络结构解读之inception系列四:Inception V3

    网络结构解读之inception系列四:Inception V3   Inception V3根据前面两篇结构的经验和新设计的结构的实验,总结了一套可借鉴的网络结构设计的原则.理解这些原则的背后隐藏的 ...

  3. windows API 第13篇 MoveFileEx

    上一篇介绍了MoveFile,这次分析MoveFileEx,它是MoveFile的扩展函数,功能还要更加强大些.先看定义: BOOL WINAPI MoveFileEx( _In_     LPCTS ...

  4. Linux下使用SSH命令行传输文件到远程服务器

    目标:CentOS 7 调整 home分区 扩大 root分区 总体过程: 把/home内容备份,然后将/home文件系统所在的逻辑卷删除,扩大/root文件系统,新建/home ,恢复/home内容 ...

  5. Shell 工具之 sed

    sed编辑器称为流编辑器(stream editor).可以根据输入命令行的命令或者存储在命令文本文件中的命令处理数据.每次从输入读取一行数据,将该数据与所提供的编辑器命令进行匹配,根据命令修改数据流 ...

  6. 转:fork()子进程创建

    源地址:http://blog.chinaunix.net/uid-23037385-id-2565472.html fork()子进程创建 在 UNIX 系统中,用户创建一个新进程的唯一方法就是调用 ...

  7. rdf(资源描述框架)

    资源描述框架(Resource Description Framework),一种用于描述Web资源的标记语言.RDF是一个处理元数据的XML(标准通用标记语言的子集)应用,所谓元数据,就是“描述数据 ...

  8. StopWatch 监控Java代码运行时间和分析性能

    背景 有时我们在做开发的时候需要记录每个任务执行时间,或者记录一段代码执行时间,最简单的方法就是打印当前时间与执行完时间的差值,然后这样如果执行大量测试的话就很麻烦,并且不直观,如果想对执行的时间做进 ...

  9. Luogu P3106 [USACO14OPEN]GPS的决斗Dueling GPS's(最短路)

    P3106 [USACO14OPEN]GPS的决斗Dueling GPS's 题意 题目描述 Farmer John has recently purchased a new car online, ...

  10. light oj 1149 Factors and Multiples(二分匹配)

    LightOJ1149 :Factors and Multiples 时间限制:2000MS    内存限制:32768KByte   64位IO格式:%lld & %llu 描述 You w ...