【JanusGraph入门】4-TinkerPop简介

TinkerPop简介

简介

【JanusGraph入门】4-TinkerPop简介_第1张图片

目标

  1. 什么是 TinkerPop
  • Apache TinkerPop™ is a graph computing framework for both graph databases (OLTP) and graph analytic systems (OLAP).
    • 他是 Apache 顶级项目
    • 他是图计算框架, 支撑图数据库(OLTP)、图分析系统(OLAP)
  1. TinkerPop 能做什么

  2. 有哪些项目在用 TinkerPop

网址

  • 官网
  • 官网文档
  • 中文文档
  • CSDN-Gremlin教程集合

官网用途示例

  1. 小精灵的朋友的朋友们都叫什么?
// What are the names of Gremlin's friends' friends?
g.V().has("name","gremlin").
  out("knows").out("knows").values("name")
  1. 有哪些产品是同时被两个人(他们是朋友)创作的?
// 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")
  1. 小精灵的上级到 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")
  1. 跟小精灵一起创作产品的人, 职称都有哪些, 都有多少个(统计职称分布)
// 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")
  1. 跟进小精灵的购买历史, 获取与他最相关的产品排名(他买的产品, 被别人买了, 别人还买了其他产品)
// 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/
    • 在线版的图可视化工具, 做的蛮高级的

你可能感兴趣的:(知识图谱,图数据库,大数据,知识图谱,大数据)