狠狠撸

狠狠撸Share a Scribd company logo
takemikami?s note ? http://takemikami.com/
搁顿贵チェックツール「谤诲蹿濒颈苍迟」のご绍介
im@sparlのデータセットをコミュニティで運?するために
Copyright (C) Takeshi Mikami. All rights reserved. 1
三上威(アーリース情報技術株式会社 代表) twitter: @takemikami
2019.4.21アイマスハッカソン2019 in 名古屋 (o???o)
尾張だよ?
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
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
発表者の本業を紹介します
takemikami?s note ? http://takemikami.com/
テーマとアジェンダ
? テーマ
? RDFチェックツール「rdflint」の使い?の紹介と仕組みの概要
? アジェンダ
? RDFとトリプル
? rdflintで出来ること
Copyright (C) Takeshi Mikami. All rights reserved. 4
本資料のテーマ、アジェンダを?します
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
takemikami?s note ? http://takemikami.com/
RDFとトリプル
Copyright (C) Takeshi Mikami. All rights reserved. 6
takemikami?s note ? http://takemikami.com/
グラフデータベースのデータモデル
Copyright (C) Takeshi Mikami. All rights reserved. 7
グラフデータベースとLinked Open Data
グラフDBのデータモデルとしてプロパティグラフとトリプルを?します
プロパティグラフ トリプル
主語(Subject) ?的語(Object)
述語(Predicate)
頂点
辺
プロパティ
点、辺、プロパティで構成
点?辺にキー/値ペアのプロパティを持つ
→有向グラフ+プロパティ
主語、述語、?的語の集まりで構成
→?般的な有向グラフ
RDFではこちらの
データモデルを表現する
takemikami?s note ? http://takemikami.com/
トリプルによるデータの表現 グラフ表現
Copyright (C) Takeshi Mikami. All rights reserved. 8
グラフデータベースとLinked Open Data
トリプルによるデータ表現の例を?します
宮沢賢治 岩?県
花巻市
盛岡市
銀河鉄道の夜
ジョバンニ
カムパネルラ
1934年
宮沢賢治
花巻市
盛岡市?誕県
?誕市
著作品 名称
岩?県
県庁
所在地
所属
所属
名称
名称
名称
銀河鉄道の夜名称
初出年
登場?物
登場?物
リソースのURI
リテラル
凡例:
宮沢賢治と
銀河鉄道の夜に関する
データを例として
takemikami?s note ? http://takemikami.com/
トリプルによるデータの表現 関係とリテラル
? リソース間の関係を表現
? リソースに関連する値(リテラル)を表現
Copyright (C) Takeshi Mikami. All rights reserved. 9
グラフデータベースとLinked Open Data
トリプルによるデータ表現の例を?します
宮沢賢治 銀河鉄道の夜
1934年
著作品
銀河鉄道の夜
主語 述語 ?的語
初出年
主語 述語 ?的語
これらの集合が前スライドで?したようなグラフ表現になる
リソースのURI
リテラル
凡例:
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)について説明します
ウェブ上のリソースの
メタデータを記述するための枠組み
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
takemikami?s note ? http://takemikami.com/
rdflintで出来ること
Copyright (C) Takeshi Mikami. All rights reserved. 12
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ファイルとして
正しいかチェック
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のデータセットで
管理されている主語の
存在チェック
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のアイドル定義?ファイルに
アイドル以外が定義されていないかチェックしたい
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> )
チェック結果の表?
※意図的に誤ったデータを追加して確認した結果です。
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 (??字???字の誤り)
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
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インタラクティブモードの開始
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インタラクティブモードでのクエリ実?

More Related Content

搁顿贵チェックツール「谤诲蹿濒颈苍迟」のご绍介

  • 1. takemikami?s note ? http://takemikami.com/ 搁顿贵チェックツール「谤诲蹿濒颈苍迟」のご绍介 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インタラクティブモードでのクエリ実?