SPARQL クライアントを Apache Jena Fuseki に対応させるときにハマった 3 つのこと

Virtuoso / Dydra 向けに作られた SPARQL Explorer「Snorql」を Apache Jena Fuseki でも動くようにしました。SPARQL は W3C 標準ですが、エンドポイント実装ごとの挙動差は意外と大きいです。Fuseki 対応で直面した 3 つの問題と、その解決方法を記録します。 開発環境 Docker で Fuseki を起動し、ローカルで検証しました。 # s e o d r f l f o v u u u c i s i c p e m s k c e m o o n o e e e e k a n r - v - - l - s k r s i g t t i u : i - : : e a s " r A F m f - c : i : 3 o D U e u d o n 0 n M S s s a m s e 3 m I E : e t p t r 0 e N K k a o a _ : n _ I i : s i n 3 t P _ - e n a 0 : A D d . / m 3 S A a y j e 0 S T t m e : " W A a l n O S : a f R E / - u D T f f s = _ u u e a 1 s s k d = e e i m t k k i e i i n s t d # c o u c テ r - k ス l H - e ト d r デ - ' a ー X C t c タ o a o 投 P n - m 入 O t b p S e i o T n n s t a e ' - r h T y u t y p t p @ p e t - : : e d / s / t t l e d o x a c t t a / a l t . h u t o r t s t l t l : e 3 ' 0 3 0 / t e s t / d a t a ' 1. DESCRIBE のレスポンス形式が違う 症状 Fuseki に DESCRIBE クエリを投げると、結果が画面に表示されません。コンソールには JSON パースエラーが出ていました。 ...

2026年2月8日 · 14 分 · Nakamura

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

「教科書の中の源氏物語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

Snorql for Japan Searchのカスタマイズ方法の調査

概要 ジャパンサーチで使用されている「Snorql for Japan Search」のカスタマイズ方法について、その調査結果です。随時更新予定です。また誤りも含まれている可能性が高いので、ご注意ください。 メニュー ページのタイトルを変更する _ p o w e r e d B y L a b e l : " C u l t u r a l J a p a n " , " J a p a n S e a r c h " , 問い合わせ先のエンドポイントを変更する _ e n d p o i n t : " h t t p s : / / l d . c u l t u r a l . j p / s p a r q l / " , / " h t t p s : / / j p s e a r c h . g o . j p / r d f / s p a r q l / " , poweredByLinkのURLを変更する ...

2022年11月29日 · 19 分 · Nakamura