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が使えることがわかります。
Collection Endpoint#
collections#
https://texts.alpheios.net/api/dts/collections
2つの下位コレクションが含まれることがわかります。
Classical Latin#
idurn:alpheios:latinLitを指定して、コレクションをClassical Latinに限定します。
https://texts.alpheios.net/api/dts/collections?id=urn:alpheios:latinLit
3つの下位コレクションが含まれることがわかります。
Catullus#
idurn:cts:latinLit:phi0472を指定して、コレクションをCatullusに限定します。
https://texts.alpheios.net/api/dts/collections?id=urn:cts:latinLit:phi0472
1つの下位コレクションが含まれることがわかります。
Carmina#
idurn:cts:latinLit:phi0472.phi001を指定して、コレクションをCarminaに限定します。
https://texts.alpheios.net/api/dts/collections?id=urn:cts:latinLit:phi0472.phi001
これまでとは結果が異なり、memberにResourceタイプのデータが含まれることがわかります。
また、dts:passageでDocument Endpoint へのURL、dts:referencesでNavigation Endpoint へのURLが確認できます。
Navigation Endpoint#
トップ#
先に取得した以下のNavigation EndpointのURLにアクセスします。
https://texts.alpheios.net/api/dts/navigation?id=urn%3Acts%3AlatinLit%3Aphi0472.phi001.alpheios-text-lat1
refパラメータの指定#
得られた結果に基づき、以下のように&ref=1を追加してみます。
https://texts.alpheios.net/api/dts/navigation?id=urn%3Acts%3AlatinLit%3Aphi0472.phi001.alpheios-text-lat1&ref=1
以下の結果が得られました。
InvalidLevel#
citeDepthが2になっているため、これ以上下の階層を探索することはできないはずです。
確認のため、以下にアクセスしてみます。
https://texts.alpheios.net/api/dts/navigation?id=urn%3Acts%3AlatinLit%3Aphi0472.phi001.alpheios-text-lat1&ref=1.1
結果、以下のようにエラーが返却されました。
Document Endpoint#
トップ#
Collection Endpointで得られた以下にアクセスしてみます。
https://texts.alpheios.net/api/dts/document?id=urn%3Acts%3AlatinLit%3Aphi0472.phi001.alpheios-text-lat1
結果、以下のTEI/XMLの全体が取得できました。
refパラメータの指定#
Navigation Endpointで得られたref1を使用して、以下にアクセスしてみます。
https://texts.alpheios.net/api/dts/document?id=urn%3Acts%3AlatinLit%3Aphi0472.phi001.alpheios-text-lat1&ref=1
結果、以下が得られました。subtypepoem、n1の部分テキストが得られました。部分テキストの場合、<dts:fragment xmlns:dts="https://w3id.org/dts/api#">が使用されるようでした。
まとめ#
DTSの各種エンドポイントの使い方の一例を確認しました。DTSの理解にあたり、参考になりましたら幸いです。