Snorql — 複数の SPARQL エンドポイントを手軽に探索できるブラウザ UI を公開しました

Snorql — A Browser-Based UI for Exploring Multiple SPARQL Endpoints https://nakamura196.github.io/snorql/ はじめに / Introduction SPARQL エンドポイントを手軽に試せるツールが欲しい ── そう思ったことはありませんか? Have you ever wanted a quick, easy way to try out SPARQL endpoints? SPARQL は Linked Open Data (LOD) を検索するための標準クエリ言語ですが、エンドポイントごとに UI が異なったり、そもそも UI が用意されていなかったりします。そこで、1 つの統一的な UI から複数のエンドポイントを切り替えて使える ツールとして Snorql を公開しました。 SPARQL is the standard query language for searching Linked Open Data (LOD), but each endpoint often has a different UI — or none at all. To solve this, I published Snorql, a tool that lets you switch between multiple endpoints from a single, unified UI. ...

2026年2月8日 · 10 分 · Nakamura

Odeuropa Visualization: SKOS語彙とSPARQLを活用した香りデータの可視化プラットフォーム

はじめに Odeuropaは、ヨーロッパの香りの歴史を研究するプロジェクトで、絵画、文学、その他の歴史的資料に描かれた香りの表現を収集・分析しています。本記事では、OdeuropaのSPARQLエンドポイントを活用し、SKOS(Simple Knowledge Organization System)語彙体系に基づいた香りデータの可視化Webアプリケーションの実装について紹介します。 https://odeuropa-seven.vercel.app/ja/ プロジェクト概要 技術スタック フロントエンド : Next.js 15 (App Router) UI : Material-UI v5 国際化 : next-intl データ取得 : SPARQLクエリ (Odeuropa SPARQLエンドポイント) 言語 : TypeScript ホスティング : 静的サイト生成(SSG) 主な機能 1. 香り検索 (/odeuropa-sources) アプリケーションの中核となる機能で、Odeuropaプロジェクトが収集した香りの知覚イベント(smell perception events)を検索・閲覧できます。 主な特徴: 複雑なSPARQLクエリによるデータ取得 香り放出イベント(emission)、香りオブジェクト、ソース(絵画・文学作品など)、テキスト断片を結合 CRMベースのオントロジー(ecrm:P67_refers_to, od:F1_generatedなど)を活用 多軸フィルタリング SKOS語彙による香りの源でフィルタ(?xパラメータ) ソースタイプフィルタ(視覚的アイテム E36_Visual_Item / 言語オブジェクト E33_Linguistic_Object) リッチな情報表示 香りのラベル、ソース情報(タイトル、画像、URI) テキスト断片の引用 嗅覚体験の質的情報(Olfactory Experience) ページネーション - 20件ずつの効率的な表示 SPARQLクエリ例: S W } E H L E E R C E ? ? # { } } T e e { m m ソ U D i i ー N I s s ス ? ? ? I ? S s s と f f s O s T i i の r r o N o I o o 関 a a u u N n n 連 g g r { r C ( m m c c T o o フ e e e e d d ラ n n ? ? : : グ t t e e s e F F メ c c o m 3 1 ン e r r r u i _ _ ト c d m m r s h g 経 r f : : c s a e 由 m : P P e i d n ま : v 1 6 o _ e た P a 6 7 ? n s r は 6 l 5 _ s o a 直 7 u _ r o ? u t 接 _ e i e u s r e ) r n f r m c d e ? c e c e e f f o r e l ? e r r s _ l ? s r a p _ t x m s g o t i ? e _ m r o t s . l t e a l m l o n t ? e e t e e l . ? _ s m ? l e v i f _ m a ? s r l i l f s a a s u r i g b s e a o m e i g n e l o . m n n e . t ? n s . t ? o f u . r r a c g e m _ e i n m t a _ g v e a l u e 2. 香り詳細ページ (/odeuropa-sources/item) 個別の香りに関する詳細情報を表示するページです。 ...

2025年10月24日 · 32 分 · Nakamura

「教科書の中の源氏物語LOD」を使ってみる

概要 「教科書の中の源氏物語LOD」を使ってみましたので、備忘録です。 https://linkdata.org/work/rdf1s10294i 以下のように説明されています。 教科書の中の源氏物語LODは、高等学校古典分野の戦後検定教科書における『源氏物語』掲載データをLOD化したものである。 「教科書の中の源氏物語LOD」を作成および公開してくださった関係者の皆様に感謝いたします。 SPARQLエンドポイントの作成 今回はDyDraを使用します。また、以下の記事を参考に、Pythonで登録しました。 D D Y Y D D R R A A _ _ E A N P D I P _ O K I E N Y T = = x h x t x t x p x s : / / d y d r a . c o m / u t - d i g i t a l - a r c h i v e s / g e n j i _ u / s p a r q l f e c # c # c r n l l l o d i g i g i m p e e e e e o n n n n n d i t j t j t y n i . i . d t = m i t i r , a m e m a D k p x p _ a y i o t o p p d _ r _ r y i r l t l t . _ a i _ i _ a k C s b s b p e l t y t y i y i の _ の _ e 登 f 登 f i = n 録 i 録 i m t l l p D ( e e o y e ( ( r d n " " t r d . . a p / / D C o d d y l i a a d i n t t r e t a a a n , / / C t g g l . a e e i l p n n e o i j j n a _ i i t d k m t _ e a e e y k x n ) i t v _ _ ( l l " i i . s s . t t / _ _ . t t e t t n l l v . . " t t ) x x t t " " , , " " t t u u r r t t l l e e " " ) ) 注意点として、RDF内のURIについて、http://linkdata.org/resource/rdf1s10294i#とhttps://linkdata.org/resource/rdf1s10294i#が一部混在しておりました。今回は、http://linkdata.org/resource/rdf1s10294i#に統一する置換処理を施したのち、SPARQLエンドポイントに登録しました。 ...

2024年12月15日 · 7 分 · Nakamura

w3id.orgを用いた永続識別子の取得とSnorqlへのリダイレクト

概要 以下のようなRDFデータの公開ページを作成しました。 https://sukilam-educational-metadata.github.io/ 特に、以下のページから、SPARQLおよびSnorqlを用いたRDFデータに対する検索を行うことができます。Snorqlの利用にあたっては、「Snorql for Japan Search」を利用させていただいています。画面下部のクエリ例からお試しください。 https://sukilam-educational-metadata.github.io/snorql/ 本ページの公開にあたり、w3id.orgを用いた永続識別子の取得とSnorqlへのリダイレクトを行いましたので、その備忘録です。 SPARQLエンドポイントの準備 Dydraを用いてSPARQLエンドポイントを構築しました。 Snorqlの準備 Snorql for Japan Searchについては、以下を参考にしてください。 https://www.kanzaki.com/works/ld/jpsearch/snorql_ldb-about Snorqlのダウンロードについては、以下などを参考にしてください。 /ja/posts/6b7c5484b2f161/#snorqlの設定 またSnorqlのカスタマイズ方法については、以下などを参考にしてください。 公開ページの準備 今回は、GitHub Pagesを用いた公開ページの作成を行いました。まず、以下の組織アカウントを作成しました。 https://github.com/sukilam-educational-metadata そして以下のリポジトリを作成しました。 https://github.com/sukilam-educational-metadata/sukilam-educational-metadata.github.io GitHub Pagesを有効にすることで、以下URLから公開ページにアクセスできます。 https://sukilam-educational-metadata.github.io/ 先に準備したSnorqlも設定することで、以下のURLから、Snorqlにアクセスできます。 https://sukilam-educational-metadata.github.io/snorql/ w3id.orgを用いた永続識別子の取得 最後に、w3id.orgを用いた永続識別子の取得について説明します。w3id.orgの使用にあたっては、以下などを参考にしました。 https://www.jstage.jst.go.jp/article/jkg/68/7/68_361/_pdf まず、以下のサイトをForkします。 https://github.com/perma-id/w3id.org そして、以下のプルリクエストを送りました。 https://github.com/perma-id/w3id.org/pull/3126/files 以下のように記述することで、https://w3id.org/sukilam-educational-metadata/学年/小6にアクセスすると、https://sukilam-educational-metadata.github.io/snorql/?describe=https://w3id.org/sukilam-educational-metadata/学年/小6に転送されます。 R e w r i t e R u l e h t t p s : / / s u k i l a m - e d u c a t i o n a l - m e t a d a t a . g i t h u b . i o / s n o r q l / ? d e s c r i b e = h t t p s : / / w 3 i d . o r g / s u k i l a m - e d u c a t i o n a l - m e t a d a t a / $ 1 [ R = 3 0 2 , L ] (※この記述内容については、改善の余地が多いと思います。) ...

2023年4月2日 · 1 分 · Nakamura

Google Colabを用いたジャパンサーチRDFストアに対するSPARQLの実行例

Google Colabを用いたジャパンサーチRDFストアに対するSPARQLの実行例を示すノートブックを作成しました。Pythonを用いたRDFストア利用時の参考になりましたら幸いです。 https://colab.research.google.com/github/nakamura196/ndl_ocr/blob/main/ジャパンサーチのRDFストアを対象したSPARQLチュートリアル.ipynb 他にも以下のような参考サイト・チュートリアルがあります。 https://www.kanzaki.com/works/ld/jpsearch/ https://lab.ndl.go.jp/data_set/tutorial/

2022年4月29日 · 1 分 · Nakamura