TinkerPop简介
简介
文章图片
目标
- 什么是 TinkerPop
- Apache TinkerPop? is a graph computing framework for both graph databases (OLTP) and graph analytic systems (OLAP).
- 他是 Apache 顶级项目
- 他是图计算
框架
, 支撑图数据库(OLTP)、图分析系统(OLAP)
- 【知识图谱|【JanusGraph入门】4-TinkerPop简介】TinkerPop 能做什么
- 有哪些项目在用 TinkerPop
- 官网
- 官网文档
- 中文文档
- CSDN-Gremlin教程集合
- 小精灵的朋友的朋友们都叫什么?
// What are the names of Gremlin's friends' friends?
g.V().has("name","gremlin").
out("knows").out("knows").values("name")
- 有哪些产品是同时被两个人(他们是朋友)创作的?
// What are the names of projects that were created by two friends?
g.V().
match(as("a").out("knows").as("b"),
as("a").out("created").as("c"),
as("b").out("created").as("c"),
as("c").in("created").count().is(2)).
select("c").by("name")
- 小精灵的上级到 CEO 的管理链上, 都有哪些管理者
// What are the names of the managers in the
// management chain going from Gremlin to the CEO?
g.V().has("name","gremlin").
repeat(in("manages")).until(has("title","ceo")).
path().by("name")
- 跟小精灵一起创作产品的人, 职称都有哪些, 都有多少个(统计职称分布)
// What is the distribution of job titles amongst Gremlin's collaborators?
g.V().has("name","gremlin").as("a").
out("created").in("created").
where(neq("a")).
groupCount().by("title")
- 跟进小精灵的购买历史, 获取与他最相关的产品排名(他买的产品, 被别人买了, 别人还买了其他产品)
// Get a ranking of the most relevant products for Gremlin given his purchase history.
g.V().has("name","gremlin").out("bought").aggregate("stash").
in("bought").out("bought").
where(not(within("stash"))).
groupCount().
order(local).by(values,desc)
图系统支持 官方提到了很多支持该框架的图系统, 列举我比较关心的几个
- Alibaba Graph Database - A real-time, reliable, cloud-native graph database service that supports property graph model.
- https://cn.aliyun.com/product/gdb
- 阿里云提供的图数据
- 实时的、可靠的、云原生的图数据库服务, 支持属性图模型
- 支持 Gremlin 语言查询
- ArangoDB - OLTP Provider for ArangoDB.
- https://github.com/ArangoDB-Community/arangodb-tinkerpop-provider
- ArangoDB 图数据库
- 有 TinkerPop OLTP 的支持包
- janusgraph
- https://janusgraph.org/
- 基于 TinkerPop 的分布式图数据库
- 开源的、非原生存储、支持 Hbase/Canssandra 等
- Huawei Graph Engine Service
- https://www.huaweicloud.com/product/ges.html
- 华为图引擎服务 GES
- 是国内首个商用的、拥有自主知识产权的国产分布式原生图引擎,是针对以“关系”为基础的“图”结构数据,进行查询、分析的服务
- TinkerGraph
- https://tinkerpop.apache.org/docs/current/reference/#tinkergraph-gremlin
- TinkerPop 自己的基于内存的内嵌图数据库
- 提供 OLAP\OLTP 支持
- Neo4j
- https://tinkerpop.apache.org/docs/current/reference/#neo4j-gremlin
- Neo4j 数据库
- 有 TinkerPop OLTP 的支持包
- Hadoop (Spark)
- https://tinkerpop.apache.org/docs/current/reference/#sparkgraphcomputer
- TinkerPop 对 Hadoop (Spark) 的支持
- JUGRI - A Jupyter Gremlin interface
- https://github.com/meltwater/jugri
- 可以通过 jupyter(python) 去执行 gremlin 的查询, 还是蛮方便的
- Gremlin-Visualizer A visualization tool for the results of gremlin traversals.
- https://github.com/prabushitha/gremlin-visualizer
- 简单的可视化工具
- Graphexp - Interactive visualization of the Gremlin graph database with D3.js.
- https://bricaud.github.io/graphexp/graphexp.html
- 基于 D3 的可视化工具, 不过感觉很难用…
- gremlify
- https://gremlify.com/
- 在线版的图可视化工具, 做的蛮高级的
推荐阅读
- 人工智能|干货!人体姿态估计与运动预测
- Python专栏|数据分析的常规流程
- 读书笔记|《白话大数据和机器学习》学习笔记1
- 网络|一文彻底搞懂前端监控
- html5|各行业工资单出炉 IT类连续多年霸占“榜首”位置
- 人工智能|【机器学习】深度盘点(详细介绍 Python 中的 7 种交叉验证方法!)
- 网络|简单聊聊压缩网络
- 数据库|效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】)...
- r语言|手把手(R语言文本挖掘和词云可视化实践)
- 腾讯|SaaS的收入模型有哪些(终于有人讲明白了)