校異源氏物語テキスト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 :
The following code is gonna find each text that is readable by Alpheios
Printing the full tree#
Printing details about a specific one#
Let’s get some references !#
0
Let’s get some random passage !#
1
2
上記の通り、MyCapytainライブラリの基本操作に対応したDTSを構築することができました。
上記ではPythonから利用しましたが、例えば以下のように、ブラウザからも利用できます。以下は桐壺の1行目を取得する例です。
https://dts-typescript.vercel.app/api/dts/document?id=urn:kouigenjimonogatari.1&ref=https://w3id.org/kouigenjimonogatari/api/items/0005-01.json
今回は以下のAPIを参考に開発しました。
https://texts.alpheios.net/api/dts
ただし、上記APIは以下の最新のガイドラインに対応しているのかは未確認です。
https://distributed-text-services.github.io/specifications/
そのため、今回開発したDTS APIも上記のガイドラインに非対応の箇所がある可能性がある点にご注意ください。
まとめ#
DTSの理解にあたり、参考になりましたら幸いです。