Submit Search
Upload
グラフデータベース「Neo4j」の 導入の導入(続き)-Cypherの基本のキ-
•
21 likes
•
8,948 views
Hisao Soyama
Follow
Technology
Report
Share
Report
Share
1 of 42
Download now
Download to read offline
Recommended
グラフデータベース「Neo4j」の 導入の導入
グラフデータベース「Neo4j」の 導入の導入
Hisao Soyama
Chainer meetup lt
Chainer meetup lt
Ace12358
Lighting talk chainer hands on
Lighting talk chainer hands on
Ogushi Masaya
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル
Yuta Kashino
Pythonでアルゴレイヴの世界に足を踏み入れる
Pythonでアルゴレイヴの世界に足を踏み入れる
ksnt
ドキュメント、書いてますか? @ Python hack-a-thon 2011/2
ドキュメント、書いてますか? @ Python hack-a-thon 2011/2
Takeshi Komiya
S08 t0 orientation
S08 t0 orientation
Takeshi Akutsu
S09 t0 orientation
S09 t0 orientation
Takeshi Akutsu
Recommended
グラフデータベース「Neo4j」の 導入の導入
グラフデータベース「Neo4j」の 導入の導入
Hisao Soyama
Chainer meetup lt
Chainer meetup lt
Ace12358
Lighting talk chainer hands on
Lighting talk chainer hands on
Ogushi Masaya
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル
Yuta Kashino
Pythonでアルゴレイヴの世界に足を踏み入れる
Pythonでアルゴレイヴの世界に足を踏み入れる
ksnt
ドキュメント、書いてますか? @ Python hack-a-thon 2011/2
ドキュメント、書いてますか? @ Python hack-a-thon 2011/2
Takeshi Komiya
S08 t0 orientation
S08 t0 orientation
Takeshi Akutsu
S09 t0 orientation
S09 t0 orientation
Takeshi Akutsu
「ヤフー音声検索アプリにおけるキーワードスポッティングの実装」#yjdsw4
「ヤフー音声検索アプリにおけるキーワードスポッティングの実装」#yjdsw4
Yahoo!デベロッパーネットワーク
内省するTensorFlow
内省するTensorFlow
Yoshiyuki Kakihara
S10 t1 spc_by_nowfromnow
S10 t1 spc_by_nowfromnow
Takeshi Akutsu
研究・企業・生き方について 情報科学若手の会2011
研究・企業・生き方について 情報科学若手の会2011
Preferred Networks
Py datameetup1
Py datameetup1
shiroyagi
ヤフー音声認識のご紹介#yjdsw1
ヤフー音声認識のご紹介#yjdsw1
Yahoo!デベロッパーネットワーク
初心者が Python で戸惑ったところ
初心者が Python で戸惑ったところ
Emma Haruka Iwao
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
Yuki Arase
Playing with LibreLogo / LibreLogoで遊ぼう!
Playing with LibreLogo / LibreLogoで遊ぼう!
Naruhiko Ogasawara
集合知プログラミング勉強会キックオフMTG LT用資料
集合知プログラミング勉強会キックオフMTG LT用資料
tetsuro ito
Playing with Japanese LibreLogo / 日本語LibreLogoで遊ぼう
Playing with Japanese LibreLogo / 日本語LibreLogoで遊ぼう
Naruhiko Ogasawara
S10 t0 orientation
S10 t0 orientation
Takeshi Akutsu
191208 python-kansai-nishimoto
191208 python-kansai-nishimoto
Takuya Nishimoto
@nifty エンジニアサポートの使い方
@nifty エンジニアサポートの使い方
Yuichi Saotome
次元の呪い
次元の呪い
Kosuke Tsujino
Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )
Ai Makabi
最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス
Masato Fujitake
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
まとめ
まとめ
Takeshi Akutsu
Pythonで自動化した話1
Pythonで自動化した話1
Masato Fujitake
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Takahiro Inoue
Neo4j の「データ操作プログラミング」から 「ビジュアライズ」まで
Neo4j の「データ操作プログラミング」から 「ビジュアライズ」まで
Keiichiro Seida
More Related Content
What's hot
「ヤフー音声検索アプリにおけるキーワードスポッティングの実装」#yjdsw4
「ヤフー音声検索アプリにおけるキーワードスポッティングの実装」#yjdsw4
Yahoo!デベロッパーネットワーク
内省するTensorFlow
内省するTensorFlow
Yoshiyuki Kakihara
S10 t1 spc_by_nowfromnow
S10 t1 spc_by_nowfromnow
Takeshi Akutsu
研究・企業・生き方について 情報科学若手の会2011
研究・企業・生き方について 情報科学若手の会2011
Preferred Networks
Py datameetup1
Py datameetup1
shiroyagi
ヤフー音声認識のご紹介#yjdsw1
ヤフー音声認識のご紹介#yjdsw1
Yahoo!デベロッパーネットワーク
初心者が Python で戸惑ったところ
初心者が Python で戸惑ったところ
Emma Haruka Iwao
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
Yuki Arase
Playing with LibreLogo / LibreLogoで遊ぼう!
Playing with LibreLogo / LibreLogoで遊ぼう!
Naruhiko Ogasawara
集合知プログラミング勉強会キックオフMTG LT用資料
集合知プログラミング勉強会キックオフMTG LT用資料
tetsuro ito
Playing with Japanese LibreLogo / 日本語LibreLogoで遊ぼう
Playing with Japanese LibreLogo / 日本語LibreLogoで遊ぼう
Naruhiko Ogasawara
S10 t0 orientation
S10 t0 orientation
Takeshi Akutsu
191208 python-kansai-nishimoto
191208 python-kansai-nishimoto
Takuya Nishimoto
@nifty エンジニアサポートの使い方
@nifty エンジニアサポートの使い方
Yuichi Saotome
次元の呪い
次元の呪い
Kosuke Tsujino
Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )
Ai Makabi
最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス
Masato Fujitake
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
まとめ
まとめ
Takeshi Akutsu
Pythonで自動化した話1
Pythonで自動化した話1
Masato Fujitake
What's hot
(20)
「ヤフー音声検索アプリにおけるキーワードスポッティングの実装」#yjdsw4
「ヤフー音声検索アプリにおけるキーワードスポッティングの実装」#yjdsw4
内省するTensorFlow
内省するTensorFlow
S10 t1 spc_by_nowfromnow
S10 t1 spc_by_nowfromnow
研究・企業・生き方について 情報科学若手の会2011
研究・企業・生き方について 情報科学若手の会2011
Py datameetup1
Py datameetup1
ヤフー音声認識のご紹介#yjdsw1
ヤフー音声認識のご紹介#yjdsw1
初心者が Python で戸惑ったところ
初心者が Python で戸惑ったところ
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
Playing with LibreLogo / LibreLogoで遊ぼう!
Playing with LibreLogo / LibreLogoで遊ぼう!
集合知プログラミング勉強会キックオフMTG LT用資料
集合知プログラミング勉強会キックオフMTG LT用資料
Playing with Japanese LibreLogo / 日本語LibreLogoで遊ぼう
Playing with Japanese LibreLogo / 日本語LibreLogoで遊ぼう
S10 t0 orientation
S10 t0 orientation
191208 python-kansai-nishimoto
191208 python-kansai-nishimoto
@nifty エンジニアサポートの使い方
@nifty エンジニアサポートの使い方
次元の呪い
次元の呪い
Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )
最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
まとめ
まとめ
Pythonで自動化した話1
Pythonで自動化した話1
Viewers also liked
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Takahiro Inoue
Neo4j の「データ操作プログラミング」から 「ビジュアライズ」まで
Neo4j の「データ操作プログラミング」から 「ビジュアライズ」まで
Keiichiro Seida
Neoの世界へ
Neoの世界へ
時雨 大西
Blueprintsについて
Blueprintsについて
Tetsuro Nagae
[db tech showcase Tokyo 2015] E27: Neo4jグラフデータベース by クリエーションライン株式会社 李昌桓
[db tech showcase Tokyo 2015] E27: Neo4jグラフデータベース by クリエーションライン株式会社 李昌桓
Insight Technology, Inc.
20150520 lt-neo4j勉強会-neofj fdw
20150520 lt-neo4j勉強会-neofj fdw
Toshi Harada
Neo4jrbにおけるOGM
Neo4jrbにおけるOGM
takabes00
グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介
グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介
ippei_suzuki
[db tech showcase Tokyo 2015] A27: RDBエンジニアの為のNOSQL, 今どうしてNOSQLなのか?
[db tech showcase Tokyo 2015] A27: RDBエンジニアの為のNOSQL, 今どうしてNOSQLなのか?
datastaxjp
Neo4jでつなぐ知見のネットワーク [Pycon2016 LT]
Neo4jでつなぐ知見のネットワーク [Pycon2016 LT]
創史 花村
Pgunconf neo4j fdw
Pgunconf neo4j fdw
Toshi Harada
Matrix
Matrix
Hisao Soyama
『アジャイルデータサイエンス』1章 理論
『アジャイルデータサイエンス』1章 理論
Hisao Soyama
AWSによるグラフDB構築
AWSによるグラフDB構築
Alexander Patrikalakis
『アジャイルデータサイエンス』2章 データ
『アジャイルデータサイエンス』2章 データ
Hisao Soyama
階層ベイズでプロ野球各球団の「本当の強さ」を推定してみる
階層ベイズでプロ野球各球団の「本当の強さ」を推定してみる
Hisao Soyama
neo4jを使ったブロックチェーンデータの解析
neo4jを使ったブロックチェーンデータの解析
shigeyuki azuchi
Db tech showcase 2016
Db tech showcase 2016
datastaxjp
はじパタLT3
はじパタLT3
Tadayuki Onishi
20150329 tokyo r47
20150329 tokyo r47
Takashi Kitano
Viewers also liked
(20)
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Neo4j の「データ操作プログラミング」から 「ビジュアライズ」まで
Neo4j の「データ操作プログラミング」から 「ビジュアライズ」まで
Neoの世界へ
Neoの世界へ
Blueprintsについて
Blueprintsについて
[db tech showcase Tokyo 2015] E27: Neo4jグラフデータベース by クリエーションライン株式会社 李昌桓
[db tech showcase Tokyo 2015] E27: Neo4jグラフデータベース by クリエーションライン株式会社 李昌桓
20150520 lt-neo4j勉強会-neofj fdw
20150520 lt-neo4j勉強会-neofj fdw
Neo4jrbにおけるOGM
Neo4jrbにおけるOGM
グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介
グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介
[db tech showcase Tokyo 2015] A27: RDBエンジニアの為のNOSQL, 今どうしてNOSQLなのか?
[db tech showcase Tokyo 2015] A27: RDBエンジニアの為のNOSQL, 今どうしてNOSQLなのか?
Neo4jでつなぐ知見のネットワーク [Pycon2016 LT]
Neo4jでつなぐ知見のネットワーク [Pycon2016 LT]
Pgunconf neo4j fdw
Pgunconf neo4j fdw
Matrix
Matrix
『アジャイルデータサイエンス』1章 理論
『アジャイルデータサイエンス』1章 理論
AWSによるグラフDB構築
AWSによるグラフDB構築
『アジャイルデータサイエンス』2章 データ
『アジャイルデータサイエンス』2章 データ
階層ベイズでプロ野球各球団の「本当の強さ」を推定してみる
階層ベイズでプロ野球各球団の「本当の強さ」を推定してみる
neo4jを使ったブロックチェーンデータの解析
neo4jを使ったブロックチェーンデータの解析
Db tech showcase 2016
Db tech showcase 2016
はじパタLT3
はじパタLT3
20150329 tokyo r47
20150329 tokyo r47
Similar to グラフデータベース「Neo4j」の 導入の導入(続き)-Cypherの基本のキ-
IoTの原点
IoTの原点
Shinichi Takahashi
WTM69_do_internet_dream_of_web
WTM69_do_internet_dream_of_web
Masanori Oobayashi
Hajimete2006
Hajimete2006
SugawaraYosuke
生存戦略~きっと何者にもなれる~
生存戦略~きっと何者にもなれる~
hayabusa333
Unsupervised Object Discovery and Localization in the Wild:Part-Based Match...
Unsupervised Object Discovery and Localization in the Wild:Part-Based Match...
Yoshitaka Ushiku
Pythonでディープラーニングをはじめるための一歩目
Pythonでディープラーニングをはじめるための一歩目
Core Concept Technologies
201107 Crossing borders in multiple communities to create your own role
201107 Crossing borders in multiple communities to create your own role
Junya Ishioka
IoT×ビジネス活用 ~最先端技術のビジネス活用に向けて~
IoT×ビジネス活用 ~最先端技術のビジネス活用に向けて~
法林浩之
AI GIRLS COLLECTION_0929
AI GIRLS COLLECTION_0929
EikoHoshino
ニコニコアプリ開発
ニコニコアプリ開発
jz5 MATSUE
さくらのIoTプラットフォーム「sakura.io」を使ってみよう
さくらのIoTプラットフォーム「sakura.io」を使ってみよう
法林浩之
Code for iizukaとオープンデータ
Code for iizukaとオープンデータ
Kindai University
地域コニュニティとオープンデータ
地域コニュニティとオープンデータ
Hiroshi Omata
「JPOHC」のロゴ制作の話
「JPOHC」のロゴ制作の話
典子 松本
デジタルツインの夜明け
デジタルツインの夜明け
Genki Okuma
情報社会とデジタルゲーム ――フィンランド・タンペレ大学における「位置情報ゲーム」研究の取り組み (Information Society and Dig...
情報社会とデジタルゲーム ――フィンランド・タンペレ大学における「位置情報ゲーム」研究の取り組み (Information Society and Dig...
Nobushige Kobayashi (Hichibe)
クリエイティブな人のための哲学塾
クリエイティブな人のための哲学塾
Youichiro Miyake
技術同人誌inコミケ
技術同人誌inコミケ
ssuser6af665
Chrome拡張で改善 表紙
Chrome拡張で改善 表紙
Wataru Terada
S09 t4 wrapup
S09 t4 wrapup
Takeshi Akutsu
Similar to グラフデータベース「Neo4j」の 導入の導入(続き)-Cypherの基本のキ-
(20)
IoTの原点
IoTの原点
WTM69_do_internet_dream_of_web
WTM69_do_internet_dream_of_web
Hajimete2006
Hajimete2006
生存戦略~きっと何者にもなれる~
生存戦略~きっと何者にもなれる~
Unsupervised Object Discovery and Localization in the Wild:Part-Based Match...
Unsupervised Object Discovery and Localization in the Wild:Part-Based Match...
Pythonでディープラーニングをはじめるための一歩目
Pythonでディープラーニングをはじめるための一歩目
201107 Crossing borders in multiple communities to create your own role
201107 Crossing borders in multiple communities to create your own role
IoT×ビジネス活用 ~最先端技術のビジネス活用に向けて~
IoT×ビジネス活用 ~最先端技術のビジネス活用に向けて~
AI GIRLS COLLECTION_0929
AI GIRLS COLLECTION_0929
ニコニコアプリ開発
ニコニコアプリ開発
さくらのIoTプラットフォーム「sakura.io」を使ってみよう
さくらのIoTプラットフォーム「sakura.io」を使ってみよう
Code for iizukaとオープンデータ
Code for iizukaとオープンデータ
地域コニュニティとオープンデータ
地域コニュニティとオープンデータ
「JPOHC」のロゴ制作の話
「JPOHC」のロゴ制作の話
デジタルツインの夜明け
デジタルツインの夜明け
情報社会とデジタルゲーム ――フィンランド・タンペレ大学における「位置情報ゲーム」研究の取り組み (Information Society and Dig...
情報社会とデジタルゲーム ――フィンランド・タンペレ大学における「位置情報ゲーム」研究の取り組み (Information Society and Dig...
クリエイティブな人のための哲学塾
クリエイティブな人のための哲学塾
技術同人誌inコミケ
技術同人誌inコミケ
Chrome拡張で改善 表紙
Chrome拡張で改善 表紙
S09 t4 wrapup
S09 t4 wrapup
More from Hisao Soyama
People analyticsと社会ネットワーク分析
People analyticsと社会ネットワーク分析
Hisao Soyama
コードレビューのアンチパターンについて考えてみた
コードレビューのアンチパターンについて考えてみた
Hisao Soyama
本当に知ってる!? リアルなデータ分析の世界~サイカのエンジニアが語る、話題の技術の「いま」と「未来」~
本当に知ってる!? リアルなデータ分析の世界~サイカのエンジニアが語る、話題の技術の「いま」と「未来」~
Hisao Soyama
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
Hisao Soyama
大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―
大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―
Hisao Soyama
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
Hisao Soyama
『オープンソースで学ぶ社会ネットワーク分析』1章 イントロダクション
『オープンソースで学ぶ社会ネットワーク分析』1章 イントロダクション
Hisao Soyama
More from Hisao Soyama
(7)
People analyticsと社会ネットワーク分析
People analyticsと社会ネットワーク分析
コードレビューのアンチパターンについて考えてみた
コードレビューのアンチパターンについて考えてみた
本当に知ってる!? リアルなデータ分析の世界~サイカのエンジニアが語る、話題の技術の「いま」と「未来」~
本当に知ってる!? リアルなデータ分析の世界~サイカのエンジニアが語る、話題の技術の「いま」と「未来」~
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―
大学生のTwitter利用に関する定量分析―利用目的とサービス設計の関係―
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
『オープンソースで学ぶ社会ネットワーク分析』1章 イントロダクション
『オープンソースで学ぶ社会ネットワーク分析』1章 イントロダクション
Recently uploaded
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
Recently uploaded
(8)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
グラフデータベース「Neo4j」の 導入の導入(続き)-Cypherの基本のキ-
1.
グラフデータベース「Neo4j」の 導入の導入(続き) @who_you_me 第4回 「はじめてのパターン認識」 読書会 2013/07/30 クエリ言語「Cypher」の基本のキ
2.
お前誰よ Twitter: @who_you_me 職業: 某ISPではたらくネットワークエンジニア 好きな言語:
Python 趣味: アニメを観ること はじパタの前身の前身(?)「TokyoSNA」主催
3.
告知
4.
http://www.cross-party.com/2014/
5.
CROSSってなに 「ITに関わる」だけを共通点に、 技術も、年代も、所属もバラバラの人たちが集まって 語り合ったら面白いことが起こるんじゃね?
6.
CROSSってなに 「ITに関わる」だけを共通点に、 技術も、年代も、所属もバラバラの人たちが集まって 語り合ったら面白いことが起こるんじゃね? 1,000人のエンジニアで集まって、語り合おう!
7.
今回のテーマ
8.
クロスでススム、 クロスで変わる
9.
ボランティアスタッフ募集 今度のCROSSでは新たに、ボランティアスタッフを募 集することになりました ・会場責任者 ・場内スタッフ ・会場受付
10.
スタッフ特典 ・チケット(前回は3,000円)無料! ・スタッフTシャツ配布予定! ・パーティセッションではもちろん飲食自由!
11.
申し込みはこちらから http://www.cross-party.com/2014/
12.
本題
13.
前回のおさらい 詳しくは前回の資料を見てね http://www.slideshare.net/who_you_me/neo4j-24294061
14.
GraphDBとは? データを頂点(node)と辺(relation)のモデルで保存するDB event_id: 41119 title: はじパタ第三回 event_id:
29767 title: TokyoSNA #1 user_id: 120155 nickname: Prunus1350 user_id: 104457 nickname: who_you_me user_id: 75357 nickname: millionsmile 参加 status: 1 参加 status: 1 参加 status: 1 参加 status: 1 参加 status: 1
15.
event_id: 41119 title: はじパタ第三回 user_id:
120155 nickname: Prunus1350 参加 status: 1 node (vertex) (entity) relation (edge) (link) property ・node ・node間の関係を表すrelation ・node, relationそれぞれにkey-valueで属性を付与するproperty GraphDBの三要素
16.
モデルは分かったけど、 実際のDB操作はどうやるのさ? Create Read Update Delete
17.
ナウでヤングなクエリ言語 Cypher いろいろ用意されていますが、 (たぶん)最も推奨されいるのはCypherです 特にロゴとかはないみたい、、、残念 (ここに貼りたかった)
18.
Cypherとは アスキーアートとパターンマッチによりグラフ を探索できるクエリ言語 関数型の影響を割と受けてるような気がします (でも恐れないで!)
19.
例えば、こうやってデータを保存してたとして
20.
自分(who_you_me)とPrunus1350さんが 共通に出席した勉強会を探したければ、、、
21.
START who_you_me = node:users(user_id="104457"), prunus
= node:users(user_id="120155") MATCH (who_you_me) -[:ATTENDS]-> (event), (prunus) -[:ATTENDS]-> (event) RETURN event
22.
直観的でしょ?
23.
という訳で、Cypherについて もうちょっと詳しく見ていきたいと思います
24.
時間の都合で、 今回はCRUDのうちReadだけです 他も詳しく知りたい人は、ここやここを見てね
25.
CypherのReadクエリの基本要素 ・START ・MATCH ・WHERE ・RETURN START who_you_me = node:users(user_id="104457"), prunus
= node:users(user_id="120155") MATCH (who_you_me) -[:ATTENDS]-> (event), (prunus) -[:ATTENDS]-> (event) WHERE event.title =~ '.*はじ.*パタ.*' RETURN event
26.
START グラフ探索の始点となる頂点/辺を特定して、 識別子(変数)に束縛 START who_you_me = node:users(user_id="104457") 頂点/辺の特定にはインデックスか、 自動で振られたIDを用いる
27.
MATCH アスキーアートでグラフを探索 必要な頂点/辺はパターンマッチで 変数に束縛できる 辺の向きを指定: (n) -->
(m) 辺の向きを考慮しない: (n) --- (m) 深さを指定: (n) -[*1..6]-> (m) MATCH (who_you_me) -[:ATTENDS]-> (event)
28.
WHERE 検索条件を指定 SQLのWHEREとほとんど同じイメージ WHERE event.title =~ '.*はじ.*パタ.*' HAS(user.twitter_id) event.capacity
= 50 event.capacity <> 50 event.capacity <= 50 etc...
29.
RETURN 結果として何を返せばいいか指定する RETURN event
30.
WHERE句とRETURN句では 関数も使えるよ!
31.
Cypherで使える関数(一部) ・COUNT ・SUM ・AVG ・MAX ・MIN ・LENGTH ・TIMESTAMP ・ABS ・ROUND ・SQRT ・SIGN ・REPLACE ・UPPER ・LOWER
32.
言い忘れてましたが、 MATCH句で変数に束縛されるのは 単一の頂点や辺ではなくて それらの配列です 一般に、パターンにマッチする頂点や辺は複数あるからね
33.
なので、Cypherには配列操作系の 関数も数多く用意されています まあ、さっき出てきた関数も大半は「配列を引数に取る関数」だから配列操作系なんだけどねw
34.
Cypherで使える配列関数(一部) ・HEAD(coll) ・TAIL(coll) ・ALL(x IN coll
WHERE HAS(x.prop)) ・ANY(x IN coll WHERE HAS(x.prop)) ・EXTRACT(x IN coll: x.prop) ・FILTER(x IN coll: x.prop <> {value}) ・REDUCE(x IN coll: x.prop <> {value}) なんでMAPじゃなくてEXTRACTなんだろう、、、?
35.
実践
36.
こうやってデータが保存されてるとして
37.
「この勉強会に参加した人は この勉強会にも参加しています」 をCypherで求めてみよう!
38.
答え
39.
START pajipata3 = node:events(event_id="41119") MATCH (user)
-[:ATTENDS]-> (pajipata3), (user) -[:ATTENDS]-> (event) RETURN event.event_id, event.title, COUNT(event.event_id) ORDER BY COUNT(event.event_id) DESC;
40.
解説はここを見てね!
41.
という訳で、 みんなもCypherで 素敵なGraphDBライフを 満喫しよう!
42.
以上、 ご清聴ありがとうございました!
Download now