原文:https://community.tibco.com/wiki/spotfire-tips-tricks-access-visualize-graph-data-neo4j-spotfire
作者:DJ Rajdev
概述
关系数据库充其量只是表示现实世界数据的近似方式,因为我们周围的一切都以实体和关系的形式存在。由于最近机器学习的进步,正在收集更多动态和相关的数据。这需要以非结构化和半结构化格式表示数据,这些格式比行和列更灵活。图数据库(Graph Database)非常适合用灵活的模式存储这些数据。
本文介绍如何连接、访问和显示来自Neo4j的数据,Neo4j是一个众所周知的用于连接数据(connected data)的数据库。
连接和查询Neo4j
表图®使用TIBCO ®企业运行时R(TERR - TIBCO® Enterprise Runtime for R)连接和查询Neo4j的。
前提/Prerequisite
使用以下代码段将Neo4j安装到TERR:
install.packages(“RNeo4j”,repos =“ https://mran.revolutionanalytics.com/snapshot/2018-02-01/ ”)
请注意,CRe上没有RNeo4j,因此使用CRAN快照进行安装是最简单的方法。
建立连接
使用以下代码创建数据函数以与数据库建立连接
library(“RNeo4j”)
library('SpotfireUtils')
graph = startGraph(url, username = uname, password = pass)
saveObj < - SObjectToBlob(graph)
这里url,uname和pass是数据函数的输入参数,可以使用文档属性进行配置。
- url是图表数据的位置。默认为 http://localhost:7474/db/data/
- uname是用户名
- 传递密码
saveObj以可以传递给不同数据函数的格式保存连接图对象,允许您模块化代码。
查询数据
使用以下代码创建数据函数以查询数据库
library(RNeo4j)
library(SpotfireUtils)
graph <- BlobToSObject(saveObj)
query <- queryProperty
result <- data.frame(cypher(graph, query))
这里saveObj和queryProperty是数据函数的输入参数,可以使用文档属性进行配置。
- saveObj是上一步的连接图对象
- queryProperty包含cypher查询
queryProperty可以被字符串cypher查询替换。或者为了使其动态化,可以设置文本区域,以便用户可以传递查询并实时执行。
从文本区域传递Cypher Query(Cypher 查询)
在文本区域中插入“Input field: Multiple lines”类型的queryProperty文档属性,并使用此属性键入您的密码查询。下面是Neo4j附带的“Create Movies/创建电影”示例,用于演示该概念。
在Spotfire中显示图数据/Graph Data
按照惯例,图数据在标准化的行、列表示中被解析和提取。请注意,显示的最后一行cypher命令返回一个edgelist。
有很多方法可以显示这些数据,一些建议的方法是:
- 在R中使用Graph Libraries/图库
您可以按照链接的教程在Spotfire中创建R Graphics/R图。这使您可以使用许多定义良好的图分析和可视化软件包,如ggraph,visNetwork和sna。 - 使用网络图可视化(Network Graph Visualization)
您可以在TIBCO Spotfire中使用网络分析/ Network analytics自定义工具。 在Web Player使用的部署区域中下载并安装 TIBCO Spotfire Network Analytics产品。将该模块添加到Web Player使用的部署区域后,您需要在此处按照这些说明更新Web Player服务。 - 使用来自TIBCO Exchange的模板
为了帮助TIBCO社区,Spotfire数据科学团队在www.community.tibco.com/extensions下的“Analytics”标签下免费提供了几个即插即用模板。这些模板允许用户只需按一下按钮即可插入数据,并以最少的配置探索洞察。
TIBCO Spotfire的网络图表就是这样一个模板,旨在为您提供创建网络图表的方法,以显示数据中节点之间的多方向关系。只需上传您的边缘列表,更改配置并让模板完成繁重的工作。 - 按照教程来使用JSViz和ZoomCharts创建网络可视化 或使用创建自己的自定义JSViz。
我如何了解更多信息?
这总结了在Spotfire中从neo4j简要访问数据。观看该页面并进行投票以获得有关详细更新的通知。观看有关Neo4j Spotfire集成的 Dr. Spotfire会议。您还可以通过以下方式从Spotfire博士上面的任何特定方法请求特色会话:
- 使用标签#DrSpotfire发布您的问题
- 使用标签#DrSpotfire将您的问题发布到TIBCO社区“答案”部分
- 请通过[email protected]直接联系Dr. Spotfire
参考
- 参考:什么是边缘清单?
- 参考:使用R可视化网络
- 博客:什么是图数据库,为什么它很重要?
- 产品试用:TIBCO Graph Database Community Edition
- 文件:TERR
- 文档:什么是数据功能?
- 视频教程:如何实现数据功能?
- 文件:来自R的Neo4j