SlideShare a Scribd company logo
takemikamiʼs note ‒ http://takemikami.com/
rdflintのvscode拡張の紹介とその実装⽅法
RDF language support via rdflint について
Copyright (C) Takeshi Mikami. All rights reserved. 1
三上 威 - @takemikami
アーリース情報技術株式会社 代表取締役 社⻑
VS Code Meetup #14 - 拡張機能作る、作った編
2021.8.30 @online
takemikamiʼs note ‒ http://takemikami.com/
はじめに
• テーマ
rdflintのvscode拡張の紹介とその実装⽅法
• 内容
• rdflintとvscode拡張の紹介
• rdflintのvscode拡張の実装⽅法
Copyright (C) Takeshi Mikami. All rights reserved. 2
本LTで紹介する内容を説明します
RDF language support via rdflint
https://marketplace.visualstudio.com/items?itemName=takemikami.vscode-rdflint
takemikamiʼs note ‒ http://takemikami.com/
⾃⼰紹介 業務と経歴
• 三上威 (@takemikami)
• データエンジニア・サイエンティスト
• 分析・予測モデル開発・基盤構築 etc
• 対象: マーケティングデータ etc
• 略歴
• 甲南⼤学理学部応⽤数学科 卒
• EC, CRM等のシステム構築 @ NEC系SIer
• ECサイトのマーケティングデータ分析 @ DeNA
• データ分析・予測モデル開発・基盤構築 @アーリース情報技術(株)
Copyright (C) Takeshi Mikami. All rights reserved. 3
発表者のプロフィールを紹介します
※フリーランスの法⼈成り
takemikamiʼs note ‒ http://takemikami.com/
⾃⼰紹介 開発プロダクト/技術同⼈誌
• 開発プロダクト @GitHub
• rdflint
• RDFデータのチェックツール
• https://github.com/imas/rdflint
• digdag-plugin-shresult
• ワークフローエンジン「Digdag」のプラグイン
• シェルスクリプトの標準出⼒を変数に格納するオペレータ
• https://github.com/takemikami/digdag-plugin-shresult
• 技術同⼈誌 @Booth/技術書典
• Apache Airflow ワークフロー プログラミング⼊⾨
• Apache Spark ビッグデータクエリチューニング
• Apache Hadoop & Spark ビッグデータプログラミング⼊⾨
Copyright (C) Takeshi Mikami. All rights reserved. 4
発表者が作成したプロダクト/執筆した同⼈誌を紹介します
https://takemikami.booth.pm/
takemikamiʼs note ‒ http://takemikami.com/
rdflintとvscode拡張の紹介
Copyright (C) Takeshi Mikami. All rights reserved. 5
takemikamiʼs note ‒ http://takemikami.com/
rdflintとは
• 次のチェックが⾃動化出来る
• XML/RDF、Turtle(ttl)ファイルの⽂法チェック
• 未定義の主語が、⽬的語として使われていないかのチェック
• SHACLによるデータ制約に違反していないかチェック
• GitHubでCIを⽤いたデータチェック運⽤にも利⽤可能
Copyright (C) Takeshi Mikami. All rights reserved. 6
rdflintについて説明します
RDFデータの⾃動検査ツール
リポジトリ → https://github.com/imas/rdflint
※RDF(Resource Description Framework): Linked Open Data を記述するための枠組み
takemikamiʼs note ‒ http://takemikami.com/
RDFデータの作成プロセス
• rdflintによるRDFデータの作成プロセスの違いを⽰す
Copyright (C) Takeshi Mikami. All rights reserved. 7
RDFデータの作成プロセス(rdflint有無)を説明します
XML
Turtle
fuseki
等 XML
Turtle
rdflint
ロード
データ作成 データ作成
クエリ実⾏
(SPARQL)
クエリ実⾏
(SPARQL)
ロード
⾃動検査
サーバ構築・データロードの⼿間と知識が必要 →確認作業が簡単できるチェックツールの整備
rdflintがある場合
rdflintが無い場合
takemikamiʼs note ‒ http://takemikami.com/
rdflintのvscode拡張 基本機能
• vscode拡張で、
データ作成の各作業を
vscode内で完結出来る。
• データの作成
• リロード指⽰
• ⾃動チェック実⾏
• クエリ実⾏
Copyright (C) Takeshi Mikami. All rights reserved. 8
rdflintのvscode拡張の基本機能を紹介します
データの作成
リロード指⽰
⾃動チェック実⾏
クエリ実⾏
takemikamiʼs note ‒ http://takemikami.com/
rdflintのvscode拡張 LanguageServer連携機能(Experimental)
• rdflintのLanguage Server機能で
指摘事項をvscodeに連携出来る。
• 右図では次を指摘
• リテラル末尾に空⽂字がある
• 年齢が負の値
Copyright (C) Takeshi Mikami. All rights reserved. 9
rdflintのvscode拡張のLanguageServer連携機能を⽰します
takemikamiʼs note ‒ http://takemikami.com/
rdflintのvscode拡張の実装⽅法
Copyright (C) Takeshi Mikami. All rights reserved. 10
takemikamiʼs note ‒ http://takemikami.com/
TerminalでREPLを動かす実装
• package.jsonにコマンドを定義
• extension.jsにコマンドの処理を実装
Copyright (C) Takeshi Mikami. All rights reserved. 11
TerminalでREPLを動かす場合の実装⽅法を⽰します
"commands": [
{
"command": "rdflint.interactiveMode",
"title": "rdflint interactiveMode: SPARQL playground"
}
],
// rdflint interactive mode startup command
let disposable = vscode.commands.registerCommand('rdflint.interactiveMode', () => {
※省略※
let terminal = vscode.window.createTerminal(`rdflint`, javaHome + javaExe, ['-jar', '' + jar, '-i']);
terminal.show(true);
※省略※
});
context.subscriptions.push(disposable);
Ctrl+Shift+Pメニューに追加
createTerminalでrdflint(Java)を実⾏
commandに処理を登録
takemikamiʼs note ‒ http://takemikami.com/
LanguageClientの利⽤部分実装 1/2
• package.jsonに対象⾔語を定義
• package.jsonに対象⾔語と拡張⼦の対応を定義
Copyright (C) Takeshi Mikami. All rights reserved. 12
LanguageClientの利⽤部分の実装⽅法を⽰します
"activationEvents": [
"onLanguage:turtle",
"onLanguage:rdfxml"
],
"languages": [
{
"id": "rdfxml",
"extensions": [
".rdf"
],
※省略※
},
※省略※
],
rdfxml, turtle形式の時に拡張を利⽤
takemikamiʼs note ‒ http://takemikami.com/
LanguageClientの利⽤部分実装 2/2
• extension.jsでLanguage Serverとクライアントを起動
Copyright (C) Takeshi Mikami. All rights reserved. 13
LanguageClientの利⽤部分の実装⽅法を⽰します
let serverOptions: Executable = {
command: javaHome + javaExe,
args: ['-jar', '' + jar, '-ls']
};
let clientOptions: LanguageClientOptions = {
documentSelector: [
{ scheme: 'file', language: 'turtle' },
{ scheme: 'file', language: 'rdfxml' }
]
};
client = new LanguageClient(
'rdflintLanguageServerExperimental',
'RdfLint Language Server',
serverOptions,
clientOptions
);
client.start();
rdfxml, turtle形式の時にLanguageClientを利⽤
LanguageServerの実⾏
(rdflintを-lsオプション付きで起動)
LanguageClientを開始
(同時にLanguageServerも実⾏される)
takemikamiʼs note ‒ http://takemikami.com/
まとめ
• RDFデータ作成プロセスに課題がある
• 確認作業(サーバを⽴ち上げて、データをロード)に⼿間と知識が必要
• RDFデータ作成プロセスの課題をrdflintで軽減した
• rdflintによって確認作業を簡単にできるようにした
• vscode拡張によって作成〜チェックをvscode内で完結できるようにした
• TerminalでREPLを動かすくらいのvscode拡張は簡単に作成できる
• ⼀連の作業をvscode内で完結させるには簡単な⼿段
Copyright (C) Takeshi Mikami. All rights reserved. 14
本LTのまとめです

More Related Content

PDF
100PBを越えるデータプラットフォームの実情
PDF
ベイジアンネット技術とサービス工学におけるビッグデータ活用技術
PPTX
78th Tokyo.R Radiantによるデータ分析入門
PPTX
Big Data in Healthcare Made Simple: Where It Stands Today and Where It’s Going
PDF
データ解析のための統計モデリング入門 6.5章 後半
PDF
2022年度秋学期 統計学 第4回 データを「分布」で見る (2022. 10. 18)
PDF
2022年度秋学期 統計学 第5回 分布をまとめるー平均・分散 (2022. 10. 25)
PPTX
‏‏‏‏‏‏‏‏‏‏‏‏Chapter 13: Professional Development
100PBを越えるデータプラットフォームの実情
ベイジアンネット技術とサービス工学におけるビッグデータ活用技術
78th Tokyo.R Radiantによるデータ分析入門
Big Data in Healthcare Made Simple: Where It Stands Today and Where It’s Going
データ解析のための統計モデリング入門 6.5章 後半
2022年度秋学期 統計学 第4回 データを「分布」で見る (2022. 10. 18)
2022年度秋学期 統計学 第5回 分布をまとめるー平均・分散 (2022. 10. 25)
‏‏‏‏‏‏‏‏‏‏‏‏Chapter 13: Professional Development

What's hot (12)

PPTX
Collibra : Designing Workflows
PPTX
AESについて 輪講資料
PPTX
Implementing Agile Data Governance
PDF
Data at the Speed of Business with Data Mastering and Governance
PPTX
分散型サイエンスにおけるバイオテックエコシステム.pptx
PDF
Data Governance and Metadata Management
PDF
楽天サービスとインフラ部隊
PDF
楽天のデータサイエンス/AIによるビッグデータ活用
PDF
Responsible AI & Cybersecurity: A tale of two technology risks
PPTX
DeSciの基盤が構築する世界
PDF
2022年度秋学期 統計学 第9回 確からしさを記述するー確率 (2022. 11. 22)
PDF
2022年度秋学期 統計学 第15回 分布についての仮説を検証するー仮説検定(2) (2023. 1. 17)
Collibra : Designing Workflows
AESについて 輪講資料
Implementing Agile Data Governance
Data at the Speed of Business with Data Mastering and Governance
分散型サイエンスにおけるバイオテックエコシステム.pptx
Data Governance and Metadata Management
楽天サービスとインフラ部隊
楽天のデータサイエンス/AIによるビッグデータ活用
Responsible AI & Cybersecurity: A tale of two technology risks
DeSciの基盤が構築する世界
2022年度秋学期 統計学 第9回 確からしさを記述するー確率 (2022. 11. 22)
2022年度秋学期 統計学 第15回 分布についての仮説を検証するー仮説検定(2) (2023. 1. 17)
Ad

Similar to rdflintのvscode拡張の紹介とその実装方法 (20)

PPTX
サーバーレスで ガチ本番運用までやってるお話し
PPTX
技術選択とアーキテクトの役割
PDF
Ruby開発者のためのHeroku入門
PDF
RDFチェックツール「rdflint」のご紹介 (LODチャレンジ2019受賞作品紹介 基盤技術部門優秀賞)
PDF
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
PDF
第9回しゃちほこオラクル倶楽部
PDF
DeNA流cocos2d xとの付き合い方
PPTX
Japan Container Day 2018
PDF
おすすめインフラ! for スタートアップ
PDF
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
PDF
20170809 AWS code series
PDF
第九回中国地方DB勉強会 in 米子 MySQL 5.7+
PDF
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
PDF
Try IoT with Node-RED
PDF
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
PPTX
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
PDF
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
PDF
RUNNING Smalltalk - 実践Smalltalk
PPTX
Mbed祭り 2017@春の新横浜 20170225 竹之下
PPTX
Testing and packaging WebRTC Stack
サーバーレスで ガチ本番運用までやってるお話し
技術選択とアーキテクトの役割
Ruby開発者のためのHeroku入門
RDFチェックツール「rdflint」のご紹介 (LODチャレンジ2019受賞作品紹介 基盤技術部門優秀賞)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
第9回しゃちほこオラクル倶楽部
DeNA流cocos2d xとの付き合い方
Japan Container Day 2018
おすすめインフラ! for スタートアップ
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
20170809 AWS code series
第九回中国地方DB勉強会 in 米子 MySQL 5.7+
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Try IoT with Node-RED
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
今注目のSpark SQL、知っておきたいその性能とは 20151209 OSC Enterprise
RUNNING Smalltalk - 実践Smalltalk
Mbed祭り 2017@春の新横浜 20170225 竹之下
Testing and packaging WebRTC Stack
Ad

More from Takeshi Mikami (20)

PDF
適切なクラスタ数を機械的に求める手法の紹介
PDF
OAuth 2.0による認可の流れ
PDF
MapReduceによるConnected Components(連結成分)の見つけ方
PDF
データサイエンスアイドル「小日向美穂」と考える「つながり」
PDF
RDFのチェックツール「rdflint」と コミュニティによるオープンデータの作成
PDF
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
PDF
GitHubの機能を活用したGitHub Flowによる開発の進め方
PDF
HBase CompleteBulkLoadその仕組み&発生した問題
PDF
RDFチェックツール「rdflint」のご紹介
PDF
アーリース情報技術株式会社 会社案内 (2019/02/13)
PDF
Spark MLlib ML Pipelines の概要 及びpysparkからの扱い方
PDF
SPARQL入門
PDF
センサーによるデータ計測と異常検知の基本
PDF
Webサイトのアクセスログによるユーザー属性推定
PDF
Google Cloud Dataflowによる データ変換処理入門
PDF
IoTでの機械学習活用イメージと強化学習のご紹介
PDF
協調フィルタリング・アソシエーション分析によるレコメンド手法の紹介
PDF
SparkMLlibで始めるビッグデータを対象とした機械学習入門
PDF
Ims@sparqlではじめるr markdownとgitbookによるレポート生成
PDF
レコメンドアルゴリズムの基本と周辺知識と実装方法
適切なクラスタ数を機械的に求める手法の紹介
OAuth 2.0による認可の流れ
MapReduceによるConnected Components(連結成分)の見つけ方
データサイエンスアイドル「小日向美穂」と考える「つながり」
RDFのチェックツール「rdflint」と コミュニティによるオープンデータの作成
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
GitHubの機能を活用したGitHub Flowによる開発の進め方
HBase CompleteBulkLoadその仕組み&発生した問題
RDFチェックツール「rdflint」のご紹介
アーリース情報技術株式会社 会社案内 (2019/02/13)
Spark MLlib ML Pipelines の概要 及びpysparkからの扱い方
SPARQL入門
センサーによるデータ計測と異常検知の基本
Webサイトのアクセスログによるユーザー属性推定
Google Cloud Dataflowによる データ変換処理入門
IoTでの機械学習活用イメージと強化学習のご紹介
協調フィルタリング・アソシエーション分析によるレコメンド手法の紹介
SparkMLlibで始めるビッグデータを対象とした機械学習入門
Ims@sparqlではじめるr markdownとgitbookによるレポート生成
レコメンドアルゴリズムの基本と周辺知識と実装方法

rdflintのvscode拡張の紹介とその実装方法

  • 1. takemikamiʼs note ‒ http://takemikami.com/ rdflintのvscode拡張の紹介とその実装⽅法 RDF language support via rdflint について Copyright (C) Takeshi Mikami. All rights reserved. 1 三上 威 - @takemikami アーリース情報技術株式会社 代表取締役 社⻑ VS Code Meetup #14 - 拡張機能作る、作った編 2021.8.30 @online
  • 2. takemikamiʼs note ‒ http://takemikami.com/ はじめに • テーマ rdflintのvscode拡張の紹介とその実装⽅法 • 内容 • rdflintとvscode拡張の紹介 • rdflintのvscode拡張の実装⽅法 Copyright (C) Takeshi Mikami. All rights reserved. 2 本LTで紹介する内容を説明します RDF language support via rdflint https://marketplace.visualstudio.com/items?itemName=takemikami.vscode-rdflint
  • 3. takemikamiʼs note ‒ http://takemikami.com/ ⾃⼰紹介 業務と経歴 • 三上威 (@takemikami) • データエンジニア・サイエンティスト • 分析・予測モデル開発・基盤構築 etc • 対象: マーケティングデータ etc • 略歴 • 甲南⼤学理学部応⽤数学科 卒 • EC, CRM等のシステム構築 @ NEC系SIer • ECサイトのマーケティングデータ分析 @ DeNA • データ分析・予測モデル開発・基盤構築 @アーリース情報技術(株) Copyright (C) Takeshi Mikami. All rights reserved. 3 発表者のプロフィールを紹介します ※フリーランスの法⼈成り
  • 4. takemikamiʼs note ‒ http://takemikami.com/ ⾃⼰紹介 開発プロダクト/技術同⼈誌 • 開発プロダクト @GitHub • rdflint • RDFデータのチェックツール • https://github.com/imas/rdflint • digdag-plugin-shresult • ワークフローエンジン「Digdag」のプラグイン • シェルスクリプトの標準出⼒を変数に格納するオペレータ • https://github.com/takemikami/digdag-plugin-shresult • 技術同⼈誌 @Booth/技術書典 • Apache Airflow ワークフロー プログラミング⼊⾨ • Apache Spark ビッグデータクエリチューニング • Apache Hadoop & Spark ビッグデータプログラミング⼊⾨ Copyright (C) Takeshi Mikami. All rights reserved. 4 発表者が作成したプロダクト/執筆した同⼈誌を紹介します https://takemikami.booth.pm/
  • 5. takemikamiʼs note ‒ http://takemikami.com/ rdflintとvscode拡張の紹介 Copyright (C) Takeshi Mikami. All rights reserved. 5
  • 6. takemikamiʼs note ‒ http://takemikami.com/ rdflintとは • 次のチェックが⾃動化出来る • XML/RDF、Turtle(ttl)ファイルの⽂法チェック • 未定義の主語が、⽬的語として使われていないかのチェック • SHACLによるデータ制約に違反していないかチェック • GitHubでCIを⽤いたデータチェック運⽤にも利⽤可能 Copyright (C) Takeshi Mikami. All rights reserved. 6 rdflintについて説明します RDFデータの⾃動検査ツール リポジトリ → https://github.com/imas/rdflint ※RDF(Resource Description Framework): Linked Open Data を記述するための枠組み
  • 7. takemikamiʼs note ‒ http://takemikami.com/ RDFデータの作成プロセス • rdflintによるRDFデータの作成プロセスの違いを⽰す Copyright (C) Takeshi Mikami. All rights reserved. 7 RDFデータの作成プロセス(rdflint有無)を説明します XML Turtle fuseki 等 XML Turtle rdflint ロード データ作成 データ作成 クエリ実⾏ (SPARQL) クエリ実⾏ (SPARQL) ロード ⾃動検査 サーバ構築・データロードの⼿間と知識が必要 →確認作業が簡単できるチェックツールの整備 rdflintがある場合 rdflintが無い場合
  • 8. takemikamiʼs note ‒ http://takemikami.com/ rdflintのvscode拡張 基本機能 • vscode拡張で、 データ作成の各作業を vscode内で完結出来る。 • データの作成 • リロード指⽰ • ⾃動チェック実⾏ • クエリ実⾏ Copyright (C) Takeshi Mikami. All rights reserved. 8 rdflintのvscode拡張の基本機能を紹介します データの作成 リロード指⽰ ⾃動チェック実⾏ クエリ実⾏
  • 9. takemikamiʼs note ‒ http://takemikami.com/ rdflintのvscode拡張 LanguageServer連携機能(Experimental) • rdflintのLanguage Server機能で 指摘事項をvscodeに連携出来る。 • 右図では次を指摘 • リテラル末尾に空⽂字がある • 年齢が負の値 Copyright (C) Takeshi Mikami. All rights reserved. 9 rdflintのvscode拡張のLanguageServer連携機能を⽰します
  • 10. takemikamiʼs note ‒ http://takemikami.com/ rdflintのvscode拡張の実装⽅法 Copyright (C) Takeshi Mikami. All rights reserved. 10
  • 11. takemikamiʼs note ‒ http://takemikami.com/ TerminalでREPLを動かす実装 • package.jsonにコマンドを定義 • extension.jsにコマンドの処理を実装 Copyright (C) Takeshi Mikami. All rights reserved. 11 TerminalでREPLを動かす場合の実装⽅法を⽰します "commands": [ { "command": "rdflint.interactiveMode", "title": "rdflint interactiveMode: SPARQL playground" } ], // rdflint interactive mode startup command let disposable = vscode.commands.registerCommand('rdflint.interactiveMode', () => { ※省略※ let terminal = vscode.window.createTerminal(`rdflint`, javaHome + javaExe, ['-jar', '' + jar, '-i']); terminal.show(true); ※省略※ }); context.subscriptions.push(disposable); Ctrl+Shift+Pメニューに追加 createTerminalでrdflint(Java)を実⾏ commandに処理を登録
  • 12. takemikamiʼs note ‒ http://takemikami.com/ LanguageClientの利⽤部分実装 1/2 • package.jsonに対象⾔語を定義 • package.jsonに対象⾔語と拡張⼦の対応を定義 Copyright (C) Takeshi Mikami. All rights reserved. 12 LanguageClientの利⽤部分の実装⽅法を⽰します "activationEvents": [ "onLanguage:turtle", "onLanguage:rdfxml" ], "languages": [ { "id": "rdfxml", "extensions": [ ".rdf" ], ※省略※ }, ※省略※ ], rdfxml, turtle形式の時に拡張を利⽤
  • 13. takemikamiʼs note ‒ http://takemikami.com/ LanguageClientの利⽤部分実装 2/2 • extension.jsでLanguage Serverとクライアントを起動 Copyright (C) Takeshi Mikami. All rights reserved. 13 LanguageClientの利⽤部分の実装⽅法を⽰します let serverOptions: Executable = { command: javaHome + javaExe, args: ['-jar', '' + jar, '-ls'] }; let clientOptions: LanguageClientOptions = { documentSelector: [ { scheme: 'file', language: 'turtle' }, { scheme: 'file', language: 'rdfxml' } ] }; client = new LanguageClient( 'rdflintLanguageServerExperimental', 'RdfLint Language Server', serverOptions, clientOptions ); client.start(); rdfxml, turtle形式の時にLanguageClientを利⽤ LanguageServerの実⾏ (rdflintを-lsオプション付きで起動) LanguageClientを開始 (同時にLanguageServerも実⾏される)
  • 14. takemikamiʼs note ‒ http://takemikami.com/ まとめ • RDFデータ作成プロセスに課題がある • 確認作業(サーバを⽴ち上げて、データをロード)に⼿間と知識が必要 • RDFデータ作成プロセスの課題をrdflintで軽減した • rdflintによって確認作業を簡単にできるようにした • vscode拡張によって作成〜チェックをvscode内で完結できるようにした • TerminalでREPLを動かすくらいのvscode拡張は簡単に作成できる • ⼀連の作業をvscode内で完結させるには簡単な⼿段 Copyright (C) Takeshi Mikami. All rights reserved. 14 本LTのまとめです