返回 登录
0

官方支持的全新版Neo4j-JDBC驱动3.0

原文: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")

图片描述

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

评论