Submit Search
Upload
RDFチェックツール「rdflint」のご紹介
•
2 likes
•
913 views
Takeshi Mikami
Follow
RDFチェックツール「rdflint」の使い方 ・RDFとトリプル ・rdflintで出来ること
Read less
Read more
Internet
Report
Share
Report
Share
1 of 20
Download now
Download to read offline
Recommended
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
Norishige Fukushima
例外設計における大罪
例外設計における大罪
Takuto Wada
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Koichi Tanaka
ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計
ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計
Hironori Washizaki
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
Recommended
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
Norishige Fukushima
例外設計における大罪
例外設計における大罪
Takuto Wada
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Koichi Tanaka
ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計
ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計
Hironori Washizaki
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
株式会社MonotaRO Tech Team
Oss貢献超入門
Oss貢献超入門
Michihito Shigemura
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
Daisuke Morishita
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
SPAのルーティングの話
SPAのルーティングの話
ushiboy
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
できる!並列・並行プログラミング
できる!並列・並行プログラミング
Preferred Networks
研究効率化Tips Ver.2
研究効率化Tips Ver.2
cvpaper. challenge
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
マスターデータの キャッシュシステムの改善の話
マスターデータの キャッシュシステムの改善の話
natsumi_ishizaka
Glibc malloc internal
Glibc malloc internal
Motohiro KOSAKI
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Shuto Suzuki
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
オントロジーとは?
オントロジーとは?
Kouji Kozaki
【修正版】Django + SQLAlchemy: シンプルWay
【修正版】Django + SQLAlchemy: シンプルWay
Takayuki Shimizukawa
グラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみた
CData Software Japan
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
Shota Imai
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
RDFのチェックツール「rdflint」とコミュニティによるオープンデータの作成
RDFのチェックツール「rdflint」とコミュニティによるオープンデータの作成
Takeshi Mikami
Ims@sparqlではじめるr markdownとgitbookによるレポート生成
Ims@sparqlではじめるr markdownとgitbookによるレポート生成
Takeshi Mikami
More Related Content
What's hot
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
株式会社MonotaRO Tech Team
Oss貢献超入門
Oss貢献超入門
Michihito Shigemura
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
Daisuke Morishita
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
SPAのルーティングの話
SPAのルーティングの話
ushiboy
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
できる!並列・並行プログラミング
できる!並列・並行プログラミング
Preferred Networks
研究効率化Tips Ver.2
研究効率化Tips Ver.2
cvpaper. challenge
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
マスターデータの キャッシュシステムの改善の話
マスターデータの キャッシュシステムの改善の話
natsumi_ishizaka
Glibc malloc internal
Glibc malloc internal
Motohiro KOSAKI
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Shuto Suzuki
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
オントロジーとは?
オントロジーとは?
Kouji Kozaki
【修正版】Django + SQLAlchemy: シンプルWay
【修正版】Django + SQLAlchemy: シンプルWay
Takayuki Shimizukawa
グラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみた
CData Software Japan
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
Shota Imai
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
What's hot
(20)
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
Oss貢献超入門
Oss貢献超入門
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
SPAのルーティングの話
SPAのルーティングの話
Pythonによる黒魔術入門
Pythonによる黒魔術入門
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
できる!並列・並行プログラミング
できる!並列・並行プログラミング
研究効率化Tips Ver.2
研究効率化Tips Ver.2
Redisの特徴と活用方法について
Redisの特徴と活用方法について
マスターデータの キャッシュシステムの改善の話
マスターデータの キャッシュシステムの改善の話
Glibc malloc internal
Glibc malloc internal
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しよう
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
オントロジーとは?
オントロジーとは?
【修正版】Django + SQLAlchemy: シンプルWay
【修正版】Django + SQLAlchemy: シンプルWay
グラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみた
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
Similar to RDFチェックツール「rdflint」のご紹介
RDFのチェックツール「rdflint」とコミュニティによるオープンデータの作成
RDFのチェックツール「rdflint」とコミュニティによるオープンデータの作成
Takeshi Mikami
Ims@sparqlではじめるr markdownとgitbookによるレポート生成
Ims@sparqlではじめるr markdownとgitbookによるレポート生成
Takeshi Mikami
RDFチェックツール「rdflint」のご紹介 (LODチャレンジ2019受賞作品紹介 基盤技術部門優秀賞)
RDFチェックツール「rdflint」のご紹介 (LODチャレンジ2019受賞作品紹介 基盤技術部門優秀賞)
Takeshi Mikami
Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016
Tatsuya Atsumi
Feature Store in DRIVE CHART
Feature Store in DRIVE CHART
emakryo
Web技術勉強会 20100424
Web技術勉強会 20100424
guest17bfe2
Web技術勉強会 20100424
Web技術勉強会 20100424
龍一 田中
ひよこさんのための
ひよこさんのための
cocoa_dahlia
JSON-LD schema.org定義によるデータ構造化のススメ
JSON-LD schema.org定義によるデータ構造化のススメ
Takami Kazuya
rdflintのvscode拡張の紹介とその実装方法
rdflintのvscode拡張の紹介とその実装方法
Takeshi Mikami
Ogura LOD at code4lib_20180901
Ogura LOD at code4lib_20180901
Nanako Takahashi
最近のTremaを触ってみてちょっとはまったこととか
最近のTremaを触ってみてちょっとはまったこととか
M Hagiwara
アグリゲート・コンピューティング風IoTでの戦い方
アグリゲート・コンピューティング風IoTでの戦い方
Takeshi Mikami
Spark SQL - The internal -
Spark SQL - The internal -
NTT DATA OSS Professional Services
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
LINE Corp.
データカタログソフトウェア CKAN
データカタログソフトウェア CKAN
Fumihiro Kato
Im@sparqlを作った理由(ワケ)
Im@sparqlを作った理由(ワケ)
crssnky
Spring Framework / Boot / Data 徹底活用 〜Spring Data Redis 編〜
Spring Framework / Boot / Data 徹底活用 〜Spring Data Redis 編〜
Naohiro Yoshida
Power platform day summer 19
Power platform day summer 19
ssuser6e9dab
趙簡単LOD入門 〜デジタル庁をデジタル化する〜 (改訂版)
趙簡単LOD入門 〜デジタル庁をデジタル化する〜 (改訂版)
National Institute of Informatics (NII)
Similar to RDFチェックツール「rdflint」のご紹介
(20)
RDFのチェックツール「rdflint」とコミュニティによるオープンデータの作成
RDFのチェックツール「rdflint」とコミュニティによるオープンデータの作成
Ims@sparqlではじめるr markdownとgitbookによるレポート生成
Ims@sparqlではじめるr markdownとgitbookによるレポート生成
RDFチェックツール「rdflint」のご紹介 (LODチャレンジ2019受賞作品紹介 基盤技術部門優秀賞)
RDFチェックツール「rdflint」のご紹介 (LODチャレンジ2019受賞作品紹介 基盤技術部門優秀賞)
Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016
Feature Store in DRIVE CHART
Feature Store in DRIVE CHART
Web技術勉強会 20100424
Web技術勉強会 20100424
Web技術勉強会 20100424
Web技術勉強会 20100424
ひよこさんのための
ひよこさんのための
JSON-LD schema.org定義によるデータ構造化のススメ
JSON-LD schema.org定義によるデータ構造化のススメ
rdflintのvscode拡張の紹介とその実装方法
rdflintのvscode拡張の紹介とその実装方法
Ogura LOD at code4lib_20180901
Ogura LOD at code4lib_20180901
最近のTremaを触ってみてちょっとはまったこととか
最近のTremaを触ってみてちょっとはまったこととか
アグリゲート・コンピューティング風IoTでの戦い方
アグリゲート・コンピューティング風IoTでの戦い方
Spark SQL - The internal -
Spark SQL - The internal -
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
データカタログソフトウェア CKAN
データカタログソフトウェア CKAN
Im@sparqlを作った理由(ワケ)
Im@sparqlを作った理由(ワケ)
Spring Framework / Boot / Data 徹底活用 〜Spring Data Redis 編〜
Spring Framework / Boot / Data 徹底活用 〜Spring Data Redis 編〜
Power platform day summer 19
Power platform day summer 19
趙簡単LOD入門 〜デジタル庁をデジタル化する〜 (改訂版)
趙簡単LOD入門 〜デジタル庁をデジタル化する〜 (改訂版)
More from Takeshi Mikami
適切なクラスタ数を機械的に求める手法の紹介
適切なクラスタ数を機械的に求める手法の紹介
Takeshi Mikami
OAuth 2.0による認可の流れ
OAuth 2.0による認可の流れ
Takeshi Mikami
MapReduceによるConnected Components(連結成分)の見つけ方
MapReduceによるConnected Components(連結成分)の見つけ方
Takeshi Mikami
データサイエンスアイドル「小日向美穂」と考える「つながり」
データサイエンスアイドル「小日向美穂」と考える「つながり」
Takeshi Mikami
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
Takeshi Mikami
GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方
Takeshi Mikami
HBase CompleteBulkLoadその仕組み&発生した問題
HBase CompleteBulkLoadその仕組み&発生した問題
Takeshi Mikami
アーリース情報技術株式会社 会社案内 (2019/02/13)
アーリース情報技術株式会社 会社案内 (2019/02/13)
Takeshi Mikami
Spark MLlib ML Pipelines の概要 及びpysparkからの扱い方
Spark MLlib ML Pipelines の概要 及びpysparkからの扱い方
Takeshi Mikami
SPARQL入門
SPARQL入門
Takeshi Mikami
センサーによるデータ計測と異常検知の基本
センサーによるデータ計測と異常検知の基本
Takeshi Mikami
Webサイトのアクセスログによるユーザー属性推定
Webサイトのアクセスログによるユーザー属性推定
Takeshi Mikami
Google Cloud Dataflowによる データ変換処理入門
Google Cloud Dataflowによる データ変換処理入門
Takeshi Mikami
IoTでの機械学習活用イメージと強化学習のご紹介
IoTでの機械学習活用イメージと強化学習のご紹介
Takeshi Mikami
協調フィルタリング・アソシエーション分析によるレコメンド手法の紹介
協調フィルタリング・アソシエーション分析によるレコメンド手法の紹介
Takeshi Mikami
SparkMLlibで始めるビッグデータを対象とした機械学習入門
SparkMLlibで始めるビッグデータを対象とした機械学習入門
Takeshi Mikami
レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法
Takeshi Mikami
担当アイドルに反応してLチカさせる予測モデル開発
担当アイドルに反応してLチカさせる予測モデル開発
Takeshi Mikami
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
Takeshi Mikami
Apache Hbase バルクロードの使い方
Apache Hbase バルクロードの使い方
Takeshi Mikami
More from Takeshi Mikami
(20)
適切なクラスタ数を機械的に求める手法の紹介
適切なクラスタ数を機械的に求める手法の紹介
OAuth 2.0による認可の流れ
OAuth 2.0による認可の流れ
MapReduceによるConnected Components(連結成分)の見つけ方
MapReduceによるConnected Components(連結成分)の見つけ方
データサイエンスアイドル「小日向美穂」と考える「つながり」
データサイエンスアイドル「小日向美穂」と考える「つながり」
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方
HBase CompleteBulkLoadその仕組み&発生した問題
HBase CompleteBulkLoadその仕組み&発生した問題
アーリース情報技術株式会社 会社案内 (2019/02/13)
アーリース情報技術株式会社 会社案内 (2019/02/13)
Spark MLlib ML Pipelines の概要 及びpysparkからの扱い方
Spark MLlib ML Pipelines の概要 及びpysparkからの扱い方
SPARQL入門
SPARQL入門
センサーによるデータ計測と異常検知の基本
センサーによるデータ計測と異常検知の基本
Webサイトのアクセスログによるユーザー属性推定
Webサイトのアクセスログによるユーザー属性推定
Google Cloud Dataflowによる データ変換処理入門
Google Cloud Dataflowによる データ変換処理入門
IoTでの機械学習活用イメージと強化学習のご紹介
IoTでの機械学習活用イメージと強化学習のご紹介
協調フィルタリング・アソシエーション分析によるレコメンド手法の紹介
協調フィルタリング・アソシエーション分析によるレコメンド手法の紹介
SparkMLlibで始めるビッグデータを対象とした機械学習入門
SparkMLlibで始めるビッグデータを対象とした機械学習入門
レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法
担当アイドルに反応してLチカさせる予測モデル開発
担当アイドルに反応してLチカさせる予測モデル開発
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
Apache Hbase バルクロードの使い方
Apache Hbase バルクロードの使い方
RDFチェックツール「rdflint」のご紹介
1.
takemikamiʼs note ‒
http://takemikami.com/ RDFチェックツール「rdflint」のご紹介 im@sparlのデータセットをコミュニティで運⽤するために Copyright (C) Takeshi Mikami. All rights reserved. 1 三上威(アーリース情報技術株式会社 代表) twitter: @takemikami 2019.4.21アイマスハッカソン2019 in 名古屋 (o・∇・o) 尾張だよ〜
2.
takemikamiʼs note ‒
http://takemikami.com/ 副業紹介 • みかみんP (@takemikamas) • フリーランスITエンジニア • データ分析及び機械学習等の応⽤システム開発 • マーケティングデータ分析基盤のシステム開発 • 略歴 • 情報通信ネットワーク・確率論 @ 甲南⼤学理学部応⽤数学科 • EC, CRM等のシステム開発・構築 @ NEC系SIer • 旅⾏系ECサイトのマーケティングデータ分析 @ DeNA • データ分析及び機械学習等の応⽤システム開発 @ アーリース情報技術(株) • 最近扱っている技術領域 • GCP, Hadoop, SparkMLlib, Python, R, TensorFlow/Keras Copyright (C) Takeshi Mikami. All rights reserved. 2 発表者のプロフィールを紹介します P
3.
takemikamiʼs note ‒
http://takemikami.com/ 本業紹介 • 担当 • 765AS: 萩原雪歩 • ミリオン: 箱崎星梨花 • デレマス: ⼩⽇向美穂 • IM@Study関連 • 何つながりなのかな?を探る⾃然⾔語処理 〜765PRO LIVE THEATERに通りがかる⼩⽇向美穂〜 @週刊IM@Study 2019年5⽉ • ima@sparqlではじめるR Markdownとgitbookによるレポート⽣成 @2017.9.2 あいますえんじにあ Meetup in 京都 • 担当アイドルに反応してLチカさせる予測モデル開発 @2017.5.17 アイマスエンジニア MeetUp In Tokyo • RDFファイルの⾃動検査ツール https://github.com/imas/rdflint Copyright (C) Takeshi Mikami. All rights reserved. 3 発表者の本業を紹介します
4.
takemikamiʼs note ‒
http://takemikami.com/ テーマとアジェンダ • テーマ • RDFチェックツール「rdflint」の使い⽅の紹介と仕組みの概要 • アジェンダ • RDFとトリプル • rdflintで出来ること Copyright (C) Takeshi Mikami. All rights reserved. 4 本資料のテーマ、アジェンダを⽰します
5.
takemikamiʼs note ‒
http://takemikami.com/ rdflintとは • 以下のチェックが⾃動化出来る • RDF、Turtle(ttl)ファイルの⽂法チェック • 未定義の主語が、⽬的語として使われていないかのチェック • SPARQLクエリによるカスタムチェック • CIに組み込んでPullRequestによるマスターデータ運⽤に利⽤可能 • Apache Jenaを利⽤して実装されている Copyright (C) Takeshi Mikami. All rights reserved. 5 RDFファイルの⾃動検査ツール リポジトリ → https://github.com/imas/rdflint
6.
takemikamiʼs note ‒
http://takemikami.com/ RDFとトリプル Copyright (C) Takeshi Mikami. All rights reserved. 6
7.
takemikamiʼs note ‒
http://takemikami.com/ グラフデータベースのデータモデル Copyright (C) Takeshi Mikami. All rights reserved. 7 グラフデータベースとLinked Open Data グラフDBのデータモデルとしてプロパティグラフとトリプルを⽰します プロパティグラフ トリプル 主語(Subject) ⽬的語(Object) 述語(Predicate) 頂点 辺 プロパティ 点、辺、プロパティで構成 点・辺にキー/値ペアのプロパティを持つ →有向グラフ+プロパティ 主語、述語、⽬的語の集まりで構成 →⼀般的な有向グラフ RDFではこちらの データモデルを表現する
8.
takemikamiʼs note ‒
http://takemikami.com/ トリプルによるデータの表現 グラフ表現 Copyright (C) Takeshi Mikami. All rights reserved. 8 グラフデータベースとLinked Open Data トリプルによるデータ表現の例を⽰します 宮沢賢治 岩⼿県 花巻市 盛岡市 銀河鉄道の夜 ジョバンニ カムパネルラ 1934年 宮沢賢治 花巻市 盛岡市⽣誕県 ⽣誕市 著作品 名称 岩⼿県 県庁 所在地 所属 所属 名称 名称 名称 銀河鉄道の夜名称 初出年 登場⼈物 登場⼈物 リソースのURI リテラル 凡例: 宮沢賢治と 銀河鉄道の夜に関する データを例として
9.
takemikamiʼs note ‒
http://takemikami.com/ トリプルによるデータの表現 関係とリテラル • リソース間の関係を表現 • リソースに関連する値(リテラル)を表現 Copyright (C) Takeshi Mikami. All rights reserved. 9 グラフデータベースとLinked Open Data トリプルによるデータ表現の例を⽰します 宮沢賢治 銀河鉄道の夜 1934年 著作品 銀河鉄道の夜 主語 述語 ⽬的語 初出年 主語 述語 ⽬的語 これらの集合が前スライドで⽰したようなグラフ表現になる リソースのURI リテラル 凡例:
10.
takemikamiʼs note ‒
http://takemikami.com/ Resource Description Framework (RDF) • 主語・述語・⽬的語かのセット(=トリプル)を記述できる • 必要に応じて、RDFスキーマで語彙を拡張できる • 語彙には、述語に使⽤されるものや、リソースのクラスを⽰すものがある • SPARQL(SPARQL Protocol and RDF Query Language)などのクエリ⾔ 語で問い合わせが出来る Copyright (C) Takeshi Mikami. All rights reserved. 10 グラフデータベースとLinked Open Data Resource Description Framework(RDF)について説明します ウェブ上のリソースの メタデータを記述するための枠組み
11.
takemikamiʼs note ‒
http://takemikami.com/ RDFファイルの例 Copyright (C) Takeshi Mikami. All rights reserved. 11 箱崎星梨花に関する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 http://ja.dbpedia.org/resource/⿇倉もも はこざきせりか imasrdf/URIs/imas-schema.ttl#Idol 箱崎星梨花 13 imas:nameKana imas:name foaf:age rdf:type imas:cv
12.
takemikamiʼs note ‒
http://takemikami.com/ rdflintで出来ること Copyright (C) Takeshi Mikami. All rights reserved. 12
13.
takemikamiʼs note ‒
http://takemikami.com/ rdflintで出来ること① 〜RDFファイルとして正しいか〜 Copyright (C) Takeshi Mikami. All rights reserved. 13 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 http://ja.dbpedia.org/resource/⿇倉もも はこざきせりか imasrdf/URIs/imas-schema.ttl#Idol 箱崎星梨花 13 imas:nameKana imas:name foaf:age rdf:type imas:cv RDFファイルとして 正しいかチェック
14.
takemikamiʼs note ‒
http://takemikami.com/ rdflintで出来ること② 〜主語の存在チェック〜 Copyright (C) Takeshi Mikami. All rights reserved. 14 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 http://ja.dbpedia.org/resource/⿇倉もも はこざきせりか imasrdf/URIs/imas-schema.ttl#Idol 箱崎星梨花 13 imas:nameKana imas:name foaf:age rdf:type imas:cv im@sparqlのデータセットで 管理されている主語の 存在チェック im@sparqlのデータセットで 管理されている主語の 存在チェック im@sparqlのデータセットで 管理されている主語の 存在チェック im@sparqlのデータセットで 管理されている主語の 存在チェック
15.
takemikamiʼs note ‒
http://takemikami.com/ rdflintで出来ること③ 〜SPARQLクエリによるチェック〜 Copyright (C) Takeshi Mikami. All rights reserved. 15 rdflintで出来ること: SPARQLクエリによるカスタムチェック のイメージを⽰します PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT ?s ?o WHERE { ?s rdf:type ?o . FILTER NOT EXISTS { ?s rdf:type <https://sparql.crssnky.xyz/imasrdf/URIs/imas-schema.ttl#Idol> } } チェック⽤SPARQLクエリ rdf:typeが「imasrdf/URIs/imas-schema.ttl#Idol」以外 の主語・述語を返却するクエリ 対象ファイル: RDFs/765AS.rdf 765ASのメンバを定義するファイル やりたいこと: 765ASのアイドル定義⽤ファイルに アイドル以外が定義されていないかチェックしたい
16.
takemikamiʼs note ‒
http://takemikami.com/ rdflintで出来ること③ 〜SPARQLクエリによるチェック〜 Copyright (C) Takeshi Mikami. All rights reserved. 16 rdflintで出来ること: SPARQLクエリによるカスタムチェック のイメージを⽰します while(rs.hasNext()) { log.warn("アイドル以外の定義があります " + rs.next()) } クエリ結果を警告として出⼒するスクリプト(groovy) RDFs/765AS.rdf warn アイドル定義⽤ファイル: アイドル以外の定義があります ( ?o = <https://schema.org/MusicRecording> ) ( ?s = <https://sparql.crssnky.xyz/imasrdf/RDFs/detail/%E9%AD%94%E6%B3%95%E3%82%92%E3%81%8B%E3% 81%91%E3%81%A6%21%20%28M%40STER%20VERSION%29_01> ) チェック結果の表⽰ ※意図的に誤ったデータを追加して確認した結果です。
17.
takemikamiʼs note ‒
http://takemikami.com/ 検査の実⾏イメージ Copyright (C) Takeshi Mikami. All rights reserved. 17 検査の実⾏イメージを⽰します $ wget https://jitpack.io/com/github/imas/rdflint/0.0.4/rdflint-0.0.4-all.jar rdflintのダウンロード $ java -jar rdflint-0.0.4-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) rdflint検査の実⾏ 対象ファイル エラー理由 ※Hakozaki_serika → Hakozaki_Serika (⼤⽂字・⼩⽂字の誤り)
18.
takemikamiʼs note ‒
http://takemikami.com/ SPARQLクエリによるチェックの設定イメージ Copyright (C) Takeshi Mikami. All rights reserved. 18 SPARQLクエリによるチェックの設定イメージを⽰します baseUri: https://sparql.crssnky.xyz/imasrdf/ rules: - name: アイドル定義⽤ファイル target: "RDFs/765AS.rdf" query: | PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT ?s ?o WHERE { ?s rdf:type ?o . FILTER NOT EXISTS { ?s rdf:type <https://sparql.crssnky.xyz/imasrdf/URIs/imas-schema.ttl#Idol> } } valid: | while(rs.hasNext()) { log.warn("アイドル以外の定義があります " + rs.next()) } 設定ファイル: .circleci/rdflint-config.yml
19.
takemikamiʼs note ‒
http://takemikami.com/ インタラクティブモード • コマンドラインでローカルにあるRDFファイルにSPARQL実⾏が出来る Copyright (C) Takeshi Mikami. All rights reserved. 19 インタラクティブモードを紹介します $ wget https://jitpack.io/com/github/imas/rdflint/0.0.4/rdflint-0.0.4-all.jar rdflintのダウンロード $ java -jar rdflint-0.0.4-all.jar -i -config .circleci/rdflint-config.yml sparql > rdflintインタラクティブモードの開始
20.
takemikamiʼs note ‒
http://takemikami.com/ インタラクティブモードの実⾏イメージ Copyright (C) Takeshi Mikami. All rights reserved. 20 インタラクティブモードの実⾏イメージを⽰す $ java -jar rdflint-0.0.4-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> | -------------------------------------------------------------------- rdflintインタラクティブモードでのクエリ実⾏
Download now