SlideShare a Scribd company logo
1 of 7
Download to read offline
Neo4jとProlog
SocioInfo #14
飯尾 淳
SocioInfo Copyright © Jun Iio 2
映画データベースの例
これを original.cypher として保存
SocioInfo Copyright © Jun Iio 3
Prologプログラムに変換
●
ここにCypherスクリプトがあるじゃろ?
( ^ω^) ⊃ original.cypher ⊂
これをこうして…
( ^ω^) ≡⊃ cat original.cypher | (シェル
芸)> movie.pl ⊂≡
こうじゃ!
( ^ω^) ⊃ movie.pl ⊂
●
解説
– (x)-[:RELATION]->(y) という関係が,prologでい
うところの relation(x, y) という述語に相当する
SocioInfo Copyright © Jun Iio 4
ワンライナー
●
cat original.cypher | 
sed -e 's/{.*}//g' -e 's/CREATE//g' 
  -e 's/ //g' -e 's/,//g' | grep '-' | 
sed -e 's/(([A-Za-z]*))-[:(.*)]->(([A-
Za-z]*)(.*)/2 1 3/g' | 
awk '{printf "%s(p_%s,m_%s).n",
tolower($1), $2, $3}' > movie.pl
※1
定数は小文字で
始めるので…
SocioInfo Copyright © Jun Iio 5
※1の時点でのデータ
(Keanu)-[:ACTED_IN]->(TheMatrix)
(Carrie)-[:ACTED_IN]->(TheMatrix)
(Laurence)-[:ACTED_IN]->(TheMatrix)
(Hugo)-[:ACTED_IN]->(TheMatrix)
(AndyW)-[:DIRECTED]->(TheMatrix)
(LanaW)-[:DIRECTED]->(TheMatrix)
(JoelS)-[:PRODUCED]->(TheMatrix)
(Emil)-[:ACTED_IN]->(TheMatrix)
(Keanu)-[:ACTED_IN]->(TheMatrixReloaded)
(Carrie)-[:ACTED_IN]->(TheMatrixReloaded)
SocioInfo Copyright © Jun Iio 6
できあがり(movie.pl)
acted_in(p_Keanu,m_TheMatrix).
acted_in(p_Carrie,m_TheMatrix).
acted_in(p_Laurence,m_TheMatrix).
acted_in(p_Hugo,m_TheMatrix).
directed(p_AndyW,m_TheMatrix).
directed(p_LanaW,m_TheMatrix).
produced(p_JoelS,m_TheMatrix).
acted_in(p_Emil,m_TheMatrix).
acted_in(p_Keanu,m_TheMatrixReloaded).
acted_in(p_Carrie,m_TheMatrixReloaded).
CREATE …は
「事実」の
宣言に相当
SocioInfo Copyright © Jun Iio 7
確認
●
昨日の問題5
– 「TheMatrixを作ったディレクターが作成した映画
は,なーんだ?」
●
match … は,prolog では 「?- … .」 に相当
●
解答例:
– ?- directed(X, m_TheMatrix), directed(X, Y).
●
余計な情報が出てきちゃうので…
– ?- directed(X, m_TheMatrix), directed(X, Y),
  write(Y), nl, fail.

More Related Content

What's hot

NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門Shiqiao Du
 
ポアソン画像合成
ポアソン画像合成ポアソン画像合成
ポアソン画像合成Arumaziro
 
Sounds Like Common Lisp - ゼロからはじめるサウンドプログラミング
Sounds Like Common Lisp - ゼロからはじめるサウンドプログラミングSounds Like Common Lisp - ゼロからはじめるサウンドプログラミング
Sounds Like Common Lisp - ゼロからはじめるサウンドプログラミングt-sin
 
String representation in py3k
String representation in py3kString representation in py3k
String representation in py3kAtsuo Ishimoto
 
Python 3.6 リリースパーティー 発表資料
Python 3.6 リリースパーティー 発表資料Python 3.6 リリースパーティー 発表資料
Python 3.6 リリースパーティー 発表資料Atsuo Ishimoto
 
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.kiki utagawa
 
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014Takashi J OZAKI
 
関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCaml関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCamlHaruka Oikawa
 
Cython intro prelerease
Cython intro prelereaseCython intro prelerease
Cython intro prelereaseShiqiao Du
 
C++のライブラリを簡単に眺めてみよう
C++のライブラリを簡単に眺めてみようC++のライブラリを簡単に眺めてみよう
C++のライブラリを簡単に眺めてみようHiro H.
 
わんくま東京#32 「null ヤバイのでなんとかする」
わんくま東京#32 「null ヤバイのでなんとかする」わんくま東京#32 「null ヤバイのでなんとかする」
わんくま東京#32 「null ヤバイのでなんとかする」Takeshi Kiriya
 
掃除をさせるだけではもったいない「ルンバ」の魅力と攻略法 Public
掃除をさせるだけではもったいない「ルンバ」の魅力と攻略法 Public掃除をさせるだけではもったいない「ルンバ」の魅力と攻略法 Public
掃除をさせるだけではもったいない「ルンバ」の魅力と攻略法 PublicHisaya Okada
 
Real World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみたReal World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみたblackenedgold
 
(define)なしで再帰関数を定義する
(define)なしで再帰関数を定義する(define)なしで再帰関数を定義する
(define)なしで再帰関数を定義するblackenedgold
 
Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」
Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」
Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」Hiro H.
 
Cython ことはじめ
Cython ことはじめCython ことはじめ
Cython ことはじめgion_XY
 
Dentoo lt 4 - octave の旋律 -
Dentoo lt 4 - octave の旋律 -Dentoo lt 4 - octave の旋律 -
Dentoo lt 4 - octave の旋律 -fusha_san
 

What's hot (20)

NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門
 
ポアソン画像合成
ポアソン画像合成ポアソン画像合成
ポアソン画像合成
 
Sounds Like Common Lisp - ゼロからはじめるサウンドプログラミング
Sounds Like Common Lisp - ゼロからはじめるサウンドプログラミングSounds Like Common Lisp - ゼロからはじめるサウンドプログラミング
Sounds Like Common Lisp - ゼロからはじめるサウンドプログラミング
 
String representation in py3k
String representation in py3kString representation in py3k
String representation in py3k
 
Python 3.6 リリースパーティー 発表資料
Python 3.6 リリースパーティー 発表資料Python 3.6 リリースパーティー 発表資料
Python 3.6 リリースパーティー 発表資料
 
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
 
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
 
関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCaml関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCaml
 
Cython intro prelerease
Cython intro prelereaseCython intro prelerease
Cython intro prelerease
 
Subprocess no susume
Subprocess no susumeSubprocess no susume
Subprocess no susume
 
C++のライブラリを簡単に眺めてみよう
C++のライブラリを簡単に眺めてみようC++のライブラリを簡単に眺めてみよう
C++のライブラリを簡単に眺めてみよう
 
わんくま東京#32 「null ヤバイのでなんとかする」
わんくま東京#32 「null ヤバイのでなんとかする」わんくま東京#32 「null ヤバイのでなんとかする」
わんくま東京#32 「null ヤバイのでなんとかする」
 
掃除をさせるだけではもったいない「ルンバ」の魅力と攻略法 Public
掃除をさせるだけではもったいない「ルンバ」の魅力と攻略法 Public掃除をさせるだけではもったいない「ルンバ」の魅力と攻略法 Public
掃除をさせるだけではもったいない「ルンバ」の魅力と攻略法 Public
 
Real World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみたReal World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみた
 
(define)なしで再帰関数を定義する
(define)なしで再帰関数を定義する(define)なしで再帰関数を定義する
(define)なしで再帰関数を定義する
 
Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」
Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」
Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」
 
CG2013 05
CG2013 05CG2013 05
CG2013 05
 
Cython ことはじめ
Cython ことはじめCython ことはじめ
Cython ことはじめ
 
Dentoo lt 4 - octave の旋律 -
Dentoo lt 4 - octave の旋律 -Dentoo lt 4 - octave の旋律 -
Dentoo lt 4 - octave の旋律 -
 
R3.0.0 is relased
R3.0.0 is relasedR3.0.0 is relased
R3.0.0 is relased
 

Similar to Neo4jとProlog

3D Photo Tool by Ruby/Sinatra + JavaScript
3D Photo Tool by Ruby/Sinatra + JavaScript3D Photo Tool by Ruby/Sinatra + JavaScript
3D Photo Tool by Ruby/Sinatra + JavaScriptNISHIMOTO Keisuke
 
Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編Etsuji Nakai
 
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみるYuta Hayakawa
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementationsmasahitojp
 

Similar to Neo4jとProlog (8)

osc_tokyo20100226
osc_tokyo20100226osc_tokyo20100226
osc_tokyo20100226
 
Tokyo r30 beginner
Tokyo r30 beginnerTokyo r30 beginner
Tokyo r30 beginner
 
Tokyo r38
Tokyo r38Tokyo r38
Tokyo r38
 
Shizupptx
ShizupptxShizupptx
Shizupptx
 
3D Photo Tool by Ruby/Sinatra + JavaScript
3D Photo Tool by Ruby/Sinatra + JavaScript3D Photo Tool by Ruby/Sinatra + JavaScript
3D Photo Tool by Ruby/Sinatra + JavaScript
 
Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編Python 機械学習プログラミング データ分析演習編
Python 機械学習プログラミング データ分析演習編
 
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
2015/09/12 第9回G-Study発表資料-XdebugでPHP ScriptのProfileしてみる
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementations
 

More from Jun Iio

フラクタルへの誘い an introduction to fractal
フラクタルへの誘い an introduction to fractalフラクタルへの誘い an introduction to fractal
フラクタルへの誘い an introduction to fractalJun Iio
 
オンラインイベント支援システムOLiVESの開発と運用
オンラインイベント支援システムOLiVESの開発と運用オンラインイベント支援システムOLiVESの開発と運用
オンラインイベント支援システムOLiVESの開発と運用Jun Iio
 
麻雀を全く知らない人に純正九蓮宝燈とは何かを教えるための資料
麻雀を全く知らない人に純正九蓮宝燈とは何かを教えるための資料麻雀を全く知らない人に純正九蓮宝燈とは何かを教えるための資料
麻雀を全く知らない人に純正九蓮宝燈とは何かを教えるための資料Jun Iio
 
オンラインイベント支援システムを作ってみたらどうだったかな?
オンラインイベント支援システムを作ってみたらどうだったかな?オンラインイベント支援システムを作ってみたらどうだったかな?
オンラインイベント支援システムを作ってみたらどうだったかな?Jun Iio
 
Do you know every cat has four bears?
Do you know every cat has four bears?Do you know every cat has four bears?
Do you know every cat has four bears?Jun Iio
 
大学教員になりたい企業人の皆様へ
大学教員になりたい企業人の皆様へ大学教員になりたい企業人の皆様へ
大学教員になりたい企業人の皆様へJun Iio
 
情報系学部におけるBYODの試み
情報系学部におけるBYODの試み情報系学部におけるBYODの試み
情報系学部におけるBYODの試みJun Iio
 
The Semiotics of Toilet Signs
The Semiotics of Toilet SignsThe Semiotics of Toilet Signs
The Semiotics of Toilet SignsJun Iio
 
OpenCampus2019_Tama
OpenCampus2019_TamaOpenCampus2019_Tama
OpenCampus2019_TamaJun Iio
 
不偏分散ではなぜNでなくN-1で割るのか
不偏分散ではなぜNでなくN-1で割るのか不偏分散ではなぜNでなくN-1で割るのか
不偏分散ではなぜNでなくN-1で割るのかJun Iio
 
2019年春季HCD研究発表会特別講話
2019年春季HCD研究発表会特別講話2019年春季HCD研究発表会特別講話
2019年春季HCD研究発表会特別講話Jun Iio
 
UXDの課題
UXDの課題UXDの課題
UXDの課題Jun Iio
 
2019年度BYODソフトウェアインストールガイダンス資料
2019年度BYODソフトウェアインストールガイダンス資料2019年度BYODソフトウェアインストールガイダンス資料
2019年度BYODソフトウェアインストールガイダンス資料Jun Iio
 
Twitterでみる社会のトレンド
Twitterでみる社会のトレンドTwitterでみる社会のトレンド
Twitterでみる社会のトレンドJun Iio
 
The presentation material for my lecture at the open campus, 22nd Sep. 2018 (2)
The presentation material for my lecture at the open campus, 22nd Sep. 2018 (2)The presentation material for my lecture at the open campus, 22nd Sep. 2018 (2)
The presentation material for my lecture at the open campus, 22nd Sep. 2018 (2)Jun Iio
 
The presentation material for my lecture at the open campus, 22nd Sep. 2018
The presentation material for my lecture at the open campus, 22nd Sep. 2018The presentation material for my lecture at the open campus, 22nd Sep. 2018
The presentation material for my lecture at the open campus, 22nd Sep. 2018Jun Iio
 
Lessons Learned from Data Preparation for Geographic Information Systems Usin...
Lessons Learned from Data Preparation for Geographic Information Systems Usin...Lessons Learned from Data Preparation for Geographic Information Systems Usin...
Lessons Learned from Data Preparation for Geographic Information Systems Usin...Jun Iio
 
図書館利用実態の可視化 および 読書感想文コンクール作品の分析
図書館利用実態の可視化 および 読書感想文コンクール作品の分析図書館利用実態の可視化 および 読書感想文コンクール作品の分析
図書館利用実態の可視化 および 読書感想文コンクール作品の分析Jun Iio
 
たこ焼き屋で学ぶ情報隠蔽
たこ焼き屋で学ぶ情報隠蔽たこ焼き屋で学ぶ情報隠蔽
たこ焼き屋で学ぶ情報隠蔽Jun Iio
 
トイレサインとピクトグラム
トイレサインとピクトグラムトイレサインとピクトグラム
トイレサインとピクトグラムJun Iio
 

More from Jun Iio (20)

フラクタルへの誘い an introduction to fractal
フラクタルへの誘い an introduction to fractalフラクタルへの誘い an introduction to fractal
フラクタルへの誘い an introduction to fractal
 
オンラインイベント支援システムOLiVESの開発と運用
オンラインイベント支援システムOLiVESの開発と運用オンラインイベント支援システムOLiVESの開発と運用
オンラインイベント支援システムOLiVESの開発と運用
 
麻雀を全く知らない人に純正九蓮宝燈とは何かを教えるための資料
麻雀を全く知らない人に純正九蓮宝燈とは何かを教えるための資料麻雀を全く知らない人に純正九蓮宝燈とは何かを教えるための資料
麻雀を全く知らない人に純正九蓮宝燈とは何かを教えるための資料
 
オンラインイベント支援システムを作ってみたらどうだったかな?
オンラインイベント支援システムを作ってみたらどうだったかな?オンラインイベント支援システムを作ってみたらどうだったかな?
オンラインイベント支援システムを作ってみたらどうだったかな?
 
Do you know every cat has four bears?
Do you know every cat has four bears?Do you know every cat has four bears?
Do you know every cat has four bears?
 
大学教員になりたい企業人の皆様へ
大学教員になりたい企業人の皆様へ大学教員になりたい企業人の皆様へ
大学教員になりたい企業人の皆様へ
 
情報系学部におけるBYODの試み
情報系学部におけるBYODの試み情報系学部におけるBYODの試み
情報系学部におけるBYODの試み
 
The Semiotics of Toilet Signs
The Semiotics of Toilet SignsThe Semiotics of Toilet Signs
The Semiotics of Toilet Signs
 
OpenCampus2019_Tama
OpenCampus2019_TamaOpenCampus2019_Tama
OpenCampus2019_Tama
 
不偏分散ではなぜNでなくN-1で割るのか
不偏分散ではなぜNでなくN-1で割るのか不偏分散ではなぜNでなくN-1で割るのか
不偏分散ではなぜNでなくN-1で割るのか
 
2019年春季HCD研究発表会特別講話
2019年春季HCD研究発表会特別講話2019年春季HCD研究発表会特別講話
2019年春季HCD研究発表会特別講話
 
UXDの課題
UXDの課題UXDの課題
UXDの課題
 
2019年度BYODソフトウェアインストールガイダンス資料
2019年度BYODソフトウェアインストールガイダンス資料2019年度BYODソフトウェアインストールガイダンス資料
2019年度BYODソフトウェアインストールガイダンス資料
 
Twitterでみる社会のトレンド
Twitterでみる社会のトレンドTwitterでみる社会のトレンド
Twitterでみる社会のトレンド
 
The presentation material for my lecture at the open campus, 22nd Sep. 2018 (2)
The presentation material for my lecture at the open campus, 22nd Sep. 2018 (2)The presentation material for my lecture at the open campus, 22nd Sep. 2018 (2)
The presentation material for my lecture at the open campus, 22nd Sep. 2018 (2)
 
The presentation material for my lecture at the open campus, 22nd Sep. 2018
The presentation material for my lecture at the open campus, 22nd Sep. 2018The presentation material for my lecture at the open campus, 22nd Sep. 2018
The presentation material for my lecture at the open campus, 22nd Sep. 2018
 
Lessons Learned from Data Preparation for Geographic Information Systems Usin...
Lessons Learned from Data Preparation for Geographic Information Systems Usin...Lessons Learned from Data Preparation for Geographic Information Systems Usin...
Lessons Learned from Data Preparation for Geographic Information Systems Usin...
 
図書館利用実態の可視化 および 読書感想文コンクール作品の分析
図書館利用実態の可視化 および 読書感想文コンクール作品の分析図書館利用実態の可視化 および 読書感想文コンクール作品の分析
図書館利用実態の可視化 および 読書感想文コンクール作品の分析
 
たこ焼き屋で学ぶ情報隠蔽
たこ焼き屋で学ぶ情報隠蔽たこ焼き屋で学ぶ情報隠蔽
たこ焼き屋で学ぶ情報隠蔽
 
トイレサインとピクトグラム
トイレサインとピクトグラムトイレサインとピクトグラム
トイレサインとピクトグラム
 

Recently uploaded

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 

Recently uploaded (8)

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 

Neo4jとProlog

  • 2. SocioInfo Copyright © Jun Iio 2 映画データベースの例 これを original.cypher として保存
  • 3. SocioInfo Copyright © Jun Iio 3 Prologプログラムに変換 ● ここにCypherスクリプトがあるじゃろ? ( ^ω^) ⊃ original.cypher ⊂ これをこうして… ( ^ω^) ≡⊃ cat original.cypher | (シェル 芸)> movie.pl ⊂≡ こうじゃ! ( ^ω^) ⊃ movie.pl ⊂ ● 解説 – (x)-[:RELATION]->(y) という関係が,prologでい うところの relation(x, y) という述語に相当する
  • 4. SocioInfo Copyright © Jun Iio 4 ワンライナー ● cat original.cypher | sed -e 's/{.*}//g' -e 's/CREATE//g'   -e 's/ //g' -e 's/,//g' | grep '-' | sed -e 's/(([A-Za-z]*))-[:(.*)]->(([A- Za-z]*)(.*)/2 1 3/g' | awk '{printf "%s(p_%s,m_%s).n", tolower($1), $2, $3}' > movie.pl ※1 定数は小文字で 始めるので…
  • 5. SocioInfo Copyright © Jun Iio 5 ※1の時点でのデータ (Keanu)-[:ACTED_IN]->(TheMatrix) (Carrie)-[:ACTED_IN]->(TheMatrix) (Laurence)-[:ACTED_IN]->(TheMatrix) (Hugo)-[:ACTED_IN]->(TheMatrix) (AndyW)-[:DIRECTED]->(TheMatrix) (LanaW)-[:DIRECTED]->(TheMatrix) (JoelS)-[:PRODUCED]->(TheMatrix) (Emil)-[:ACTED_IN]->(TheMatrix) (Keanu)-[:ACTED_IN]->(TheMatrixReloaded) (Carrie)-[:ACTED_IN]->(TheMatrixReloaded)
  • 6. SocioInfo Copyright © Jun Iio 6 できあがり(movie.pl) acted_in(p_Keanu,m_TheMatrix). acted_in(p_Carrie,m_TheMatrix). acted_in(p_Laurence,m_TheMatrix). acted_in(p_Hugo,m_TheMatrix). directed(p_AndyW,m_TheMatrix). directed(p_LanaW,m_TheMatrix). produced(p_JoelS,m_TheMatrix). acted_in(p_Emil,m_TheMatrix). acted_in(p_Keanu,m_TheMatrixReloaded). acted_in(p_Carrie,m_TheMatrixReloaded). CREATE …は 「事実」の 宣言に相当
  • 7. SocioInfo Copyright © Jun Iio 7 確認 ● 昨日の問題5 – 「TheMatrixを作ったディレクターが作成した映画 は,なーんだ?」 ● match … は,prolog では 「?- … .」 に相当 ● 解答例: – ?- directed(X, m_TheMatrix), directed(X, Y). ● 余計な情報が出てきちゃうので… – ?- directed(X, m_TheMatrix), directed(X, Y),   write(Y), nl, fail.