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

使用 Passkeys 打造無密碼驗證服務
使用 Passkeys 打造無密碼驗證服務使用 Passkeys 打造無密碼驗證服務
使用 Passkeys 打造無密碼驗證服務升煌 黃
 
Neo4j Drivers Best Practices
Neo4j Drivers Best PracticesNeo4j Drivers Best Practices
Neo4j Drivers Best PracticesNeo4j
 
Neo4j Graph Use Cases, Bruno Ungermann, Neo4j
Neo4j Graph Use Cases, Bruno Ungermann, Neo4jNeo4j Graph Use Cases, Bruno Ungermann, Neo4j
Neo4j Graph Use Cases, Bruno Ungermann, Neo4jNeo4j
 
Introduction to Neo4j
Introduction to Neo4jIntroduction to Neo4j
Introduction to Neo4jNeo4j
 
Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...
Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...
Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...Neo4j
 
Training Week: Create a Knowledge Graph: A Simple ML Approach
Training Week: Create a Knowledge Graph: A Simple ML Approach Training Week: Create a Knowledge Graph: A Simple ML Approach
Training Week: Create a Knowledge Graph: A Simple ML Approach Neo4j
 
Intro to Cypher
Intro to CypherIntro to Cypher
Intro to CypherNeo4j
 
Apache Lucene/Solr Document Classification
Apache Lucene/Solr Document ClassificationApache Lucene/Solr Document Classification
Apache Lucene/Solr Document ClassificationSease
 
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...Neo4j
 
Building Fullstack Graph Applications With Neo4j
Building Fullstack Graph Applications With Neo4j Building Fullstack Graph Applications With Neo4j
Building Fullstack Graph Applications With Neo4j Neo4j
 
The Graph Database Universe: Neo4j Overview
The Graph Database Universe: Neo4j OverviewThe Graph Database Universe: Neo4j Overview
The Graph Database Universe: Neo4j OverviewNeo4j
 
HyperLedger Fabric V2.5.pdf
HyperLedger Fabric V2.5.pdfHyperLedger Fabric V2.5.pdf
HyperLedger Fabric V2.5.pdfwonyong hwang
 
Learned from KIND
Learned from KIND Learned from KIND
Learned from KIND HungWei Chiu
 
Neo4j 4.1 overview
Neo4j 4.1 overviewNeo4j 4.1 overview
Neo4j 4.1 overviewNeo4j
 
Intro to Neo4j and Graph Databases
Intro to Neo4j and Graph DatabasesIntro to Neo4j and Graph Databases
Intro to Neo4j and Graph DatabasesNeo4j
 
Neo4j Innovation Lab, Stefan Wendin, Neo4j
Neo4j Innovation Lab, Stefan Wendin, Neo4jNeo4j Innovation Lab, Stefan Wendin, Neo4j
Neo4j Innovation Lab, Stefan Wendin, Neo4jNeo4j
 
Introduction to Graphs with Neo4j
Introduction to Graphs with Neo4jIntroduction to Graphs with Neo4j
Introduction to Graphs with Neo4jNeo4j
 
Neural Search Comes to Apache Solr
Neural Search Comes to Apache SolrNeural Search Comes to Apache Solr
Neural Search Comes to Apache SolrSease
 
How Expedia’s Entity Graph Powers Global Travel
How Expedia’s Entity Graph Powers Global TravelHow Expedia’s Entity Graph Powers Global Travel
How Expedia’s Entity Graph Powers Global TravelNeo4j
 
Introducing Neo4j
Introducing Neo4jIntroducing Neo4j
Introducing Neo4jNeo4j
 

Tendances (20)

使用 Passkeys 打造無密碼驗證服務
使用 Passkeys 打造無密碼驗證服務使用 Passkeys 打造無密碼驗證服務
使用 Passkeys 打造無密碼驗證服務
 
Neo4j Drivers Best Practices
Neo4j Drivers Best PracticesNeo4j Drivers Best Practices
Neo4j Drivers Best Practices
 
Neo4j Graph Use Cases, Bruno Ungermann, Neo4j
Neo4j Graph Use Cases, Bruno Ungermann, Neo4jNeo4j Graph Use Cases, Bruno Ungermann, Neo4j
Neo4j Graph Use Cases, Bruno Ungermann, Neo4j
 
Introduction to Neo4j
Introduction to Neo4jIntroduction to Neo4j
Introduction to Neo4j
 
Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...
Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...
Training Series - Build A Routing Web Application With OpenStreetMap, Neo4j, ...
 
Training Week: Create a Knowledge Graph: A Simple ML Approach
Training Week: Create a Knowledge Graph: A Simple ML Approach Training Week: Create a Knowledge Graph: A Simple ML Approach
Training Week: Create a Knowledge Graph: A Simple ML Approach
 
Intro to Cypher
Intro to CypherIntro to Cypher
Intro to Cypher
 
Apache Lucene/Solr Document Classification
Apache Lucene/Solr Document ClassificationApache Lucene/Solr Document Classification
Apache Lucene/Solr Document Classification
 
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
026 Neo4j Data Loading (ETL_ELT) Best Practices - NODES2022 AMERICAS Advanced...
 
Building Fullstack Graph Applications With Neo4j
Building Fullstack Graph Applications With Neo4j Building Fullstack Graph Applications With Neo4j
Building Fullstack Graph Applications With Neo4j
 
The Graph Database Universe: Neo4j Overview
The Graph Database Universe: Neo4j OverviewThe Graph Database Universe: Neo4j Overview
The Graph Database Universe: Neo4j Overview
 
HyperLedger Fabric V2.5.pdf
HyperLedger Fabric V2.5.pdfHyperLedger Fabric V2.5.pdf
HyperLedger Fabric V2.5.pdf
 
Learned from KIND
Learned from KIND Learned from KIND
Learned from KIND
 
Neo4j 4.1 overview
Neo4j 4.1 overviewNeo4j 4.1 overview
Neo4j 4.1 overview
 
Intro to Neo4j and Graph Databases
Intro to Neo4j and Graph DatabasesIntro to Neo4j and Graph Databases
Intro to Neo4j and Graph Databases
 
Neo4j Innovation Lab, Stefan Wendin, Neo4j
Neo4j Innovation Lab, Stefan Wendin, Neo4jNeo4j Innovation Lab, Stefan Wendin, Neo4j
Neo4j Innovation Lab, Stefan Wendin, Neo4j
 
Introduction to Graphs with Neo4j
Introduction to Graphs with Neo4jIntroduction to Graphs with Neo4j
Introduction to Graphs with Neo4j
 
Neural Search Comes to Apache Solr
Neural Search Comes to Apache SolrNeural Search Comes to Apache Solr
Neural Search Comes to Apache Solr
 
How Expedia’s Entity Graph Powers Global Travel
How Expedia’s Entity Graph Powers Global TravelHow Expedia’s Entity Graph Powers Global Travel
How Expedia’s Entity Graph Powers Global Travel
 
Introducing Neo4j
Introducing Neo4jIntroducing Neo4j
Introducing Neo4j
 

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
 
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
 
整合資料庫
整合資料庫整合資料庫
整合資料庫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
 
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