SlideShare une entreprise Scribd logo
1  sur  59
Télécharger pour lire hors ligne
快快樂樂學Neo4j
Eric Lee 李鎮宇
eric@eric.lv
@開源⼈人年年會 2016.Aug.20
關於我
Eric Lee
NoSQL
PLUNIFY
:喜歡
:就職於
新加坡
:位於
Neo4j
Cassandra
:屬於
:屬於
Python Perl JavaScript
:寫程式 :寫程式 :寫程式
⼯工作坊內容
• NoSQL簡介
• 圖資料庫與Neo4j
• 資料庫規劃與應⽤用
• Neo4j伺服器安裝設定
• Cypher查詢語⾔言介紹
• 實⽤用語法分享
• API介紹與使⽤用
• ⽤用CSV做資料匯入
• 認證專家考試
先來來聊聊NoSQL
你也許碰過的SQL
• 關聯聯式資料庫 (Relational Database Management System,
RDBMS)
• 資料儲存以表格的形式儲存,從欄欄位、紀錄、資料表到資料庫
• 以列列為主的概念念,每⼀一列列就是⼀一筆資料
• 使⽤用SQL查詢語⾔言
• 資料庫的規劃要遵守ER-Model的規範
• MySQL, MS-SQL, Oracle, IBM DB2, SAP Sybase
NoSQL = Not Only SQL
• 資料⽤用表格以外的形式儲存
• 不同的查詢語⾔言
• 主流的NoSQL系統:
• ⽂文件儲存:Accumulo, HBase
• 鍵值儲存:Cassandra, Couchbase, MongoDB
• 以⾏行行為主:Dynamo, Redis
• 圖資料庫:Neo4j, Allegro, Titan (DSE-Graph)
為什什麼要⽤用NoSQL?
• 資料架構(Data Model)的調整彈性
• ⾼高度擴展性(Scalability)
• 適合巨量量資料應⽤用
• 適合⾼高可⽤用度(Availability)的運轉環境
關於圖資料庫與Neo4j
圖資料庫
• 沒有Schema的問題,根據「圖學」的架構設計
(Graph Theory)
• 只有兩兩種資料型態:節點(node)跟關係(relationship)
• 特別的查詢語⾔言,依據產品⽽而有異異
• 被使⽤用在社群網路路服務或⼤大型網站架構
Figure Credit: Wikipedia
Neo4j
• 根基於Java架構的資料庫系統
• 資料類型:Node, Label, Property, Relationship
• 使⽤用Cypher query language (CQL)
• 已有商業與科學應⽤用的實際使⽤用案例例
授權 $ € £ ¥ ?
• 提供企業版與社群版
• 強烈建議直接使⽤用企業版
• 新創公司授權⽅方案
• 員⼯工少於20⼈人,免費
• 年年度獲利利少於300萬美⾦金金,⼀一樣免費
直接⽤用企業版就對了了
• 打造High Availability的商⽤用運轉環境
• 即時在線備份
• 針對⾼高容量量記憶體環境,⽀支援⾼高效能的快取模式
• 查詢語法追蹤與除錯
• 進階版的系統狀狀態監控
規劃你的資料庫
畫圖就完成的架構規劃
• 沒有嚴謹的Schema觀念念
• 不⽤用當下做長遠的規劃,圖是可以擴充的
• 世界的萬物本來來就具備「關係」構成圖
• 根據資料庫的主題,依次想好節點、標籤還有關係
簡單範例例:員⼯工資料庫
部⾨門
員⼯工
技能
屬於
擁有
名稱*
業務內容
成立年年
編制⼈人數
名稱*
類別
編號*
姓名
性別
⽣生⽇日
地址
電話
*表⽰示不可重複
應⽤用情境:網路路路路徑
圖片來來源:http://winlinuxnet.blogspot.sg/2011/11/configure-network-with-ospf-multiple.html
應⽤用情境:基因反應路路徑
圖片來來源: https://www.spandidos-publications.com/or/31/2/745
應⽤用情境:⽣生產流程
圖片來來源:http://www.spentamultimedia.com/projects/est/production-flow.html
應⽤用情境:社交網路路
圖片來來源:https://neo4j.com/blog/social-networks-in-the-database-using-a-graph-database/
應⽤用情境:詐欺偵測
圖片來來源:http://neo4j.com/graphgist/9d627127-003b-411a-b3ce-f8d3970c2afa
啟動你的Neo4j伺服器
前置作業
• 安裝Oracle JDK 8 (OpenJDK可能有未知的問題)
• 下載Neo4j企業版 (社群版也可以)
• 解壓縮下載回來來的檔案
• 在Neo4j的根⽬目錄資料夾中,執⾏行行以下指令:

./bin/neo4j start
第⼀一次登入,帳號密碼都是 “neo4j”
Neo4j已經啟動 http://localhost:7474
設定新密碼
開啟HTTP遠端連線
• 編輯設定檔 (/neo4j-root/conf/neo4j.conf)
• 取消這⼀一⾏行行的註解 #dbms.connector.http.address=0.0.0.0:7474
• API遠端存取,取消註解 #dbms.connector.bolt.address=0.0.0.0:7687
API
HTTP
網⾴頁操作介⾯面
結果顯⽰示區
查詢輸入區
捷徑
查詢伺服器狀狀態
:play sysinfo
如果你懶懶得裝Neo4j,
⼜又想有參參與感
使⽤用Neo4j Console
http://console.neo4j.org
註冊使⽤用Neo4j沙盒
https://neo4j.com/sandbox/
只有七天
Cypher Query Language入⾨門
Cypher
• 基本查詢: MATCH, CREATE, WHERE, RETURN
• 以“ASCII Art”概念念設計的查詢語⾔言



MATCH (user)-[:BIRTH_PLACE]->(country) 

RETURN user, country;
countryuser
BIRTH PLACE
(user)-[:BIRTH_PLACE]->(country)
CREATE 建立新的節點
CREATE (n:Employee {Name:”Eric”,
Surname:“Lee”, Gender:”M”});
標籤(Label) 項⽬目(Properties)變數
建立⼀一個標籤名稱是Employee的節點,並寫入幾個欄欄位項⽬目
MATCH 與 RETURN
MATCH (n:Employee) RETURN n;
MATCH (n:Employee) RETURN n LIMIT 100;
查詢所有標籤名稱是Employee的節點並回傳
查詢所有標籤名稱是“Employee”的節點,但是只列列出其中100個
MATCH (n:Employee) RETURN n.Gender;
查詢所有標籤是Employee的節點,列列出該節點Gender欄欄位的值
⽤用RETURN格式化查詢結果
• 排序 加上ORDER BY
• 預設是升冪排列列,可⽤用DESC降冪排列列
• 列列出不重複的結果 加上DISTINCT
• 計算數⽬目 COUNT( )
WHERE 附加條件
MATCH (n:Employee)WHERE n.Name=“Eric”
RETURN n;
MATCH (n:Employee)WHERE n.Name=~“E.*”
RETURN n;
MATCH (n:Employee)WHERE n.Name STARTS
WITH “Er” RETURN n;
查詢欄欄位符合特定字串串的節點
查詢節點,配合正規表達式搜尋欄欄位內容
查詢節點,使⽤用資料庫引擎內建的查詢模組
更更多WHERE語法
• 運算⼦子 n.Age >= 25
• 範圍 n.Age > 25 AND n.Age < 40
• 篩選NULL的項⽬目 IS NULL
• 否定 NOT
• 或 OR
⽤用CREATE建立關係
CREATE (e:Employee {Name:”Eric”})-[:WORK_IN]->
(c:Company {Name:”Silicon Cloud International”});
CREATE (s:Skill {Name:”Neo4j”})<-[:KNOWNS]-(e:Employee
{Name:”Eric”})-[:WORK_IN]-> (c:Company {Name:”Silicon
Cloud International”});
MATCH (e:Employee {Name:”Eric”}), (s:Skill) WHERE
s.Name=“Neo4j” CREATE UNIQUE (e)-[:KNOWS]->(s);
建立節點間的⼀一對⼀一單向關係
建立三個節點,其中⼀一個節點向外指向另外兩兩個節點
搜尋現有符合條件的節點,將他們建立關係
加入關係的查詢
MATCH (e:Employee)-[:KNOWS]->(s:Skill) RETURN
e.Name, s.Name;
MATCH (e:Employee)-[:KNOWS]->(s:Skill) WHERE
s.Name=“Neo4j” RETURN e.Name;
MATCH (e:Employee)-[r]->(s:Skill) RETURN r;
查詢符合此⼀一關係的兩兩個節點,僅顯⽰示兩兩個節點的Name欄欄位
查詢符合關係的兩兩節點,其中Skill標籤的節點有條件,顯⽰示
Employee節點的Name欄欄位
查詢兩兩個節點之前存在哪⼀一種關係
過去活動被問過的問題
• 那個Audrey Tang是你們台灣⼈人嗎?
• 可以有多個標籤(Label)嗎?
• 關係可以定義標籤,可寫入屬性欄欄位(Property)嗎?
• 能否在節點中包含節點?
• 兩兩個節點之間可存在雙向關係?
• 跨平台查詢的可能?
實⽤用查詢語法分享
建立索引
CREATE INDEX ON :Employee(name) ;
針對特定標籤的特定屬性建立索引
避免重複的節點
CREATE CONSTRAINT ON (s:Skill)
ASSERT s.Name IS UNIQUE;
預先設定條件限制,規定特定欄欄位屬性不得重複
要查詢所有定義的限制,語法為:schema
加入限制條件之後,會⾃自動建立相關索引
刪除所有資料
MATCH (n)-[r]-(q) DELETE n,r,q;
刪除節點還有節點之間的關係
刪除所有關係
MATCH (n)-[r]-() DELETE r;
* 想要刪除節點,必須先刪除該節點已經存在的關係
查詢所有使⽤用的標籤
MATCH (n) RETURN DISTINCT labels(n);
查詢所有的標籤,然後去重複後顯⽰示
API介紹與使⽤用⽅方式
Python
pip install neo4j-driver
from neo4j.v1 import GraphDatabase, basic_auth
driver = GraphDatabase.driver("bolt://localhost", auth=basic_auth("neo4j",
"neo4j"))
session = driver.session()
session.run("CREATE (a:Person {name:'Arthur', title:'King'})")
result = session.run("MATCH (a:Person) WHERE a.name = 'Arthur'
RETURN a.name AS name, a.title AS title")
for record in result:
print("%s %s" % (record["title"], record["name"]))
session.close()
JavaScript
npm install neo4j-driver@1.0.2
var neo4j = require('neo4j-driver').v1;
var driver = neo4j.driver("bolt://localhost", neo4j.auth.basic("neo4j", "neo4j"));
var session = driver.session();
session
.run( "CREATE (a:Person {name:'Arthur', title:'King'})" )
.then( function()
{
return session.run( "MATCH (a:Person) WHERE a.name = 'Arthur' RETURN
a.name AS name, a.title AS title" )
})
.then( function( result ) {
console.log( result.records[0].get("title") + " " + result.records[0].get("name") );
session.close();
driver.close();
})
其他
• 官⽅方負責維護的驅動程式
• 除了了Python跟JavaScript之外,還有.Net與Java版
• 其他開發者製作的Neo4j API
• Perl有”REST::Neo4p”可以⽤用,請⽤用CPAN安裝
• Python有Py2neo pip install py2neo
• Ruby可以⽤用neography, neo4j-core或neo4j.rb
• PHP:composer require graphaware/neo4j-php-client:^4.0
• R⽤用CRAN裝:install.packages(“RNeo4j”)
利利⽤用現有表格匯入資料
• 以CSV格式為主
• 原始檔從Neo4j伺服器端執⾏行行匯入,速度較快
• 請先驗證CSV檔案內的資料品質
• 適合從其他資料庫進⾏行行資料移轉時使⽤用
CSV匯入範例例: 檔案路路徑
• CSV檔案要放在neo4j根⽬目錄的import資料夾內
• 若若要使⽤用任何路路徑需修改conf/neo4j.conf
註解掉這⼀一⾏行行或者直接刪除
CSV匯入範例例: CQL語法
USING PERIODIC COMMIT 1
LOAD CSV FROM 'file:///Names.csv' AS line
CREATE (n:Employee {FName:line[0],
LName:line[1],Title:line[2]});
CSV檔案內容
記得路路徑的設定
CSV匯入範例例: 執⾏行行匯入
• 透過Web Console匯入
• 使⽤用neo4j-shell匯入
CSV匯入範例例: 遠端檔案
從file改成http或https
認證專家考試
考試規則
• 60分鐘80題,選擇題包含單、複選
• 及格標準:得到超過80%的分數
• 不及格可以重考
• ⽬目前仍免收費
出題範圍
• 圖資料庫的意涵、Neo4j基礎
• Cypher查詢語⾔言,著重於資料寫入與查詢
• 資料建構
• 開發流程
• 商業運轉應⽤用與⾼高可⽤用性模式
考過之後
沒什什麼質感的證書⼀一張

可嵌入LinkedIn
認證T-Shirt⼀一件 貼紙⼀一張
結語
• Graph Database的學習⾨門檻相對其他NoSQL低
• Neo4j具有很⼤大的擴充彈性,適合商業運轉。有完整
的商業公司提供技術⽀支援與改版
• 可以預期未來來主流語⾔言的Neo4j API官⽅方會⾃自⼰己做
• 已經有Neo4j的⽣生態系,提供資料視覺化之類的⼯工具

Contenu connexe

Tendances

アプリケーション開発者のためのAzure Databricks入門
アプリケーション開発者のためのAzure Databricks入門アプリケーション開発者のためのAzure Databricks入門
アプリケーション開発者のためのAzure Databricks入門Yoichi Kawasaki
 
Building Reliable Lakehouses with Apache Flink and Delta Lake
Building Reliable Lakehouses with Apache Flink and Delta LakeBuilding Reliable Lakehouses with Apache Flink and Delta Lake
Building Reliable Lakehouses with Apache Flink and Delta LakeFlink Forward
 
Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)Keigo Suda
 
How to Extend Apache Spark with Customized Optimizations
How to Extend Apache Spark with Customized OptimizationsHow to Extend Apache Spark with Customized Optimizations
How to Extend Apache Spark with Customized OptimizationsDatabricks
 
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022Takayuki Shimizukawa
 
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...Google Cloud Platform - Japan
 
SQL Performance Improvements at a Glance in Apache Spark 3.0
SQL Performance Improvements at a Glance in Apache Spark 3.0SQL Performance Improvements at a Glance in Apache Spark 3.0
SQL Performance Improvements at a Glance in Apache Spark 3.0Databricks
 
Building an Event Streaming Architecture with Apache Pulsar
Building an Event Streaming Architecture with Apache PulsarBuilding an Event Streaming Architecture with Apache Pulsar
Building an Event Streaming Architecture with Apache PulsarScyllaDB
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較Akihiro Suda
 
Oracle jdk 20190827 - 今、あらためてOracle提供のJDKを語る
Oracle jdk 20190827 - 今、あらためてOracle提供のJDKを語るOracle jdk 20190827 - 今、あらためてOracle提供のJDKを語る
Oracle jdk 20190827 - 今、あらためてOracle提供のJDKを語るオラクルエンジニア通信
 
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~Fujio Kojima
 
そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?takezoe
 
Evening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkEvening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkFlink Forward
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)NTT DATA Technology & Innovation
 
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...FIWARE
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方Yoshiyasu SAEKI
 
Fuzzy Matching on Apache Spark with Jennifer Shin
Fuzzy Matching on Apache Spark with Jennifer ShinFuzzy Matching on Apache Spark with Jennifer Shin
Fuzzy Matching on Apache Spark with Jennifer ShinDatabricks
 
SFUの話
SFUの話SFUの話
SFUの話tnoho
 

Tendances (20)

アプリケーション開発者のためのAzure Databricks入門
アプリケーション開発者のためのAzure Databricks入門アプリケーション開発者のためのAzure Databricks入門
アプリケーション開発者のためのAzure Databricks入門
 
Building Reliable Lakehouses with Apache Flink and Delta Lake
Building Reliable Lakehouses with Apache Flink and Delta LakeBuilding Reliable Lakehouses with Apache Flink and Delta Lake
Building Reliable Lakehouses with Apache Flink and Delta Lake
 
Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
 
How to Extend Apache Spark with Customized Optimizations
How to Extend Apache Spark with Customized OptimizationsHow to Extend Apache Spark with Customized Optimizations
How to Extend Apache Spark with Customized Optimizations
 
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Google Cloud Dataflow を理解する - #bq_sushi
Google Cloud Dataflow を理解する - #bq_sushiGoogle Cloud Dataflow を理解する - #bq_sushi
Google Cloud Dataflow を理解する - #bq_sushi
 
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
 
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
 
SQL Performance Improvements at a Glance in Apache Spark 3.0
SQL Performance Improvements at a Glance in Apache Spark 3.0SQL Performance Improvements at a Glance in Apache Spark 3.0
SQL Performance Improvements at a Glance in Apache Spark 3.0
 
Building an Event Streaming Architecture with Apache Pulsar
Building an Event Streaming Architecture with Apache PulsarBuilding an Event Streaming Architecture with Apache Pulsar
Building an Event Streaming Architecture with Apache Pulsar
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
Oracle jdk 20190827 - 今、あらためてOracle提供のJDKを語る
Oracle jdk 20190827 - 今、あらためてOracle提供のJDKを語るOracle jdk 20190827 - 今、あらためてOracle提供のJDKを語る
Oracle jdk 20190827 - 今、あらためてOracle提供のJDKを語る
 
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
 
そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?
 
Evening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkEvening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in Flink
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
 
Fuzzy Matching on Apache Spark with Jennifer Shin
Fuzzy Matching on Apache Spark with Jennifer ShinFuzzy Matching on Apache Spark with Jennifer Shin
Fuzzy Matching on Apache Spark with Jennifer Shin
 
SFUの話
SFUの話SFUの話
SFUの話
 

En vedette

Introduction to Graph Database
Introduction to Graph DatabaseIntroduction to Graph Database
Introduction to Graph DatabaseEric Lee
 
Google MAP API
Google MAP APIGoogle MAP API
Google MAP APIEric Lee
 
R3 Corda Simple Tutorial
R3 Corda Simple TutorialR3 Corda Simple Tutorial
R3 Corda Simple TutorialEric Lee
 
Neo4j: JDBC Connection Case Using LibreOffice
Neo4j: JDBC Connection Case Using LibreOfficeNeo4j: JDBC Connection Case Using LibreOffice
Neo4j: JDBC Connection Case Using LibreOfficeEric Lee
 
Python and Neo4j
Python and Neo4jPython and Neo4j
Python and Neo4jEric Lee
 
Introduction to 3rd sequencing
Introduction to 3rd sequencing Introduction to 3rd sequencing
Introduction to 3rd sequencing Eric Lee
 
SNP Detection for Massively Parallel Whole-genome Sequencing
SNP Detection for Massively Parallel Whole-genome SequencingSNP Detection for Massively Parallel Whole-genome Sequencing
SNP Detection for Massively Parallel Whole-genome SequencingEric Lee
 

En vedette (7)

Introduction to Graph Database
Introduction to Graph DatabaseIntroduction to Graph Database
Introduction to Graph Database
 
Google MAP API
Google MAP APIGoogle MAP API
Google MAP API
 
R3 Corda Simple Tutorial
R3 Corda Simple TutorialR3 Corda Simple Tutorial
R3 Corda Simple Tutorial
 
Neo4j: JDBC Connection Case Using LibreOffice
Neo4j: JDBC Connection Case Using LibreOfficeNeo4j: JDBC Connection Case Using LibreOffice
Neo4j: JDBC Connection Case Using LibreOffice
 
Python and Neo4j
Python and Neo4jPython and Neo4j
Python and Neo4j
 
Introduction to 3rd sequencing
Introduction to 3rd sequencing Introduction to 3rd sequencing
Introduction to 3rd sequencing
 
SNP Detection for Massively Parallel Whole-genome Sequencing
SNP Detection for Massively Parallel Whole-genome SequencingSNP Detection for Massively Parallel Whole-genome Sequencing
SNP Detection for Massively Parallel Whole-genome Sequencing
 

Similaire à COSCUP 2016 Workshop : 快快樂樂學Neo4j

Elasticsearch search engine_development_tips
Elasticsearch search engine_development_tipsElasticsearch search engine_development_tips
Elasticsearch search engine_development_tipsYI-CHING WU
 
Neo4j in depth session1
Neo4j in depth session1Neo4j in depth session1
Neo4j in depth session1Samchu Li
 
Elastic stack day-1
Elastic stack day-1Elastic stack day-1
Elastic stack day-1YI-CHING WU
 
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練22016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2Duran Hsieh
 
twMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning ServicestwMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning ServicestwMVC
 
Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探Gelis Wu
 
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練22015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2Duran Hsieh
 
Azure Data Lake 簡介
Azure Data Lake 簡介Azure Data Lake 簡介
Azure Data Lake 簡介Herman Wu
 
Angular js twmvc#17
Angular js twmvc#17Angular js twmvc#17
Angular js twmvc#17twMVC
 
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践Li JianYe
 
An introduce to n hibernate (part 1) pub
An introduce to n hibernate (part 1) pubAn introduce to n hibernate (part 1) pub
An introduce to n hibernate (part 1) pubjiangxu
 
Kid171 chap03 traditional Chinese Version
Kid171 chap03 traditional Chinese VersionKid171 chap03 traditional Chinese Version
Kid171 chap03 traditional Chinese VersionFrank S.C. Tseng
 
改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器
改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器
改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器Chieh Kai Yang
 
twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決twMVC
 
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫Justin Lin
 

Similaire à COSCUP 2016 Workshop : 快快樂樂學Neo4j (20)

Elasticsearch search engine_development_tips
Elasticsearch search engine_development_tipsElasticsearch search engine_development_tips
Elasticsearch search engine_development_tips
 
No sql
No sqlNo sql
No sql
 
Spark tutorial
Spark tutorialSpark tutorial
Spark tutorial
 
Retrive&amp;rank
Retrive&amp;rankRetrive&amp;rank
Retrive&amp;rank
 
Neo4j in depth session1
Neo4j in depth session1Neo4j in depth session1
Neo4j in depth session1
 
Elastic stack day-1
Elastic stack day-1Elastic stack day-1
Elastic stack day-1
 
Portfolio
PortfolioPortfolio
Portfolio
 
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練22016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
 
twMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning ServicestwMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
twMVC#46_SQL Server 資料分析大躍進 Machine Learning Services
 
Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探Asp.net mvc 6 新功能初探
Asp.net mvc 6 新功能初探
 
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練22015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
2015 年逢甲大學資訊系:ASP.NET MVC 4 教育訓練2
 
Azure Data Lake 簡介
Azure Data Lake 簡介Azure Data Lake 簡介
Azure Data Lake 簡介
 
Angular js twmvc#17
Angular js twmvc#17Angular js twmvc#17
Angular js twmvc#17
 
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践
 
An introduce to n hibernate (part 1) pub
An introduce to n hibernate (part 1) pubAn introduce to n hibernate (part 1) pub
An introduce to n hibernate (part 1) pub
 
Kid171 chap03 traditional Chinese Version
Kid171 chap03 traditional Chinese VersionKid171 chap03 traditional Chinese Version
Kid171 chap03 traditional Chinese Version
 
Html 5 native drag
Html 5 native dragHtml 5 native drag
Html 5 native drag
 
改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器
改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器
改善 Angular 開發流程:你所不知道的 Schematics 程式碼產生器
 
twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決
 
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
 

COSCUP 2016 Workshop : 快快樂樂學Neo4j