开源开放 | 图数据交互可视化分析框架 InteractiveGraph v0.3 版本发布

图数据交互可视化分析框架 InteractiveGraph 日前发布 v0.3 版本,下载地址:https://github.com/grapheco/InteractiveGraph/releases/tag/0.3.1

 

图数据模型具有对实体关系的表达能力强、属性 及结构可扩展性好、关联查询高效等优势。在对海量 的多元异构信息进行建模时, 图数据模型较关系模 型、键值模型、文档模型等而言具有更好的直观效果, 更有利于使用者对数据结构和语义关系的理解。此外, 图数据模型还具有可推理、可深度挖掘的特点, 因此 在智能问答、金融风险预测等方面也得到较为广泛的应用。

 

为屏蔽不同图数据管理系统、数据模型和协议之间的差异, 简化图数据交互分析操作的复杂度并提高上层服务应用的通用性, 我们在分析现有图数据存储管理系统、查询协议和可视化分析工具的基础上, 构建了适合多元异构图数据管理系统的交互分析框架 InteractiveGraph

 

InteractiveGraph 是一个使用 TypeScript/JavaScript 开发的开源项目,为大规模图数据提供了一个基于Web的交互操作框架,其数据可以来自于本地的 GSON 文件。

 

InteractiveGraph 提供了 3 个基本应用,分别是图导航器(GraphNavigator),图浏览器(GraphExplorer)以及关系查找器(RelFinder)。借助这些应用,可以方便地实现图数据的可视化展示和相关操作。

 

图导航器(GraphNavigator):快速展示整个图中的节点和边,便于浏览整张图,点击某个节点可以查看此节点下存储的描述信息。导航器中还包括对应用外观的多种设置,包括但不仅限于,显示导航按钮,调整主题颜色。

 

图导航器在线Demo地址:https://grapheco.github.io/InteractiveGraph/dist/examples/example1.html

 

             

 

图浏览器(GraphExplorer):快速浏览某个节点的相关信息,支持搜索节点。单击节点显示其详细描述信息,双击节点显示其所有邻居节点和连边。

图浏览器在线Demo地址:https://grapheco.github.io/InteractiveGraph/dist/examples/example2.html

关系查找器(RelFinder):用于查找两个节点之间的关系。支持对起点、终点,以及关系深度的限定。将会返回起点和终点之间所有深度不大于限定值的全部关系以及中间节点。

 

关系查找器在线Demo地址:https://grapheco.github.io/InteractiveGraph/dist/examples/example3.html

快速开始(Quick Start)

Step 1. 下载 examples.zip,链接如下:

https://github.com/grapheco/InteractiveGraph/releases

 

Step 2. 解压 examples.zip,并将其部署在 Web 服务器上(比如 Tomcat)。如果不使用Web服务器,通过AJAX读取数据时将会出错。

 

Step 3. 在浏览器中打开示例,url如下:

https://localhost:8080/examples/example1.html

 

把 example1.html 改为 example2.html 或 example3.html, 等,即可试用三个不同应用。

 

使用方法(How to use)

Step 1. 下载 interactive-graph-<VERSION>.zip(如interactive-graph-0.1.0.zip) :

https://github.com/grapheco/InteractiveGraph/dist/

 

Step 2. 解压 interactive-graph-<VERSION>.zip, 将得到两个文件: interactive-graph.min.js 和 interactive-graph.min.css.

 

Step 3. 在 HTML 中引入 .js 和 .css 文件,比如:

<script type="text/javascript" src="./lib/interactive-graph-0.1.0/interactive-graph.min.js"></script>
<link type="text/css" rel="stylesheet" href="./lib/interactive-graph-0.1.0/interactive-graph.min.css">

 

Step 4. 使用在 igraph 中定义的函数和类:

<script type="text/javascript">igraph.i18n.setLanguage("chs");var app = new igraph.GraphNavigator(document.getElementById('graphArea'));app.loadGson("honglou.json");
</script>

 

按上述步骤操作,将会使用honglou.json中的数据创建一个 GraphNavigator 应用对象。

 

更多详细信息, 请参见 https://github.com/grapheco/InteractiveGraph/blob/master/dist/examples/example1.html.

 

如若需要扩展应用,可以根据GraphNavigator或其他应用写衍生类,也可以通过使 MainFrame 直接创建新的应用.

 

框架

InteractiveGraph 框架涉及3个部分,如下图所示。

             

其中服务接口列表如下:

             

 

InteractiveGraph框架的软件层次如下图所示:

             

 

主要包括如下内容:

(1) 数据层: 提供图数据的存储和查询服务, 该层包含异构的数据管理系统, 如: Neo4j、Titan、Jena 等。

(2) 服务协调层: 通过适配器适配不同的数据源, 管理离线查询和数据分析任务, 同时支持通过图算法对映射后得到的数据进行处理和挖掘。

(3) 应用协调层: 提供一个支持可视化分析应用的框架AppFrame, 其中包括两个用于指定可视化应 用数据源的数据连接器, 消息机制、缓冲机制、控件 管理等组件。AppFrame 可以为可视化分析应用提供指定数据源、缓冲数据等服务, 简化应用结构, 统一应用 接口。

(4) 应用层: 面向最终用户提供交互分析应用。

 

数据集(Datasets)

示例中以.json文件的形式提供了两个GSON数据集:honglou.json, WorldCup2014.json.

honglou.json

honglou.json数据集来自于中国古典名著《红楼梦》。

在这部小说中贾宝玉、林黛玉、薛宝钗是主要人物。这个数据集中定义了超过300个实体,其中包括书中的人物,地点和时间,以及超过500个这些实体之间的连接。

 

nickel2008@github 提供了该数据集。此数据集中或有纰漏,但是对于一个图数据项目的示例来说已经足够好了。

 

WorldCup2014.json

 

World Cup 2014数据集来自http://visjs.org/examples/network/exampleApplications/worldCupPerformance.html

其中边较多,因此绘制时对算力要求较高。

 

下边的屏幕截图展示了在GraphNavigator中,WorldCup2014.json是如何渲染的。

             

 Building an IGP server

An RemoteGraph is always provided by an IGP(interactive graph protocol, see https://github.com/grapheco/InteractiveGraph/blob/master/IGP.md) server. To build an IGP server, refer to the InteractiveGraph-neo4j project and other 3-party projects.

project     description     language

InteractiveGraph-neo4j     InteractiveGraph-neo4j(https://github.com/grapheco/InteractiveGraph-neo4j) serves GSON files, Neo4j databases as InteractiveGraph providers, it generates InteractiveGraphs for remote frontend InteractiveGraph clients on demand.     Scala+Java+Spring

InteractiveGraph-RDF     InteractiveGraph-RDF(https://github.com/grapheco/InteractiveGraph-RDF) serves RDF stores as InteractiveGraph providers     Scala+Java+Spring

 

证书(LICENSE)

InteractiveGraph 使用 BSD 2-Clause "Simplified"证书。

在开发InteractiveGraph时,依赖了一些开源项目,包括但不仅限于 visjs, npm, gulp, jQuery, jQueryUI, Font Awesome。

 

相关参考

关于项目依赖的详情,请参见 https://github.com/grapheco/InteractiveGraph/blob/master/package.json.

 

更多内容请参见Interactive的中文版自述文件:https://github.com/grapheco/InteractiveGraph/blob/master/README_CN.md

 

论文请参见:

赵子豪,沈志宏. 一种适合多元异构图数据管理系统的交互分析框架[J]. 数据分析与知识发现,2019,10(34):37-46.

————————————————

版权声明:本文为CSDN博主「白乔」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:

https://blog.csdn.net/bluejoe2000/article/details/104333111


 

OpenKG

开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

点击阅读原文,进入 OpenKG 博客。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479262.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 589. N叉树的前序遍历(前序遍历)

文章目录1. 题目2. 解题2.1 递归2.2 循环1. 题目 2. 解题 2.1 递归 class Solution { public:vector<int> preorder(Node* root) {vector<int> ans;preRec(root,ans);return ans;}void preRec(Node* root, vector<int> &ans) {if(root NULL)return;ans…

打脸!一个线性变换就能媲美“最强句子embedding”?

文 | 苏剑林&#xff08;追一科技&#xff09;编 | 小轶小编&#xff1a;前几周小屋刚推完《还在用[CLS]&#xff1f;从BERT得到最强句子Embedding的打开方式&#xff01;》&#xff0c;苏神就来打脸了_(:з」∠)_BERT-flow来自论文《On the Sentence Embeddings from Pre-trai…

AI Challenger 2018:细粒度用户评论情感分析冠军思路总结

2018年8月-12月&#xff0c;由美团点评、创新工场、搜狗、美图联合主办的“AI Challenger 2018全球AI挑战赛”历经三个多月的激烈角逐&#xff0c;冠军团队从来自全球81个国家、1000多所大学和公司的过万支参赛团队中脱颖而出。其中“后厂村静静”团队-由毕业于北京大学的程惠阁…

论文浅尝 | 融入知识的弱监督预训练语言模型

论文笔记整理&#xff1a;叶群&#xff0c;浙江大学计算机学院&#xff0c;知识图谱、NLP方向。会议&#xff1a;ICLR 2020链接&#xff1a;https://arxiv.org/pdf/1912.09637.pdf Abstract预训练语言模型不仅在传统的语言学任务上取得了很好的表现&#xff0c;在一些涉及到背景…

2021 年 1 月程序员薪资出炉,持续上涨!你过平均线了吗?

瑟瑟发抖&#xff01;程序员薪资报告又来了。2021 年 1 月的薪资报告一定能给你个大惊喜&#xff01;程序员薪资扶摇直上。&#xff08;2021年1月程序员收入情况&#xff09;1 月全国程序员平均工资 14915 元&#xff0c;工资中位数 12500 元&#xff0c;其中 96% 的人工资介于…

LeetCode 590. N叉树的后序遍历(后序遍历)

文章目录1. 题目2. 解题2.1 递归2.2 循环1. 题目 2. 解题 2.1 递归 class Solution { public:vector<int> postorder(Node* root) {vector<int> ans;postRec(root, ans);return ans;}void postRec(Node* root, vector<int> &ans){if (root NULL)return…

人物志 | MIT 科技创新“远见者”:美团 NLP 负责人王仲远

2019 年 1 月 21 日&#xff0c;《麻省理工科技评论》发布了 2018 年“35 岁以下科技创新 35 人”&#xff08;35 Innovators Under 35&#xff09;中国榜单&#xff0c;美团点评AI平台部 NLP 中心负责人、点评搜索智能中心负责人王仲远获评为“远见者”。 Innovators Under 35…

论文浅尝 | GraphSAINT—基于图采样的归纳学习方法

论文笔记整理&#xff1a;杨海宏&#xff0c;浙江大学博士生&#xff0c;研究方向为开放世界下的多语言知识问答。1. 简介受显存的因素限制&#xff0c;应用图神经网络于大规模图学习任务上面临“邻居爆炸&#xff08;Neighbor Explosion&#xff09;”问题&#xff0c;导致网络…

LeetCode 105. 已知前序中序 求二叉树

文章目录1. 题目2. 解题1. 题目 类似POJ 2255 Tree Recovery 2. 解题 class Solution { public:TreeNode* buildTree(vector<int>& preorder, vector<int>& inorder) {unordered_map<int,int> m;//哈希表for(int i 0; i < inorder.size(); i) {…

李在福羽毛球教学

2020年11月27日更 工作的业余之时一定要记得好好健身哦&#xff0c;争取做个健康小达人很行动上的小巨人。不困于时间、不困于地点、不困于等等。没有借口哦&#xff0c;投资自己的身体也是未来很重要的一部分噶。 1 握拍&#xff1a;大拇指和四个手指头握紧&#xff0c;可以更…

不讲武德,只用标签名就能做文本分类

文 | 谁动了我的炼丹炉编 | 兔子酱今天给大家介绍一篇微软研究院在EMNLP2020上发表的论文&#xff0c;主题是弱监督文本分类。看到标题的你可能会和我刚开始一样震惊&#xff0c;只是知道标签名怎么给文本分类呢&#xff1f;是的&#xff0c;虽然听起来不可思议&#xff0c;但看…

Android官方开发文档Training系列课程中文版:分享简单数据之发送简单数据给其它APP

原文地址&#xff1a;http://android.xsoftlab.net/training/building-content-sharing.html 引言 Android应用程序有一项伟大的事情就是它们有可以与其它应用程序交流及整合。为什么不重新使用已经存在于其它APP中的非核心功能呢&#xff1f; 这节课覆盖了一些共同的方式&a…

美团点评技术年货:一本覆盖各技术领域、1200+页的电子书

春节已近&#xff0c;年味渐浓。 又到了我们献上技术年货的时候。 不久前&#xff0c;我们已经给大家分享了技术沙龙大套餐&#xff0c;汇集了过去一年我们线上线下技术沙龙99位讲师&#xff0c;85个演讲&#xff0c;70小时分享。 今天出场的&#xff0c;同样重磅——技术博客2…

论文浅尝 | 基于文本关联的知识图谱的无监督嵌入增强

来源&#xff1a;IJCAI2019论文链接&#xff1a; https://www.ijcai.org/proceedings/2019/0725.pdf概述知识图谱嵌入是从多关系数据中提取数据的工具&#xff0c;最近的嵌入模型对从现有数据库中推断新事实具有很高的效率。然而&#xff0c;这种精确结构的数据通常在数量和范围…

ICLR2021 Oral |9行代码提高少样本学习泛化能力

文 | 杨朔知乎本文已获作者授权&#xff0c;禁止二次转载介绍一篇我们刚刚发表在ICLR2021 Oral上的一篇少样本学习工作&#xff0c;简单有效。题目&#xff1a;Free Lunch for Few-shot Learning: Distribution Calibration链接&#xff1a;https://openreview.net/forum?idJW…

LeetCode 106. 已知中序后序 求二叉树

文章目录1. 题目2. 解题2.1 递归2.2 循环1. 题目 类似题目LeetCode 105. 已知前序&中序 求二叉树 2. 解题 2.1 递归 递归法&#xff0c;后序最后一个是根节点 class Solution { public:TreeNode* buildTree(vector<int>& inorder, vector<int>& p…

React Native工程中TSLint静态检查工具的探索之路

背景 建立的代码规范没人遵守&#xff0c;项目中遍地风格迥异的代码&#xff0c;你会不会抓狂&#xff1f; 通过测试用例的程序还会出现Bug&#xff0c;而原因仅仅是自己犯下的低级错误&#xff0c;你会不会抓狂&#xff1f; 某种代码写法存在问题导致崩溃时&#xff0c;只能全…

做一个好的搜索引擎有多难

文&#xff5c;见鹿知乎本文已获作者授权&#xff0c;禁止二次转载前言搜索引擎是个极其复杂的系统工程&#xff0c;搜索引擎上并不会大力出奇迹&#xff0c;需要一点点打磨。在搜索引擎上&#xff0c;q-u相关性计算是基础&#xff0c;但仍需要考虑其他很多因素&#xff0c;其中…

Android官方开发文档Training系列课程中文版:分享简单数据之添加简单的分享行为

原文地址&#xff1a;http://android.xsoftlab.net/training/sharing/shareaction.html 从Android4.0开始&#xff0c;使用ActionProvider可以更方便的在ActionBar上实现一个有效的、用户友好的分享按钮。一个ActionProvider一旦依附到了ActionBar的菜单条目上&#xff0c;它会…

开源开放 | OpenKG组织发布第二批并更新近十个新冠知识图谱开放数据集

2020年2月11日&#xff0c;世界卫生组织宣布了新型冠状病毒肺炎官方正式命名为 COVID-19&#xff0c;21日国家卫健委决定与世界卫生组织保持一致&#xff0c;中文名称不变。随着关于新型冠状病毒病毒疫情的不断发展&#xff0c;有关疫情的各类信息也在不断更新。OpenKG 紧随疫情…