Three Pitfalls When Adapting a SPARQL Client to Apache Jena Fuseki

I adapted the SPARQL Explorer “Snorql,” originally built for Virtuoso / Dydra, to work with Apache Jena Fuseki. While SPARQL is a W3C standard, the behavioral differences between endpoint implementations can be surprisingly large. Here I document the three issues I encountered during Fuseki adaptation and their solutions. Development Environment I started Fuseki with Docker and tested locally. # 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 L r - k o l H - e a d r d - ' a X C t c t o a o e P n - m s O t b p t S e i o T n n s d t a e a ' - r t h T y u a 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 Response Format Differs Symptom When sending a DESCRIBE query to Fuseki, results were not displayed on screen. The console showed JSON parse errors. ...

February 8, 2026 · 16 min · Nakamura

Dydra JSON-LD Serialization Behavior and Workaround

Overview Dydra is an excellent cloud-based RDF triple store, but in some cases its JSON-LD serialization may produce output that differs from expectations. This blog post explains the observed behavior and the workaround we implemented. Observed Behavior Expected Output In the JSON-LD specification, URI references are commonly output in object form as follows: { } " " " } " } @ @ p , p i t r " r " d y o @ o @ " p v i v i : e : d : d " w " w " " : a : a : h s s t [ A " G " t " t h e h p p t t n t s r r t e t : i p r p b s a s / : u : t : e E t / e / x n e / d / a t d s B s m i T e y e p t o p " p l y " o : o e " : l l . ] i { i c , { a a o . . m e e / t t i h h t e e e r r m s s / c c 1 a a " n n , . . i i o o / / a t d x d / r 0 e x s a s b / c 0 d x . 1 . 2 . 3 " 4 . . . " Output Observed in Dydra In Dydra’s JSON-LD endpoint, some URI references were observed to be output as plain strings: ...

December 29, 2025 · 15 min · Nakamura

Developing an RDF Metadata Management System Integrating GakuNin RDM and Dydra

Introduction This article describes the development of a metadata management system for research data that integrates GakuNin RDM (Research Data Management) with the Dydra RDF database. This system can handle file management for research projects and the registration and search of Dublin Core metadata in an integrated manner. System Overview Architecture ┌ │ │ └ ┌ │ │ │ └ ─ ─ ─ G ─ ─ ─ ─ a ─ ─ ─ ─ k R A ─ ─ N ( ─ ┌ │ ▼ u D P ─ ─ e A ─ ─ ─ N M I ─ ─ x p ─ ─ ─ i ─ ─ t p ─ ─ ─ n ─ ─ . ─ ─ ┐ │ │ │ ┘ ─ j R ┬ │ ┴ ─ s o ─ ─ ┌ │ │ │ └ ─ u ─ ─ ─ ─ ─ 1 t ─ ─ ─ D ─ ─ 4 e ─ ─ ▼ y R ─ ─ r ─ ┐ │ ─ d D D ─ ─ ) ─ ─ r F B ─ ─ ─ ─ a ─ ─ ─ ─ ─ ┐ │ │ ┘ ─ ─ ┐ │ │ │ ┘ Main Technology Stack: ...

October 14, 2025 · 46 min · Nakamura

Guide to Registering RDF Data to Dydra via API

Introduction Dydra is a cloud-based RDF database service that provides a SPARQL endpoint and REST API. This article explains how to programmatically register RDF data using the Dydra API. Prerequisites Dydra account API key Node.js environment (v16 or higher recommended, when using Node.js) Note: The code examples in this article use the following as samples: Account name: your-account Repository name: your-repository API key: your_api_key_here When actually using these, replace them with your own Dydra account information. ...

October 10, 2025 · 13 min · Nakamura

Using the "Tale of Genji in Textbooks LOD"

Overview This is a memo about trying out the “Tale of Genji in Textbooks LOD” (Kyokasho no Naka no Genji Monogatari LOD). https://linkdata.org/work/rdf1s10294i It is described as follows. The “Tale of Genji in Textbooks LOD” is an LOD conversion of data on The Tale of Genji published in post-war authorized textbooks for the classical literature section of high schools. I would like to thank all those involved in creating and publishing the “Tale of Genji in Textbooks LOD”. ...

December 15, 2024 · 8 min · Nakamura

Registering RDF Data to Dydra Using Python

Overview I created a library for registering RDF data to Dydra using Python. https://github.com/nakamura196/dydra-py It includes some incomplete implementations, but we hope it proves useful in some situations. Implementation Details The import is performed in the following file. https://github.com/nakamura196/dydra-py/blob/main/dydra_py/api.py#L55 It uses the SPARQL INSERT DATA operation as follows. d e f i " I A " h } f p f m " m r " e i r o p " p g " a l i r o o s d e n r r : f f g e " " s t f # g g n i e i r i e t t i o r r A C ( i r r t f l f e f l _ s l r a s u o = " l R a a _ s s s b e m p t n N e D p p d g e v p r e y R _ a h = h t s u F h h a r q I { } " : q I G } } " e p o e p : p _ D p t _ o e e m i フ . t a u N n } " u N R } } " r r n s r r f F a u { r n l b n ァ = p a p e S t " e S A " b i s p i i i t ( r i t f e イ a h r E _ r E P o n e o n n l d h s i z - . r t ル r r = _ y R d y R H { s t n t t e a t a T _ q の d s u T a T n e ( = s ( ( ( t ( r ( t y c o d 読 f e g r = t = < t : q e " f s a s ) s i p h f m み l ( r i D a D { _ u r . D " e t : t o e u ( 込 i f a f A } f A g d e e s a E l f r r n " n c f み b i p i " T " T r a r q t t r f r ) T , " : k h i . l h s " A " A a t y u a a r , o : h : _ u l G e . " " p a ) e t o m e o " r n e r , s N { { h } s u s r f T p f a d k s a e o { { _ t s u : i a h f t " p f s ) p f r n u s _ c l e o i B p _ : : h o i e r . c c { e f r o e l f ( r a : i p o e r _ i p m n a i i " ) m l } o d s e p l a a a r c l , a i > s e s s a e t t l e a e t z t f p t h ) r t ( l = e { ( = u o h i o : i f e f ( { s = l n , n t f { o i n o f e l s t o U s n l ( r o l 2 y e f o t R e / e f m r f 0 . o t h I l s _ i a m . 0 i s r t h e f p p l t a e : n t m h e o . a a e ) t n s a a e R f a r t s = d e t t R D p q h ) ' p r u , D D F t i l , ) # n o t s y F h _ - t i e _ g d f e k u f フ ' n d c r r f i e p o ォ ) t . o a a i l g y d r ー , " d p l e r } a m マ ) e h s e a " t a ッ d } _ t ( p , e t ト a u o t e h " = は t { r r o . f フ a r i e g w o ァ = e = . i . h r イ q s N m , e m ル u p o p r a に e o n o ' e t 応 r n e r x ) じ y s , t m d て , e . l a 変 . v ' t 更 h t e , a e e r a x b ' w d t o n i e } s t l r " e ' l s ) = ) = F . b h a e e l a s i d e n e ) s r : e s r ) t e d . D e f a u l t s t o N o n e . Key Design Decision One notable design decision was handling large RDF files. When uploading large RDF files all at once, there were cases where the process would stop midway. ...

July 26, 2024 · 9 min · Nakamura

Using the Course of Study LOD

Overview The Course of Study LOD is described as follows. The Course of Study LOD publishes the content, codes, and related information of the Course of Study and Education Guidelines published by the Ministry of Education, Culture, Sports, Science and Technology as Linked Open Data (LOD). The target for LOD conversion is the latest version of the code tables for all school types of current and former Courses of Study and Education Guidelines (including partial revisions) that are currently published. ...

April 15, 2024 · 1 min · Nakamura