RDFのチェックツール「rdflint」とコミュニティによるオープンデータの作成

三上 威 - @takemikami
アーリース情報技術株式会社 代表取締役 社⻑
LODチャレンジ2019ミートアップ （キックオフイベント）
2019.7.5 @国⽴情報学研究所 12階 1208・1210会議室
Copyright (C) Takeshi Mikami. All rights reserved.

takemikamiʼs note ‒ http://takemikami.com/

1

⾃⼰紹介
発表者のプロフィールを紹介します• 三上威 (@takemikami)• データエンジニア・サイエンティスト• タスク: 分析・予測モデル開発・基盤構築 etc• 対象: マーケティングデータ etc• 略歴• 甲南⼤学理学部応⽤数学科 卒• EC, CRM等のシステム構築 @ NEC系SIer• ECサイトのマーケティングデータ分析 @ DeNA
• データ分析・予測モデル開発・基盤構築 @アーリース情報技術(株)※フリーランスの法⼈成り

Copyright (C) Takeshi Mikami. All rights reserved.

takemikamiʼs note ‒ http://takemikami.com/

2

im@sparqlとそのデータ作成の運⽤
im@sparqlとそのデータ作成の運⽤について紹介をします

im@s + sparql = im@sparql• 「アイドルマスター」作品世界のデータセットを持つ、SPARQLでアクセス可能なエンドポイント• GitHubというソースコードの管理システムを使⽤、誰でもデータの追加・修正のリクエストをすることが出来る※im@sparqlは、
LODチャレンジ2018 データセット部⾨ 受賞作品です
Copyright (C) Takeshi Mikami. All rights reserved.

takemikamiʼs note ‒ http://takemikami.com/

3コミュニティによるデータ作成の全体像
コミュニティによるデータ作成の全体像を⽰します

サーバ④サーバに反映

マスターデータ③マスターに反映

チェックプロセス②依頼内容をチェックチェックする⼈

チェックに⼿間のかかる＆システムの知識も必要①修正依頼を送る
追加・修正リクエストする⼈達
Copyright (C) Takeshi Mikami. All rights reserved.

takemikamiʼs note ‒ http://takemikami.com/

4コミュニティによるデータ作成の課題意識
コミュニティによるデータ作成の課題意識を説明します• ⽬標：
誰でもデータの追加・修正のリクエストをすることが出来る• 障害：
確認作業（サーバを⽴ち上げて、修正データをロード）に⼿間と知識が必要になる＝「誰でも」リクエスト出来る状態ではない→確認作業を簡単にできるチェックツールを整備する
RDFチェックツール「rdflint」の開発・導⼊
Copyright (C) Takeshi Mikami. All rights reserved.

takemikamiʼs note ‒ http://takemikami.com/

5rdflintで出来ること① 〜RDFファイルとして正しいか〜
rdflintで出来ること: RDFファイルとして正しいかのチェック のイメージを⽰します<rdf:Description rdf:about="detail/Hakozaki_Serika"><imas:nameKana xml:lang="ja">はこざきせりか</imas:nameKana><schema:name xml:lang="ja">箱崎星梨花</schema:name><foaf:age rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">13</foaf:age><rdf:type rdf:resource="https://sparql.crssnky.xyz/imasrdf/URIs/imas-schema.ttl#Idol"/><imas:cv rdf:resource="http://ja.dbpedia.org/resource/⿇倉もも"/></rdf:Description>

detail/Hakozaki_Serika

imas:nameKana
imas:namefoaf:age
rdf:type

凡例:

リソースのURI
リテラル

Copyright (C) Takeshi Mikami. All rights reserved.

imas:cv

はこざきせりか

RDFファイルとして正しいかチェック

箱崎星梨花
13
imasrdf/URIs/imas-schema.ttl#Idol
http://ja.dbpedia.org/resource/⿇倉ももtakemikamiʼs note ‒ http://takemikami.com/6要するにrdflintで出来ること② 〜主語の存在チェック〜 リンク切れチェック
rdflintで出来ること: 主語の存在チェック のイメージを⽰します<rdf:Description rdf:about="detail/Hakozaki_Serika"><imas:nameKana xml:lang="ja">はこざきせりか</imas:nameKana><schema:name xml:lang="ja">箱崎星梨花</schema:name><foaf:age rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">13</foaf:age><rdf:type rdf:resource="https://sparql.crssnky.xyz/imasrdf/URIs/imas-schema.ttl#Idol"/><imas:cv rdf:resource="http://ja.dbpedia.org/resource/⿇倉もも"/></rdf:Description>

detail/Hakozaki_Serika

imas:nameKana
imas:namefoaf:age

im@sparqlのデータセットで管理されている主語の存在チェック
Copyright (C) Takeshi Mikami. All rights reserved.

rdf:type
imas:cv

はこざきせりか
箱崎星梨花
13
imasrdf/URIs/imas-schema.ttl#Idol
http://ja.dbpedia.org/resource/⿇倉ももtakemikamiʼs note ‒ http://takemikami.com/

7検査の実⾏イメージ検査の実⾏イメージを⽰します
rdflintのダウンロード$ wget https://jitpack.io/com/github/imas/rdflint/0.0.6/rdflint-0.0.6-all.jar

rdflint検査の実⾏

エラー理由$ java -jar rdflint-0.0.6-all.jar -config .circleci/rdflint-config.yml
RDFs/Event.rdf
warn Undefined URI: https://sparql.crssnky.xyz/imasrdf/RDFs/detail/Hakozaki_serika (Triple:
https://sparql.crssnky.xyz/imasrdf/RDFs/detail/765Caravan_2 - http://schema.org/actor https://sparql.crssnky.xyz/imasrdf/RDFs/detail/Hakozaki_serika)
対象ファイル

Copyright (C) Takeshi Mikami. All rights reserved.

※Hakozaki_serika → Hakozaki_Serika (⼤⽂字・⼩⽂字の誤り)

takemikamiʼs note ‒ http://takemikami.com/8

SPARQLのテスト実⾏環境 実⾏イメージ
SPARQLのテスト実⾏環境(インタラクティブモード)の実⾏イメージを⽰す
rdflintインタラクティブモードでのクエリ実⾏$ java -jar rdflint-0.0.6-all.jar -i -config .circleci/rdflint-config.yml
sparql > PREFIX schema: <http://schema.org/>> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>> PREFIX imas: <https://sparql.crssnky.xyz/imasrdf/URIs/imas-schema.ttl#>
クエリ> SELECT ?星梨花の主語> WHERE {> ?星梨花の主語 rdf:type imas:Idol;>
schema:name ?アイドル名.
> filter(contains(?アイドル名,"箱崎星梨花"))>}>-------------------------------------------------------------------実⾏結果| 星梨花の主語|====================================================================| <https://sparql.crssnky.xyz/imasrdf/RDFs/detail/Hakozaki_Serika> |-------------------------------------------------------------------Copyright (C) Takeshi Mikami. All rights reserved.

takemikamiʼs note ‒ http://takemikami.com/9

rdflintで出来ること 〜その他の機能と実装予定〜
rdflintで出来る紹介した以外の機能、今後実装予定の機能を紹介します• RDFファイルとして正しいか紹介済み• 主語の存在チェック• SPARQLのテスト実⾏機能• SPARQLクエリによるカスタムチェック• 主語・トリプルが削除されていないかチェック• RDFファイルの⽣成機能• ⽂字コード、改⾏コードのチェック
実装予定• 数値・⽂字列などのデータ型チェック• 外れ値のチェック
Copyright (C) Takeshi Mikami. All rights reserved.

takemikamiʼs note ‒ http://takemikami.com/

10

まとめ
本Lightning Talkのまとめです• コミュニティでのデータセット作成を運⽤すると、データ作成者・チェック者に、⼿間のかかる確認作業が発⽣• ⼿間がかかる上に、システムの知識も必要• 確認作業は「rdflint」で⽀援・⾃動化出来る• 機械的にチェック出来ることはたくさんあるので機能強化中• まだまだ成⻑途中なんです！です！

• 「rdflint」は「LOCチャレンジ2019 基盤部⾨」に応募
Copyright (C) Takeshi Mikami. All rights reserved.

takemikamiʼs note ‒ http://takemikami.com/11