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

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 

Recently uploaded (11)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

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.