TinkerPop簡述

来源:https://www.cnblogs.com/rudy123/archive/2018/11/22/10000395.html
-Advertisement-
Play Games

ThinkerPop Apache 頂級項目 概述 TinkerPop是一個面向實時事務處理(OLAP)以及批量、分析型(OLTP)的開源的圖計算框架。TinkerPop是一個可以應用於不同圖形資料庫的抽象層,避免應用程式與特定資料庫高度依賴。 目標 提供通用的API和工具,使開發人員可以基於不同圖 ...


ThinkerPop Apache 頂級項目

概述

TinkerPop是一個面向實時事務處理(OLAP)以及批量、分析型(OLTP)的開源的圖計算框架。TinkerPop是一個可以應用於不同圖形資料庫的抽象層,避免應用程式與特定資料庫高度依賴。

目標

提供通用的API和工具,使開發人員可以基於不同圖資料庫輕鬆創建圖形應用程式,使圖形資料庫與圖計算解耦,方便切換不同圖形資料庫,簡化其工作。

體繫結構

image

Gremlin

是TinkerPop圖形遍歷語言,使用戶能夠以簡但的代碼進行複雜的圖形遍歷,Gremlin具有“寫一次,隨處運行” 的特點。意味著,所有支持TinkerPop的圖形系統都可以使用Gremlin語言進行圖形遍歷。

image

支持ThinkerPop框架的圖形資料庫

Amazon Neptune - Fully-managed graph database service.
Bitsy - A small, fast, embeddable, durable in-memory graph database.
Blazegraph - RDF graph database with OLTP support.
CosmosDB - Microsoft's distributed OLTP graph database.
ChronoGraph - A versioned graph database.
DSEGraph - DataStax graph database with OLTP and OLAP support.
GRAKN.AI - Distributed OLTP/OLAP knowledge graph system.
Hadoop (Spark) - OLAP graph processor using Spark.
HGraphDB - OLTP graph database running on Apache HBase.
IBM Graph - OLTP graph database as a service.
JanusGraph - Distributed OLTP and OLAP graph database with BerkeleyDB, Apache Cassandra and Apache HBase support.
JanusGraph (Amazon) - The Amazon DynamoDB Storage Backend for JanusGraph.
Neo4j- OLTP graph database (embedded and high availability).
neo4j-gremlin-bolt - OLTP graph database (using Bolt Protocol).
OrientDB - OLTP graph database
Apache S2Graph - OLTP graph database running on Apache HBase.
Sqlg - OLTP implementation on SQL databases.
Stardog - RDF graph database with OLTP and OLAP support.
TinkerGraph - In-memory OLTP and OLAP reference implementation.
Titan - Distributed OLTP and OLAP graph database with BerkeleyDB, Apache Cassandra and Apache HBase support.
Titan (Amazon) - The Amazon DynamoDB storage backend for Titan.
Titan (Tupl) - The Tupl storage backend for Titan.
Unipop - OLTP Elasticsearch and JDBC backed graph.

安裝

最新版本號為:TinkerPop 3.3.3 (Released: 8-May-2018)

有兩個版本:console、server
console:是一個單機的記憶體版本,可以進行學習測試。
server :是生產環境部署需要使用的版本。

以console版本為例:

$ unzip apache-tinkerpop-gremlin-console-3.3.3-bin.zip  
$ cd apache-tinkerpop-gremlin-console-3.3.3  
$ bin/gremlin.sh  
        \\,,,/  
         (o o)  
-----oOOo-(3)-oOOo-----  
plugin activated: tinkerpop.server  
plugin activated: tinkerpop.utilities  
plugin activated: tinkerpop.tinkergraph  
gremlin>

與Neo4j集成實例

註意:
除非與Neo Technology達成商業協議,否則Neo4j將獲得AGPL許可 。該neo4j-gremlin模塊是Apache2許可的,因為它只引用Apache2許可的Neo4j API。

Neo4j 2.x索引利用頂點標簽來劃分索引空間。TinkerPop3不提供用於為底層圖形系統定義模式/索引的方法介面。因此,為了創建索引,直接調用Neo4j API非常重要。

要在Gremlin Server中托管Neo4j,必須先將neo4j依賴包“安裝”或以其他方式複製到Gremlin Server路徑。
自動執行此操作的方法是執行:

bin/gremlin-server.sh  
install org.apache.tinkerpop neo4j-gremlin 3.3.3

一旦安裝,Gremlin伺服器配置文件必須進行編輯以包含Neo4jGremlinPlugin如圖所示conf/gremlin-server.neo4j。

gremlin> :install org.apache.tinkerpop neo4j-gremlin 3.3.3
==>Loaded: [org.apache.tinkerpop, neo4j-gremlin, 3.3.3] - restart the console to use [tinkerpop.neo4j]
gremlin> :q
...
gremlin> :plugin use tinkerpop.neo4j
==>tinkerpop.neo4j activated
gremlin> graph = Neo4jGraph.open('/tmp/neo4j')
==>neo4jgraph[EmbeddedGraphDatabase [/tmp/neo4j]]

ThinkerPop 與Spring Data的比較

image


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • vim包管理器vim plug 安裝 配置 在~/.vim中添加要下載的vim插件,然後重啟 使用 配置vim主題 配置完成後 ...
  • 緒論 大數據處理 數據的價值 受眾較少 一種不同的方法 Hadoop 基於Amazon web Service的雲計算 雲太多 第三種方法 不同類型的成本 AWS:Amazon的彈性架構 本書內容 安裝並運行Hadoop 基於本地Ubuntu主機的Hadoop系統 實踐環節:檢查是否已安裝JDK 實... ...
  • 表值函數創建註意事項 用戶定義表值函數返回 table 數據類型。 對於內聯表值函數,沒有函數主體,表是單個 SELECT 語句的結果集。 表值函數主要用於數據計算出來返回結果集。 使用SSMS資料庫管理工具和T-SQL腳本創建表值函數語法相同。 使用T-SQL腳本創建表值函數 語法: 語法一: - ...
  • [20181122]模擬ORA-08103錯誤.txt$ oerr ora 810308103, 00000, "object no longer exists"// *Cause: The object has been deleted by another user since the oper ...
  • 這兩觸發器比較精簡,容易理解 1、簡單觸發器 CREATE TRIGGER [dbo].[TriggerLog] ON [dbo].[Users] AFTER UPDATEAS BEGIN SET NOCOUNT ON; Insert into dbo.[log](LogContent) selec ...
  • 前陣子一資料庫伺服器的事務日誌開始暴增,當時使用下麵腳本檢查發現該資料庫的log_reuse_wait_desc 一直處於REPLICATION狀態, 也就是說在事務複製過程中,與發佈相關的事務仍未傳遞到分發資料庫。剛好前一天有個同事配置了AWS的DMS相關作業。 SELECT name, log_... ...
  • DCL (Data Control Language,資料庫控制語言)用於定義資料庫許可權 一、用戶許可權 1.1 建立用戶以及授權: Eg :CREATE USER 用戶名 IDENTIFIED BY 密碼 ; 1.2 GRANT 許可權 TO 用戶名 ; Eg:GRANT CREATE SESSION ...
  • 學習方式,有很多種,有的人會選擇提前去預習,提前去學習,將很多知識都自己去提前學習一步,他將時間用在將來要學的知識上。而有些人則是循序漸進,一步一個腳印的學習,雖然節奏慢,但很穩,大學留給每個人的學習時間都是足夠的,只要你能夠堅持,也必定能夠站在和他人一樣的高度。 我還是要推薦下我自己創建的大數據資 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...