DTS Viewerの更新:ページネーションへの対応

概要 DTS (Distributed Text Services)ビューアについて、ページネーションへの対応を行ったので、備忘録です。 https://dts-viewer.vercel.app/ja/ 背景 DTSで多数のリソースなどを提供する際に、以下のように、viewプロパティを使って、ページネーションに関する情報を提示するようでした。 https://distributed-text-services.github.io/specifications/versions/unstable/#collection-endpoint { } " " " " " " " " " } " ] " } @ d @ @ c t t t d , m , v c t i t o o o i u e " i o s d y l t t t b m . e n V " p l a a l l " " ] b . w " " " " " " t e e e l l e i p t e . " @ @ f p n l e r : " c P C " n u i r " : i t i r e a x s t a h : C b t " d y r e x s t i " : i r i o l l { : { " p s v t t " o l o e l " r i e " : e t i " " : n e " n n d L e s " l [ " " o : : " t C " t r e " h : a " : : u " : t o : s e t : e n / s " " h r l " n t r [ g a " " " / / t " e l " : " r { " " p P / : a a t 1 s e / : e : : i a a p p p - _ c a 1 s / g p " i i s a d t p , 1 [ " d i i / / : l e i i 0 d " f t n a d d / p _ o / 0 e É r s a d p t t / h p n d 0 c " / t t i s s d a o " t 0 P o , c i s / / i " i , s , o l o o d c c s , l / i e " l n c t o o t u c l v l " o s l l r s o u N a e , l / l l i " l s a l c l c e e b , l " t u t e o c c u e , i e i c l t t t c o " o t l i i e t n n i e o o d i a : / o c n n - o l ? n t / / t n e " i / i ? ? e / L d ? o i i x { d e = i n d d t ? e t l d / = = - i s t e = ? l l s d r t l i e e e , C e t e d t t r p h s r t = t t v a a e t l r r i g r d s r e e e c e t e _ e t s s e , e d s t _ _ s n s P e _ r d d . a " o _ d e e e g v , i p e s _ _ i } l o _ _ p p t " " u i p d o o h , h s l o e i i u t " u i _ l l b t } s l p u u . p & u o s s i s p s i & & o : a & l p p / / g p u a a s / e a s g g p v = g & e e e i 1 e p = = c a 9 = a 2 5 i f " 1 g 0 0 f . , " e " 0 i o , = , " c r 1 a g 8 t / " i v , o i n a s f / / c 1 o 6 n 7 t 8 e 7 x 4 t 5 / 8 1 5 - " a ] l , p h a 1 . j s o n " , そこで、DTS Viewerについて、上記のviewプロパティに対応できるように改修しました。 ...

2025年6月2日 · 4 分 · Nakamura

校異源氏物語テキストDBのDTS(Distributed Text Services) APIの更新

概要 校異源氏物語テキストDBのDTS(Distributed Text Services) APIを更新したので、備忘録です。 背景 DTS(Distributed Text Services) APIは以下で説明されています。 https://distributed-text-services.github.io/specifications/ 以下の記事で、DTS APIの作成について紹介しました。 一方、以下を課題としていました。 今回開発したDTS APIも上記のガイドラインに非対応の箇所がある可能性がある点にご注意ください。 そこで、前回作成したAPIをv1とし、今回はdtsVersionの1-alphaに従ったv2のAPIを作成します。 API 以下がEntry Endpointです。v1とv2の違いは以下です。 v1 https://dts-typescript.vercel.app/api/v1/dts { } " " " " " " n @ @ c @ d a i t o c o v d y l o c i " p l n u g : e e t m a " c e e t " : t x n i i t t a " o " s n p E n : " " i n s : : / t " " v r : d " " 1 y t / / / P " s a a d o / / p p t i a E i i s n p n / / " t i t v v , " / r 1 1 , v y / / 1 P d d / o t t d i s s t n / / s t d n / . o a c j c v o s u i l o m g l n e a e l n t c d t i t " " o i , n o " n , s " , v2 https://dts-typescript.vercel.app/api/v2/dts ...

2025年5月24日 · 18 分 · Nakamura

DTS (Distributed Text Services)のビューア開発

概要 DTS (Distributed Text Services)のビューアを開発したので、備忘録です。 以下のURLからお試しいただけます。 https://dts-viewer.vercel.app/ja/ 背景 DTS (Distributed Text Services)の公式ページは以下です。 https://distributed-text-services.github.io/specifications/ 以下の記事でも取り上げました。 今回、このDTS仕様に一部準拠したビューアを開発しました。 使い方 以下がトップページです。フォームにDTSのURLを入力します。ページ下部で例を提供します。技術的には、Entry pointを使用しています。 コレクションの一覧ページです。Collection Endpointを使用しています。 以下のAPIを例としています。 リンクをたどると、以下のようなリソースの一覧ページに遷移します。 ダウンロードボタンを押すと、TEI/XMLが表示されます。Document Endpointを使用しています。 ナビゲーションボタンを押すと、アクセス可能な部分テキストの一覧が表示されます。Navigation Endpointを使用していますが、現時点で複数階層には非対応です。 リンクをクリックすると、以下のような部分テキストをダウンロードすることができます。 工夫点 公式ページに以下のように記載されています。 The DTS Specification is currently in a public comment period following the 1-alpha release (機械翻訳)DTS仕様は、1-alphaリリースの後、現在パブリックコメント期間中です。 このような背景のため、既存のDTSの記述方法にばらつきがありました。そこで内部でできるだけDTS API (1.0 Draft)に変換し、その結果を可視化するようにしています。 DTS仕様が成熟するにつれ、このような問題は解決されるかと思います。 まとめ DTS仕様は以下のように説明されています。 The Distributed Text Services (DTS) Specification defines an API for working with collections of text as machine-actionable data. ...

2025年5月11日 · 1 分 · Nakamura

Vercelにデプロイしたexpressについて、vercel.jsonによるcors対応を行う

概要 Vercelにデプロイしたexpressについて、vercel.jsonによるcors対応を行う方法に関する備忘録です。 背景 以下の記事で紹介したプログラムについて、cors対応を行いました。 以下を参考にしています。 https://vercel.com/guides/how-to-enable-cors 方法 対応方法は以下です。他にも方法があるかと思いますが、headersを加えることで対応することができました。 https://github.com/nakamura196/dts-typescript/commit/4c28f66b2af68950656dcb812f3e941d1b9b5feb { } " " ] " ] " ] " ] v b , r , r , h e u { } e { } e { } e { } r i w d a s l " " r " " i " " " d " " ] i d s u i s d r s d p e s h o s r s t o e e o e e r o e { { { } { } n " c e e u s c u s r s u a , " : " " s r t t r t m " r d " " " " " " : : : " c i s c i a : c e k k k v k v [ : e n " e n n e r e e e a e a 2 " " " a : " a e [ " s y y y l y l , s @ [ : t : t n : " " " " u " u r v i [ i t : : : : e : e c e " " " " " " / r n n : / [ " " " : " : i c a " " " a A A A A n e p : , : t p c c c " c " d l i r i c c c G c X e / / " " u / e e e E e - x n d / / e ( s s s T s C . o t s a . s s s , s S t d s r p * - - - O - R s e ( c i ) C C C P C F " " . / " o o o T o - , i d , n n n I n T ) n t t t t O t o " d s r r r N r k , e " o o o S o e x , l l l , l n . - - - P - , t A A A A A s l l l T l X " l l l C l - o o o H o R w w w , w e - - - D - q C O M E H u r r e L e e e i t E a s d g h T d t e i o E e e n n d , r d t " s P s - i , " O " W a , S , i l " T t s v , h " a P , , l U u T A " e " c v " c a : e l p u " t e * , " " : A } c " , c t e r p u t e - " V e } r , s i o n , C o n t e n t - L e n g t h , C o n t e n t - M D 5 , C o n t e n t - T y p e , D a t e , X - A p i - V e r s i o n " まとめ 参考になりましたら幸いです。 ...

2025年4月24日 · 3 分 · Nakamura

TEI/XMLから検索システムを構築する際のDTS(Distributed Text Services)のdts:wrapperの応用例

概要 TEI/XMLから検索システムを構築する際のDTS(Distributed Text Services)のdts:wrapperタグの応用例に関するメモです。 DTS(Distributed Text Services)は以下です。 Cayless, H., Clérice, T., Jonathan, R., Scott, I., & Almas, B. Distributed Text Services Specifications (Version 1-alpha) [Computer software]. https://github.com/distributed-text-services/specifications` 参考 DTSの構築例として、以下なども参考になりましたら幸いです。 例 以下の「デジタル延喜式」を例とします。 https://khirin-t.rekihaku.ac.jp/engishiki/ 本システムでは、TEIを用いて作成したXMLデータから、検索時の単位となる部分を抽出し、それをJSON形式のデータに変換した上で検索を行っています。JSONデータの例は以下です。JSON:APIに準拠した記述を採用しています。 http://khirin-t.rekihaku.ac.jp/engishiki/jsonapi/item/39100101.json { } " } " } j , d s a o t n " " } a " " " } a v m " t i a p e e : y d t i r t p " t " s a " } { e : r " " ] " ] " ] " " ] " " " " : i " l " i l j , s , v , u c , m m t x o : i : " b a y h o p a a e h m { n n 3 u b o i l d t n m u l " { k " } " 9 t e " " k " " " a e " i b m " : s s i 1 e l : 3 i 3 : 3 t g 式 f e b : " e t 0 s " 9 " 9 9 e o " e r n " : l e 0 " : [ - : - [ " d r s " a " 1 f " m 1 : 1 1 " y t : i < . { " h " 0 " - [ : " " l ? 0 : r , 1 { 正 0 正 : : " " x " e " 親 0 親 " h : m , { f , 1 " 2 [ " t l " 1 0 h t " : 諸 2 t p h v 諸 王 5 t s t e " 王 年 - p : t r h 年 満 0 s / p s t 満 " 3 : s i t 条 - k : p 1 / h n : 項 5 k i / = / 1 " h r k \ / " , i i h " j , r n i 1 s i - r . o n a i 0 n - . n \ a a r - " p . e a i r k . e . e i r n o k h e c r i a k o g h k i d / a u h i f k . a n o u a k g r . c u = m a . . \ a c j a " t . p c U / j / . T 1 p i j F . / i p - 0 i i / 8 / i f i \ " i / i " f 2 i ? / / f > r e e n 2 n k g / < i i e T h s n E a h g I k i i u k s x / i h m H % i l - 2 k n 7 F i s 4 H % = 3 - 2 \ - 7 F " 7 4 H h 4 3 - t - - 7 t 3 7 4 p 9 4 3 : / - - / m 3 7 / a 9 4 w n / - w i p 3 w f a 9 . e g % t s e 2 e t 5 F i . 0 0 - j 6 0 c s 9 0 . o " 0 o n , 2 r " . g , t / i n f s / / f 1 u . l 0 l \ / " 2 > 0 \ 0 n , / 0 < / d d t e s f : a w u r l a t p . p j e p r g " x , m l n s : d t s = \ " h t t p s : / / w 3 i d . o r g / a p i / d t s # \ " > \ n < d i v t y p e = \ " o r i g i n a l \ " > < p a n a = \ " 項 \ " c o r r e s p = \ " # p a g e 5 0 6 9 \ " x m l : i d = \ " o - i t e m 3 9 1 0 0 1 0 1 \ " > \ n 凡 諸 王 年 満 十 二 、 毎 年 十 二 月 、 \ n < o r g N a m e s a m e A s = \ " # 京 職 \ " > 京 職 < / o r g N a m e > \ n 移 \ n < o r g N a m e s a m e A s = \ " # 宮 内 省 \ " > 宮 内 省 < / o r g N a m e > \ n 、 \ n < o r g N a m e s a m e A s = \ " # 宮 内 省 \ " > 省 < / o r g N a m e > \ n 以 \ n < o r g N a m e s a m e A s = \ " # 京 職 \ " > 京 職 < / o r g N a m e > \ n 移 、 即 付 \ n < o r g N a m e s a m e A s = \ " # 正 親 司 \ " > 司 < / o r g N a m e > \ n 令 勘 会 名 簿 、 訖 更 送 \ n < o r g N a m e s a m e A s = \ " # 宮 内 省 \ " > 省 < / o r g N a m e > \ n 、 明 年 正 月 待 \ n < o r g N a m e s a m e A s = \ " # 太 政 官 \ " > 官 < / o r g N a m e > \ n 符 到 、 始 預 賜 時 服 之 例 、 < / p > < / d i v > < d i v t y p e = \ " j a p a n e s e \ " > < n o t e t y p e = \ " s u m m a r y \ " > \ n 衣 替 え 手 当 て の 受 給 年 齢 に 達 す る 皇 族 へ の 支 給 開 始 手 続 き に 関 す る 規 定 \ n / n o t e > < p a n a = \ " 項 \ " c o r r e s p = \ " e n g i s h i k i _ v 3 9 . x m l # i t e m 3 9 1 0 0 1 0 1 e n g i s h i k i _ v 3 9 _ e n . x m l # i t e m 3 9 1 0 0 1 0 1 \ " x m l : i d = \ " j a - i t e m 3 9 1 0 0 1 0 1 \ " > \ n 皇 族 の 年 齢 が 数 え で 十 二 歳 に 達 し た ら 、 十 二 月 に \ n < r u b y > \ n < r b > \ n 京 職 \ n / r b > \ n < r t p l a c e = \ " r i g h t \ " > \ n き ょ う し き \ n / r t > \ n < / r u b y > \ n が \ n < r u b y > \ n < r b > \ n 宮 内 省 \ n / r b > \ n < r t p l a c e = \ " r i g h t \ " > \ n く な い し ょ う \ n / r t > \ n < / r u b y > \ n に 通 知 し 、 宮 内 省 は 京 職 の 通 知 書 類 を \ n < r u b y > \ n < r b > \ n 正 親 司 \ n / r b > \ n < r t p l a c e = \ " r i g h t \ " > \ n せ い し ん し \ n / r t > \ n < / r u b y > \ n に 下 し て 正 親 司 が 保 管 す る 皇 族 の 台 帳 と 照 合 さ せ よ 。 正 親 司 は こ の 作 業 が 終 わ っ た ら 通 知 書 類 を 宮 内 省 に 送 れ 。 翌 年 正 月 に \ n < r u b y > \ n < r b > \ n 太 政 官 \ n / r b > \ n < r t > \ n だ い じ ょ う か ん \ n / r t > \ n < / r u b y > \ n の 通 達 を 受 領 し て か ら 、 衣 替 え 手 当 て の 支 給 を 開 始 せ よ 。 \ n < / p > < / d i v > < d i v t y p e = \ " e n g l i s h \ " > < n o t e t y p e = \ " s u m m a r y \ " > \ n A g e o f R o y a l R e c i p i e n t s f o r S e a s o n a l C l o t h i n g \ n / n o t e > < p a n a = \ " 項 \ " c o r r e s p = \ " e n g i s h i k i _ v 3 9 . x m l # i t e m 3 9 1 0 0 1 0 1 e n g i s h i k i _ v 3 9 _ j a . x m l # i t e m 3 9 1 0 0 1 0 1 \ " x m l : i d = \ " e n - i t e m 3 9 1 0 0 1 0 1 \ " > \ n E v e r y y e a r i f \ n < s e g x m l : i d = \ " f o o t n o t e 3 9 1 0 0 1 0 1 0 1 \ " > \ n a \ n p r i n c e o r p r i n c e s s \ n / s e g > \ n r e a c h e s \ n < s e g x m l : i d = \ " f o o t n o t e 3 9 1 0 0 1 0 1 0 2 \ " > \ n t w e l v e y e a r s o l d \ n / s e g > \ n , t h e C a p i t a l O f f i c e s h o u l d r e p o r t t h a t \ n i n f o r m a t i o n v i a \ n < s e g x m l : i d = \ " f o o t n o t e 3 9 1 0 0 1 0 1 0 3 \ " > \ n a p a r a l l e l m e m o r a n d u m \ n \ n < s e g r e n d = \ " i t a l i c \ " > \ n i \ n / s e g > \ n \ n < / s e g > \ n t o t h e M i n i s t r y o f t h e R o y a l \ n H o u s e h o l d i n t h e t w e l f t h m o n t h . T h e n t h e M i n i s t r y s h o u l d s e n d t h e \ n m e m o r a n d u m t o t h e R o y a l F a m i l y R e g i s t e r O f f i c e t o c h e c k t h e l i s t a g a i n s t \ n t h e i r e x i s t i n g r o s t e r . A f t e r f i n i s h i n g a l l o f t h e s e p r o c e d u r e s , t h e \ n R o y a l F a m i l y R e g i s t e r O f f i c e s h o u l d r e t u r n t h e m e m o r a n d u m t o t h e \ n M i n i s t r y . T h e p r i n c e o r p r i n c e s s i n q u e s t i o n w i l l r e c e i v e s e a s o n a l \ n c l o t h i n g a f t e r t h e C o u n c i l o f S t a t e ' s o r d e r i s i s s u e d i n t h e f o l l o w i n g \ n N e w Y e a r . \ n < / p > < / d i v > \ n / d t s : w r a p p e r > \ n < / T E I > " 検索結果は以下のように表示されます。校訂文(@type=“original”)、現代語訳(@type=“japanese”)、および英訳(@type=“english”)を表示しています。 ...

2025年3月15日 · 13 分 · Nakamura

校異源氏物語テキストDBで公開するTEI/XMLファイルに対するDTS APIのGitHubリポジトリ

概要 以下の記事で紹介したAPIのGitHubリポジトリを公開しました。 リポジトリは以下です。 https://github.com/nakamura196/dts-typescript 不完全な点があるかと思いますが、参考になりましたら幸いです。 メモ vercelのrewrite 以下のように設定することで、/へのアクセスを/api/dtsにリダイレクトさせることができました。 { } " " ] " ] " ] v b , r , r e u e e r i w d s l { } r { } i { } i d i r o s t e n " e c " : " " s " " t " " " : s u " s d s s d p [ r s : o e " o e e 2 c e u s : u s r , " " [ r t r t m : : c i [ c i a e n e n n " " " a " a e s @ : t : t n r v i i t c e " " " / r n n : i c a " " " n e p : , : t d l i r e / / " " u x n d / / e . o t s a t d s r p s e ( c i " " . / , i d ) n t " d s , e " x , . t s " collectionのID コレクションのIDとして以下を使用しています。 ...

2024年9月4日 · 2 分 · Nakamura

校異源氏物語テキストDBで公開するTEI/XMLファイルに対するDTS APIを作成する

概要 校異源氏物語テキストDBで公開するTEI/XMLファイルに対するDTS(Distributed Text Services) APIを作成したので、備忘録です。 背景 校異源氏物語テキストDBは以下です。 https://kouigenjimonogatari.github.io/ TEI/XMLファイルを公開しています。 開発したDTS 開発したDTSは以下です。 https://dts-typescript.vercel.app/api/dts Express.jsをVercelに設置しています。 DTSは以下を参考にしてください。 MyCapytainライブラリ 以下の記事で、DTSをPythonから利用するライブラリを紹介しました。 本ライブラリを使用して、開発したDTSを利用してみます。 Create the resolver With the following line we create the resolver : f r r e o s m o l M v y e C r a p = y t H a t i t n p . D r t e s s R o e l s v o e l r v s e . r d ( t " s h . t a t p p i s _ : v / 1 / d i t m s p - o t r y t p e H s t c t r p i D p t t s . R v e e s r o c l e v l e . r a p p / a p i / d t s " ) Require metadata : let’s visit the catalog The following code is gonna find each text that is readable by Alpheios ...

2024年9月4日 · 20 分 · Nakamura

DTS(Distributed Text Services)を使ってみる

概要 DTS(Distributed Text Services)の使用方法を学ぶ機会があり、その備忘録です。 使用するAPI 以下で紹介されているAlpheios を使用します。 https://github.com/distributed-text-services/specifications/?tab=readme-ov-file#known-corpora-accessible-via-the-dts-api トップ https://texts.alpheios.net/api/dts collections, documents, navigationが使えることがわかります。 { } " " " " " " n @ @ c @ d a i t o c o v d y l o c i " p l n u g : e e t m a " c e e t " : t x n i i t t a " o " s n p E n : " " i n s : : / t " " d r : d " " t y t / / s P " s a a " o / / p p , i a E i i n p n / / t i t d d " / r t t , d y s s t P / s d n i o a c n c v o t u i l . m g l j e a e s n t c o t i t n " o i l n o d " n " , s , " , Collection Endpoint collections https://texts.alpheios.net/api/dts/collections ...

2024年9月4日 · 44 分 · Nakamura

DTSとCTSの関係

概要 DTS(Distributed Text Services)とCTS(Canonical Text Services protocol)の関係の調査結果です。 以下に記載がありました。 https://distributed-text-services.github.io/specifications/FAQ.html#what-is-the-relationship-between-dts-and-cts-are-they-redundant (機械翻訳)日本語訳 DTSとCTSの関係は何ですか?それらは重複していますか? DTS(Distributed Text Services)は、Canonical Text Services(CTS)プロトコルからインスピレーションを受け、その影響を受けて開発されました。CTSは、TEI形式でエンコードされた多くの古典的で正典的なテキストを、機械が処理可能な形でリンクドオープンデータとして提供することを可能にしました。しかし、CTS APIはCTS URN識別子システムに密接に結びついており、現代のコンテンツやパピルスや碑文などの他の形式の書き物で使用される引用システムには対応していません。また、このAPIはWeb APIに関する最新のコミュニティ標準にも準拠していません。 DTSはこれらの制限に対処し、さまざまなテキストにわたって標準化された、機械が処理可能な操作を可能にするために作成されました。DTSは、テキストコレクションを機械が処理可能なリンクドデータとして扱うためのハイパーメディア駆動のWebアプリケーションプログラミングインターフェース(API)を定義する、コミュニティ主導の取り組みです。DTS仕様は、コレクションの組織方法、参照に使用される永続的識別子の種類、メタデータに使用するオントロジー、テキスト自体の構造、APIの実装方法については規定していません。できる限り汎用的であり、コレクションのナビゲーション、テキスト内のナビゲーション、テキストコンテンツの取得のためのシンプルな操作を提供することを目指しています。DTSは、テキストコレクションを機械が処理可能なデータとして共有し、再利用するための標準的な方法を提供することを目指して、標準的で採用しやすい仕様を定義しています。 その他 参考までに、上記FAQの他の箇所の機械翻訳結果を掲載します。 DTSに関するよくある質問 DTSとは何ですか? DTSは、TEIドキュメントのコレクション向けのAPIです。 なぜTEIにコレクション用のAPIが必要なのですか? DTSは、クライアントがTEIドキュメントのコレクションと標準的な方法でやり取りできるようにします。標準APIにより、ユーザーは同じクライアントソフトウェアを使用して多くのテキストコレクションにアクセスできます。また、編集者は既存のクライアントが使用できる形でテキストコレクションを公開できるようになります。 DTSをダウンロードして使い始めるにはどうすればいいですか? ダウンロードできません。DTSはプログラム同士の通信方法を定義します。最終的にエンドユーザーがこのソフトウェアを使用します。ソフトウェア開発者向けにはDTSをサポートするライブラリがあり、それらはここにリストされています。 クライアントはこれらのドキュメントで何ができますか? クライアントがテキストデータでできることなら何でも可能です。例えば、このデータはユーザーが読める形で表示されたり、言語学的、文学的、談話的な特徴を分析したり、ユーザーがテキストに注釈を付けて有用なデータを作成できるツールで提示されたりします。 DTSは私のテキストをFAIRにするのに役立ちますか? はい!デジタルテキストコレクションの発行者は、DTS APIを使用して、そのテキストデータを見つけやすく(Findable)、アクセスしやすく(Accessible)、相互運用可能(Interoperable)で、再利用可能(Reusable)なFAIRな形にすることができます。 DTSは以下の方法でテキストデータのFAIRなデータプラクティスをサポートします: 発行者にテキストやコレクションに安定した永続的識別子を使用することを促す メタデータ記述のために標準的な語彙を使用することをサポート テキストコンテンツ自体とは別にメタデータを表現できるようにする 引用可能な単位に至るまで、テキストリソースの構造に関する情報への文書化された(が制約のない)アクセスを提供 テキストリソース間の関係を詳細に指定できるようにする DTSはどのようなAPIですか? DTSは、REST APIであり、Webブラウザのように機能します。クライアントソフトウェアがリクエストを送ると、サーバーはドキュメントを返します。クライアントはこのドキュメント内の情報を使用して、さらにリクエストを送ることができます。このAPIは、HTTPリクエストやレスポンスに含まれるドキュメントとヘッダーに基づいて完全に定義されています。つまり、DTSは言語に依存せず、デバッグが容易で、多くのユーザーに対してスケールすることができます。APIに詳しい人向けに言うと、DTSはピュアなハイパーメディア中心のREST APIで、HTTPの慣習に基づいて定義されています。 DTSは、ウェブサイトを作成するのと同じように構築されています。すべてが発見可能で、ユーザー(クライアント)が簡単に目的のものを見つけられるように整理されています。その上で、リンクされ共有されている語彙を使用し、データのウェブ全体で利用可能なものを活用しています。 Hydraとは何ですか?なぜHydraを使用するのですか? HydraはREST APIを構築するための良いフレームワークを提供します。私たちはゼロから始めるのではなく、標準を使用したかったのです。JSONとピュアなハイパーメディアベースのAPIのサポートが欲しかったため、Hydraを選びました。Hydraはコア機能を提供し、私たちのモデルに合わせてカスタマイズできる拡張性を提供します。(他の3つか4つのアプローチを試しましたが、Hydraが私たちのユースケースに最適でした。APIに関する宗教的な議論があることは承知していますが、これが私たちにとってうまく機能しました。) 私のテキストコレクションにDTS APIを実装すると、何が可能になりますか? DTS APIを実装することで、データの消費者は以下を簡単に取得できるようになります: コレクションメンバーのリスト 個々のコレクションアイテムに関するメタデータ テキスト内の引用可能なパッセージのリスト クライアントが定義したサイズ(例:10行ごとのグループ)で引用可能なパッセージのリスト ドキュメントの引用構造に関するメタデータ 引用階層の任意のレベルでの単一のテキストパッセージ 明確に定義された開始と終了のパッセージを含む範囲のテキストパッセージ 全体のテキスト DTSが必要とし、サポートする識別子スキームは何ですか? DTSは、URLパラメータとして安全に表現できる任意のコレクションおよびドキュメントの識別子スキームをサポートします。 DTSはネストされたコレクション(例:コレクションのコレクション)をサポートしますか? はい、サポートします。 DTSは複数レベルのテキスト引用階層をサポートしますか? はい、サポートします。 DTSはドキュメント内で異なるテキスト引用階層をサポートしますか? はい、サポートします。 私のテキストがTEI/XML形式で公開されていなくてもDTSを使用できますか? はい、部分的に使用できます。 ...

2024年9月4日 · 1 分 · Nakamura

MyCapytainライブラリを試す

概要 以下のMyCapytainライブラリを試します。 https://github.com/Capitains/MyCapytain 背景 以下の記事で、CTS(Canonical Text Service)を取り上げました。 以下のページにおいて、CITE, CTS, CapiTainSの説明がなされています。 https://brillpublishers.gitlab.io/documentation-cts/DTS_Guidelines.html The following document is about CITE, a system for the identification of texts and any other object. CTS is the name for the identification system itself. CapiTainS is the name for the software suite built around it. Before we go into details, we need to ask two questions: (機械翻訳)以下の文書は、CITE(テキストおよびその他のオブジェクトを識別するためのシステム)に関するものです。CTSは、この識別システム自体の名前です。CapiTainSは、その周りに構築されたソフトウェアスイートの名前です。詳細に入る前に、2つの質問をする必要があります。 さらに、今回使用するMyCapytainライブラリは以下のように説明されています。 MyCapytain is a python library which provides a large set of methods to interact with Text Services API such as the Canonical Text Services, the Distributed Text Services. It also provides a programming interface to exploit local textual resources developed according to the Capitains Guidelines. ...

2024年9月4日 · 22 分 · Nakamura