LoginSignup
1
3

More than 5 years have passed since last update.

DBpedia と neo4j で声優と出演作品をグラフ表示してみた

Last updated at Posted at 2016-08-31

研究室の合宿で京都へ

夜中、なんか開発したいねということで、短時間のハッカソンを行いました(2人で)。

ラボメンの研究進捗のあとだったりしたので、研究でお世話になっているツールを使おうということで、

  • DBpedia Japanese
  • neo4j

を使って、声優と出演作品をグラフ表示してみました。

DBpedia Japanese

DBpediaはWikipediaから情報を抽出してLOD (Linked Open Data)として公開するコミュニティプロジェクトです.本家のDBpediaは主にWikipedia英語版を対象としています.DBpedia Japanese の目的は,Wikipedia日本語版を対象としたDBpediaを提供することです.

オープンデータといえば、これという感じ

SPARQL という RDF 向けのクエリ言語で、必要な情報を取得することができます。

今回は声優と、出演作の関係が必要だったので、利用したクエリはこんな感じ

select distinct ?anime_name ?actor_name where {
?anime <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://dbpedia.org/ontology/Anime> ;
    <http://xmlns.com/foaf/0.1/name> ?anime_name ;
    <http://ja.dbpedia.org/property/出演者> ?actor .
?actor <http://www.w3.org/2000/01/rdf-schema#label> ?actor_name .
}

neo4j

Neo4j is a highly scalable native graph database that leverages data relationships as first-class entities, helping enterprises build intelligent applications to meet today’s evolving data challenges.

関係表現したり、クエリできるグラフデータベースです(ざっくりしかまだ分かっていない)

Cypherクエリで操作します。

今回の流れ

  1. DBpedia から SPARQL を使ってデータを取得
  2. データを Cypher クエリに整形
  3. neo4j に登録

1, 2 は ruby でやります。githubにソースはおいておきます。

3は、手動。

Cypher クエリを作る

him0/neo4j-voice-actor-graph

bundle install --path=vendor/bundle
bundle exec ruby app.rb| pbcopy # クリップボードにクエリを突っ込む

neo4j の環境構築

neo4j は、Dockerコンテナを利用 Kitematic で速攻コンテナを作る。

スクリーンショット_2016_09_01_1_03.png

スクリーンショット_2016_09_01_0_09.png

Port 情報をもとにブラウザを開く

スクリーンショット 2016-09-01 0.09.54.png

Password 初期は neo4j みたいです。新規パスワードを求められるので登録。

作ったクエリを実行

Neo4j.png

初期だと表示数が少ないので表示数の設定を変えます。

:config initialNodeDisplay: 5000

いざ表示

MATCH ()-[r]->() RETURN r

Neo4j 3.png

Neo4j.png

できた。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3