Apache Zeppelin 的 Neo4j 解释器

概述

Neo4j 是一个原生图数据库,设计用于从底层到顶层存储和处理图。

支持的版本

Neo4j 解释器通过官方的 Neo4j Java 驱动程序 支持自 v3 以来的所有 Neo4j 版本。

Neo4j - 解释器 - 视频

配置

属性 默认值 描述
neo4j.url bolt://localhost:7687 Neo4j的BOLT URL。
neo4j.database neo4j 目标数据库,如果为空则使用默认数据库。
neo4j.multi.statement true 启用多语句管理,如果为true,则计算由分号分隔的多个查询。
neo4j.auth.type BASIC Neo4j的认证类型(NONE, BASIC)。
neo4j.auth.user neo4j Neo4j 用户名。
neo4j.auth.password neo4j Neo4j 用户密码。
neo4j.max.concurrency 50 从Zeppelin到Neo4j服务器的最大并发调用。

解释器配置

启用Neo4j解释器

在笔记本中,要启用Neo4j解释器,请点击齿轮图标并选择Neo4j

使用Neo4j解释器

在一个段落中,使用 %neo4j 来选择 Neo4j 解释器,然后输入 Cypher 命令。 有关 Cypher 命令的列表,请参考官方的 Cyper Refcard

%neo4j
//Sample the TrumpWorld dataset
WITH
'https://docs.google.com/spreadsheets/u/1/d/1Z5Vo5pbvxKJ5XpfALZXvCzW26Cl4we3OaN73K9Ae5Ss/export?format=csv&gid=1996904412' AS url
LOAD CSV WITH HEADERS FROM url AS row
RETURN row.`Entity A`, row.`Entity A Type`, row.`Entity B`, row.`Entity B Type`, row.Connection, row.`Source(s)`
LIMIT 10

Neo4j 解释器利用 Network 显示系统,允许直接从段落中可视化它们。

编写您的Cypher查询并导航您的图

这个查询:

%neo4j
MATCH (vp:Person {name:"VLADIMIR PUTIN"}), (dt:Person {name:"DONALD J. TRUMP"})
MATCH path = allShortestPaths( (vp)-[*]-(dt) )
RETURN path

产生以下结果_ Neo4j - 图形 - 结果

应用Zeppelin动态表单

您可以在查询中利用Zeppelin 动态表单。这个查询:

%neo4j
MATCH (o:Organization)-[r]-()
RETURN o.name, count(*), collect(distinct type(r)) AS types
ORDER BY count(*) DESC
LIMIT ${Show top=10}

产生以下结果: Neo4j - Zeppelin - 动态表单