原文: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与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通用版已经发布。
用户能够:
- 按需下载JAR库;
- 通过相应工具,或在启用图表的应用中使用这款驱动程序;
- 读取文档;
- 获取源码,并对其作出贡献;
- 提出问题以及反馈建议。
下面将举例说明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
原文地址:https://blog.csdn.net/joy0921/article/details/801243522016年8月12日-13日,由CSDN重磅打造的互联网应用架构实战峰会、运维技术与实战峰会将在成都举行,目前18位讲师和议题已全部确认。两场峰会大牛讲师来自阿里、腾讯、百度、京东、小米、乐视、聚美优品、YY互娱、华为、360等知名互联网公司,一线深度的实践,共同探讨高可用/高并发/高性能系统架构设计、电商架构、分布式架构、运维工具研发与实践、运维自动化系统的构建、DevOps、云上的运维案例分析、虚拟化技术、应用性能检测与管理、游戏行业的运维实践等,将和与会嘉宾共同探讨「构建更安全、更高性能、更稳定的架构和运维体系」等领域的话题与技术。【八折优惠中,点击这里抢票,欲购从速。】