官方版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与Pentaho、JasperReports和Talend集成,他们寻求与我方合作,通过最新的APIs和技术从头构建全新JDBC驱动程序。 开发团队从实现Bolt协议开始,之后为旧版Neo4j安装包添加了HTTP传输功能。今后,我们还将支持可直接对磁盘存储文件进行操作的内嵌式传输功能。 我们还在GraphConnect Europe大会上展示了当时的开发成果,整个开发过程中我们得以发布了若干个milestone以及RC版本。 Neo4j团队针对许多集合工具进行了大量测试,此中幸得各方协助,感谢TiQ Solutions的Ralf Becher、LiquiGraph的作者Florent Biville,以及经验丰富的现场工程师Stefan Armbruster和Benoit Simard。 如今我们荣幸地宣布:满足用户集成需求的Neo4j-JDBC 3.0通用版已经发布。 用户能够:
下面将举例说明Neo4j与一些最常用工具的集成方式,其中大部分查询案例都是基于我们的电影数据集(即使用Neo4j浏览器播放影片)。 根据这些案例所提供的信息,无论使用何种工具的用户都应当能够配置并使用Neo4j-JDBC驱动程序。 如需Neo4j-JDBC驱动的官方专业支持,请提交请求。 案例如下: Squirrel SQLSquirrel SQL是一种使用广泛的SQL Workbench,支持众多开箱即用的数据库。添加JDBC驱动的操作十分简单,执行Cypher查询获取表格结果即可。 Pentaho步骤一:创建数据库连接选择新的数据库连接,插入Neo4j连接参数,并加以检测: 连接类型:一般数据库 步骤二:创建步骤从“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 SenseTIQ Solutions提供了一款商业产品,支持在QlikView和Qlik Sense中启用JDBC连接,且配置非常简单。 在QlikView中用户可直接连接到Neo4j,而在Qlik Sense中则需求用户复制 一旦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
之后会弹出一个新窗口,提示该查询纵列可用,用户可预览结果。
APOC为了完全获得元数据,我们也可使用APOC程序库,通过JDBC查询Neo4j数据库。只需将 之后便可运行Cypher语句:
|