Skip to main content
Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Uploaded by
Toshi Harada
801 views
無駄にNeo4jを使っている日々
無駄にNeo4jを使っている日々 ラーメンレビューサイトのソーシャルグラフとかそんなの
Technology
◦
Read more
More Related Content
PDF
Toll - free bridge
by
susan335
12 slides
481 views
PPTX
USP 友の会 LT 資料 20130413
by
博文 斉藤
24 slides
2K views
PDF
HaskellではじめるCortex-M3組込みプログラミング
by
Kiwamu Okabe
11 slides
2.9K views
PDF
SL(2,Z)の元の生成シミュレーション
by
Yuri Mizushima
25 slides
293 views
PDF
異次元のグラフデータベースNeo4j
by
昌桓 李
88 slides
13.6K views
PPTX
Neo4j ハンズオン
by
zacky135
106 slides
1.9K views
PDF
Lightning-Talk: Ramen->Graph->Database, neo4j_fdw
by
Toshi Harada
29 slides
1.6K views
PPTX
Neoの世界へ
by
時雨 大西
65 slides
922 views
Toll - free bridge
by
susan335
12 slides
481 views
USP 友の会 LT 資料 20130413
by
博文 斉藤
24 slides
2K views
HaskellではじめるCortex-M3組込みプログラミング
by
Kiwamu Okabe
11 slides
2.9K views
SL(2,Z)の元の生成シミュレーション
by
Yuri Mizushima
25 slides
293 views
異次元のグラフデータベースNeo4j
by
昌桓 李
88 slides
13.6K views
Neo4j ハンズオン
by
zacky135
106 slides
1.9K views
Lightning-Talk: Ramen->Graph->Database, neo4j_fdw
by
Toshi Harada
29 slides
1.6K views
Neoの世界へ
by
時雨 大西
65 slides
922 views
Similar to 無駄にNeo4jを使っている日々
PDF
[db tech showcase Tokyo 2015] E27: Neo4jグラフデータベース by クリエーションライン株式会社 李昌桓
by
Insight Technology, Inc.
66 slides
10.1K views
PDF
Neo4j を Javaプログラムから使う
by
Masahiro Satake
24 slides
6.2K views
PDF
NoSQLデータベースと位置情報
by
Koji Ichiwaki
27 slides
17.7K views
PPTX
Neo4j の「データ操作プログラミング」から 「ビジュアライズ」まで
by
Keiichiro Seida
41 slides
7.6K views
PDF
Do postgres-dream-of-graph-database
by
Toshi Harada
55 slides
1.8K views
PDF
グラフタイプデータの可視化ツールーTom Sawyer
by
Changhwan Lee
24 slides
757 views
PDF
グラフデータの視覚化ツールーTom Sawyer Perspectives
by
昌桓 李
24 slides
282 views
PDF
Neo4j Stream, [RDB/NoSQL]Kafka Connector CDC(Change Data Captuer)の紹介
by
昌桓 李
19 slides
1.2K views
PDF
Osc shimane-2016-do-postgres-dream-of-graph-database
by
Toshi Harada
58 slides
429 views
PDF
Neo4jで始めるグラフDB入門 - LT Thursday
by
Yusuke Komahara
23 slides
1.7K views
PPTX
(2017.9.7) Neo4jご紹介
by
Mitsutoshi Kiuchi
30 slides
864 views
PPTX
大規模言語モデルを使ったナレッジグラフの自動化 - 生成AIは、グラフデータのモデリングやデータ抽出において非常に有効である
by
昌桓 李
30 slides
63 views
PDF
Neo4jでつなぐ知見のネットワーク [Pycon2016 LT]
by
創史 花村
19 slides
309 views
PPTX
Neo4jrbにおけるOGM
by
takabes00
28 slides
2K views
PDF
グラフデータベース「Neo4j」の 導入の導入(続き)-Cypherの基本のキ-
by
Hisao Soyama
42 slides
9K views
[db tech showcase Tokyo 2015] E27: Neo4jグラフデータベース by クリエーションライン株式会社 李昌桓
by
Insight Technology, Inc.
66 slides
10.1K views
Neo4j を Javaプログラムから使う
by
Masahiro Satake
24 slides
6.2K views
NoSQLデータベースと位置情報
by
Koji Ichiwaki
27 slides
17.7K views
Neo4j の「データ操作プログラミング」から 「ビジュアライズ」まで
by
Keiichiro Seida
41 slides
7.6K views
Do postgres-dream-of-graph-database
by
Toshi Harada
55 slides
1.8K views
グラフタイプデータの可視化ツールーTom Sawyer
by
Changhwan Lee
24 slides
757 views
グラフデータの視覚化ツールーTom Sawyer Perspectives
by
昌桓 李
24 slides
282 views
Neo4j Stream, [RDB/NoSQL]Kafka Connector CDC(Change Data Captuer)の紹介
by
昌桓 李
19 slides
1.2K views
Osc shimane-2016-do-postgres-dream-of-graph-database
by
Toshi Harada
58 slides
429 views
Neo4jで始めるグラフDB入門 - LT Thursday
by
Yusuke Komahara
23 slides
1.7K views
(2017.9.7) Neo4jご紹介
by
Mitsutoshi Kiuchi
30 slides
864 views
大規模言語モデルを使ったナレッジグラフの自動化 - 生成AIは、グラフデータのモデリングやデータ抽出において非常に有効である
by
昌桓 李
30 slides
63 views
Neo4jでつなぐ知見のネットワーク [Pycon2016 LT]
by
創史 花村
19 slides
309 views
Neo4jrbにおけるOGM
by
takabes00
28 slides
2K views
グラフデータベース「Neo4j」の 導入の導入(続き)-Cypherの基本のキ-
by
Hisao Soyama
42 slides
9K views
More from Toshi Harada
PDF
Pgunconf16 toast
by
Toshi Harada
28 slides
830 views
PDF
Pgunconf14 pg13-psql
by
Toshi Harada
60 slides
879 views
PDF
20190518 27th-chugoku db-lt-pg12
by
Toshi Harada
16 slides
1.5K views
PDF
20190202-pgunconf-Access-Privilege-Inquiry-Functions
by
Toshi Harada
35 slides
1.3K views
PDF
20190119 aws-study-pg-extension
by
Toshi Harada
82 slides
881 views
PDF
20181122 pg con-jp-lt-logrep
by
Toshi Harada
31 slides
823 views
PDF
20181110 fok2018-pg-extension
by
Toshi Harada
77 slides
579 views
PDF
20171106 ntt-tx-postgre sql-10
by
Toshi Harada
121 slides
1.1K views
PDF
20171103 pg con-jp-lt-plpgsql
by
Toshi Harada
39 slides
1.1K views
PDF
20171028 osc-nagaoka-postgre sql-10
by
Toshi Harada
123 slides
1.2K views
PDF
20170819 ocd-l tthon-pgdev
by
Toshi Harada
53 slides
714 views
PDF
Ntt tx-study-postgre sql-10
by
Toshi Harada
136 slides
437 views
PDF
Jpug study-postgre sql-10-pub
by
Toshi Harada
129 slides
1.4K views
PDF
Chugoku db 20th-postgresql-10-pub
by
Toshi Harada
113 slides
1.2K views
PDF
Pgconf asia-201612203-pg reversi-ja
by
Toshi Harada
27 slides
628 views
PDF
Pgconf asia-201612203-pg reversi
by
Toshi Harada
27 slides
502 views
PDF
Kof2016 postgresql-9.6
by
Toshi Harada
98 slides
963 views
PDF
Chugoku db 17th-lt-kly
by
Toshi Harada
23 slides
775 views
PDF
Chugoku db 17th-postgresql-9.6
by
Toshi Harada
96 slides
819 views
PDF
Dblt#2 do-postgres-dream-of-graph-database
by
Toshi Harada
30 slides
477 views
Pgunconf16 toast
by
Toshi Harada
28 slides
830 views
Pgunconf14 pg13-psql
by
Toshi Harada
60 slides
879 views
20190518 27th-chugoku db-lt-pg12
by
Toshi Harada
16 slides
1.5K views
20190202-pgunconf-Access-Privilege-Inquiry-Functions
by
Toshi Harada
35 slides
1.3K views
20190119 aws-study-pg-extension
by
Toshi Harada
82 slides
881 views
20181122 pg con-jp-lt-logrep
by
Toshi Harada
31 slides
823 views
20181110 fok2018-pg-extension
by
Toshi Harada
77 slides
579 views
20171106 ntt-tx-postgre sql-10
by
Toshi Harada
121 slides
1.1K views
20171103 pg con-jp-lt-plpgsql
by
Toshi Harada
39 slides
1.1K views
20171028 osc-nagaoka-postgre sql-10
by
Toshi Harada
123 slides
1.2K views
20170819 ocd-l tthon-pgdev
by
Toshi Harada
53 slides
714 views
Ntt tx-study-postgre sql-10
by
Toshi Harada
136 slides
437 views
Jpug study-postgre sql-10-pub
by
Toshi Harada
129 slides
1.4K views
Chugoku db 20th-postgresql-10-pub
by
Toshi Harada
113 slides
1.2K views
Pgconf asia-201612203-pg reversi-ja
by
Toshi Harada
27 slides
628 views
Pgconf asia-201612203-pg reversi
by
Toshi Harada
27 slides
502 views
Kof2016 postgresql-9.6
by
Toshi Harada
98 slides
963 views
Chugoku db 17th-lt-kly
by
Toshi Harada
23 slides
775 views
Chugoku db 17th-postgresql-9.6
by
Toshi Harada
96 slides
819 views
Dblt#2 do-postgres-dream-of-graph-database
by
Toshi Harada
30 slides
477 views
無駄にNeo4jを使っている日々
1.
NTT Engineers' Meetup
#3 無駄に Neo4j を使っている日々
2.
自己紹介 ● ぬこ@横浜 (@nuko_yokohama) ●
にゃーん ● 趣味でポスグレや Neo4j をやってる者だ
3.
Neo4j って?
4.
Neo4j ● グラフデータベース ● 結構歴史は古い。登場したのは
2007 年頃。 ● NTT コムウェアさんでも導入事例あり – NTT グループ企業のネットワーク機器管理 – https://www.creationline.com/clientvoice/case17 ● Cypher という独自の問い合わせ言語( SQL 相当)
5.
グラフデータベース ● ノード、エッジ(関連)、プロパティの三要素 ノード プロパティ ノード プロパティ エッジ ● グラフデータベースの実装製品は結構多い。 –
https://en.wikipedia.org/wiki/Graph_database#List_of_graph_databases
6.
グラフデータベースの適用領域 ● ソーシャルグラフ ● レコメンデーション ●
経路探索 ● ネットワーク管理 ● 不正検知 ● などなど
7.
ぬこの Neo4j の使い方 すべては
QoN(Quality of Noodle) の向上のために
8.
題材:なんとかデータベース ● ラーメン等のレビューサイト – https://supleks.jp/ ●
自分も「ちょっとだけ」 利用している
9.
ぬこ環境の PostgreSQL と
Neo4j 構成 AWS EC2 スクレイピング スクリプト PostgreSQL 14-devel 俺々なんとか データベース エクスポート Cypher 生成 インポート 関連生成 レビュー数 96 万件 店舗数 11 万件 ユーザ数 21 万件 コメント数 162 万件 neo4j-community-4.1.1
10.
PostgreSQL でのデータ構造 ● users,
reviews, shops か ら、 Neo4j ノード用の CSV をエクスポート ● users と reviews 、 reviews と sops 、 comments と reviews の関連から Neo4j 関連生成コマンドを作成
11.
ノード用の CSV を
PostgreSQL で生成 ramendb=# COPY ( SELECT rid, menu, score, category, type, soup, reg_date FROM reviews WHERE reg_date BETWEEN '2019-10-01' AND '2020-09-30' ) TO '/tmp/r.csv' CSV; COPY 79412 ramendb=# q [ec2-user@ip-10-0-1-10 ramendb]$ head -3 /tmp/r.csv 1349100, 小(麺少な目)ニンニク少し、アブラ、ショウガ 750 円 ,83, ラーメン , ラーメン , 豚骨醤油 ,2020-09-18 1349101, ラーメン 並(1玉) ※麺:かため&味:濃い ,90, ラーメン , ラーメン , 豚骨醤油 ,2020-09-26 1349102, やばにぼ、和え玉 ( 白 ),95, ラーメン , ラーメン , 煮干し ,2020-09-13 [ec2-user@ip-10-0-1-10 ramendb]$ ● Review ノード用の CSV ファイルを生成
12.
Neo4j コマンドを PostgreSQL
で生成 ramendb=# COPY ( SELECT 'MATCH (u:User{uid:' || uid || '}),(r:Review{rid:' || rid || '}) CREATE (u)-[:write]->(r);' FROM reviews r WHERE r.reg_date BETWEEN '2019-10-01' AND '2020-09-30' ) TO '/tmp/u-r.cql'; COPY 79412 ramendb=# q [ec2-user@ip-10-0-1-10 ramendb]$ tail -3 /tmp/u-r.cql MATCH (u:User{uid:142431}),(r:Review{rid:1336079}) CREATE (u)-[:write]->(r); MATCH (u:User{uid:69891}),(r:Review{rid:1336080}) CREATE (u)-[:write]->(r); MATCH (u:User{uid:56}),(r:Review{rid:1336081}) CREATE (u)-[:write]->(r); [ec2-user@ip-10-0-1-10 ramendb]$ ● User ノードから Review ノードへの関連生成コマンドを生成
13.
Neo4j でのグラフデータ構造 ● 3
種類のノードと 3 種類の関連。シンプル。 User プロパティ Review プロパティ write Shop プロパティ eval comment uid ユーザ ID name ユーザ名 pref 本拠地 ( 都道府県 ) area 本拠地 ( 市区町村 ) rid レビュー ID menu 品名 score 採点 (0-100) category カテゴリ reg_date レビュー登録日 etc... sid 店舗 ID name 店舗名 pref 本拠地 ( 都道府県 ) area 本拠地 ( 市区町村 ) etc...
14.
色々な検索例
15.
検索例 1 (年始期間の本拠地レビュー) ●
2020-01-01 から 2020-01-07 の間、横浜市中区の店へのレ ビューに対してコメントしたユーザのグラフ MATCH (u:User)-[:comment]-(r:Review)-[:write]-(ru:User), (r)-[:eval]-(s:Shop) WHERE s.area = ' 横浜市中区 ' AND (r.reg_date >= '2020-01-01' AND r.reg_date <= '2020-01-07') RETURN r,ru, u,s
16.
検索例 1 (年始期間の本拠地レビュー) ●
結果 ● このあたりのユーザは 自分に良くコメントしてくれる。 ファンは大事にしよう。 ● このあたりのユーザとは接点が ないので、アクセスしてみるか。 ● 自分だけでなく、都内の人気ユーザ もフォローしている人たち。
17.
検索例 2 (高評価レビューを上げたユーザ) ●
2020-07-01 ~ 2020-09-30 の期間に、 自分が 80 点以上をつけたレビュー対象の店舗を、 80 点以上でレビューした人。 MATCH (u:User{uid:8999})-[:write]-(r:Review)-[:eval]- (s:Shop)-[:eval]-(r2:Review)-[:write]-(u2:User) WHERE r.score >=80 AND r2.score >= 80 AND u2.uid <> 8999 AND r.reg_date >='2020-07-01' AND r.reg_date <= '2020-09-30' RETURN s,r2,u2
18.
検索例 2 (高評価レビューを上げたユーザ) ●
結果 ● この 2 店舗はやはり 人気があるようだ。 (はやし田、王道之印)
19.
検索例 3 (ゆでタリアンクラスタ) ●
2020-04-01 から 2020-09-30 の間、全国の に レビューした人たちのソーシャルグラフ MATCH (u:User)-[:write]-(r:Review)-[:eval]-(s:Shop) WHERE s.name = ' ゆで太郎 ' AND r.reg_date >='2020-04-01' AND r.reg_date <= '2020-09-30' RETURN s,r, u
20.
検索例 3 (ゆでタリアンクラスタ) ●
結果 ぬこはここにいる。 ● 埼玉の小規模 「ゆでタリアン」クラスタ● 都内の大規模 「ゆでタリアン」クラスタ ● 茨城の小規模 「ゆでタリアン」クラスタ
21.
さらに無駄な使い方
22.
登場人物の関連可視化
23.
登場人物の関連可視化(例:「屍鬼」) ● 「屍鬼」に登場した人物、施設、地名等をノードにし、関連を 設定する。 ● これをやるために、「屍鬼」
1 巻を何度読み返したことかw ● ただ、今のグラフデータモデルは暫定的なもの。 – 章ノードを作って、章ノードに紐づく登場人物の関係性を表 現するほうがいいのかも・・・ – 章ノード間には時系列を示す関連を設定するとか
24.
登場人物の関連可視化(例:インド神話) ● インド神話の世界は複雑怪奇。 ● 2
大叙情詩「ラーマーヤナ」「マハーバーラタ」と「リグ・ ヴェーダ」 ● 同じような話が収録されている叙情詩によって、ちょっと違っ たりしている。 ● 神の別名、人間への転生など何でもあり。 ● これはグラフで整理しなければならない。
25.
以上!