対応している規格と、その入口
archivebase は、資料とそのメタデータを複数の標準規格で外に出します。用途に応じて 使い分けてください。このページは「どれを使えばよいか」を決めるためのもので、各項目の 細かい仕様は API リファレンス と /api-docs(OpenAPI)にあります。
このページの例はすべて実際に動きます
以下のコマンドは、公開サイト「れきおん文字起こし検索」に対してそのまま実行できます。 鍵は要りません。
何を使えばよいか
| やりたいこと | 使うもの |
|---|---|
| メタデータをまとめて収穫したい | OAI-PMH |
| 差分だけを定期的に同期したい | ResourceSync |
| 条件を組み合わせて問い合わせたい | SPARQL |
| 画像・音声・動画をビューアで見せたい | IIIF |
| テキストを構造ごと取り出したい | DTS |
| アプリから検索したい | REST 検索 API |
| 1 件の記述だけ欲しい | LOD(コンテンツネゴシエーション) |
OAI-PMH 2.0
デジタルアーカイブのメタデータ収穫で、最も広く使われている規格です。ハーベスタを 向ければ、そのサイトの全件を取得できます。
- 6 動詞すべてに対応(
Identify/ListMetadataFormats/ListSets/ListIdentifiers/ListRecords/GetRecord) - メタデータ形式は
oai_dc(Dublin Core)とjps(ジャパンサーチ利活用スキーマ) setはリソースの種別(item/collection/teiなど)- ページ送りは
resumptionToken。上限はありません
# このリポジトリは何者か
curl -s 'https://archivebase.ldas.jp/na-kamura-1263/rekion/api/oai?verb=Identify'
# 全件収穫(Dublin Core)
curl -s 'https://archivebase.ldas.jp/na-kamura-1263/rekion/api/oai?verb=ListRecords&metadataPrefix=oai_dc'
# ジャパンサーチ利活用スキーマで
curl -s 'https://archivebase.ldas.jp/na-kamura-1263/rekion/api/oai?verb=ListRecords&metadataPrefix=jps'
# 1 件だけ
curl -s 'https://archivebase.ldas.jp/na-kamura-1263/rekion/api/oai?verb=GetRecord&metadataPrefix=oai_dc&identifier=oai:archivebase.ldas.jp:na-kamura-1263:rekion:1320060'削除は伝わりません
deletedRecord: no です。資料を削除しても、その事実がハーベスタへ伝わりません (墓標を持たないため)。継続的に収穫する場合は、定期的な全件取り直しが必要です。
ResourceSync(ANSI/NISO Z39.99-2017)
Sitemap プロトコルの拡張で、差分同期に向いています。OAI-PMH がメタデータの収穫で あるのに対し、こちらは「どのリソースがいつ変わったか」を伝えます。
# 入口(Source Description)
curl -s 'https://archivebase.ldas.jp/.well-known/resourcesync'
# このサイトが何を提供しているか
curl -s 'https://archivebase.ldas.jp/na-kamura-1263/rekion/api/resourcesync/capabilitylist.xml'
# 全リソースの一覧(大きいサイトは索引 → ?p=N に分割)
curl -s 'https://archivebase.ldas.jp/na-kamura-1263/rekion/api/resourcesync/resourcelist.xml'
# ある時点以降の変更だけ
curl -s 'https://archivebase.ldas.jp/na-kamura-1263/rekion/api/resourcesync/changelist.xml?from=2026-08-01T00:00:00Z'<loc> は機械可読な記述(/{account}/{db}/data/{id})を指します。人間向けのページは <rs:ln rel="alternate"> で併記しています。
SPARQL 1.1
RDF として問い合わせます。鍵は要りません。
対象の広さで 2 つあります。
| エンドポイント | 対象 |
|---|---|
/{account}/{db}/api/sparql | そのサイトだけ |
/api/{account}/sparql | その機関の公開サイトすべて(横断) |
# サイト単位 — 本文の全文検索
curl -s -G 'https://archivebase.ldas.jp/na-kamura-1263/rekion/api/sparql' \
--data-urlencode 'query=PREFIX schema: <https://schema.org/>
SELECT ?name WHERE { ?s schema:text ?t ; schema:name ?name .
FILTER(CONTAINS(?t, "ふるさと")) } LIMIT 5' \
-H 'Accept: text/csv'
# サイト横断 — どのサイトに何件あるか
curl -s -G 'https://archivebase.ldas.jp/api/na-kamura-1263/sparql' \
--data-urlencode 'query=PREFIX schema: <https://schema.org/>
SELECT ?siteName (COUNT(DISTINCT ?s) AS ?n) WHERE {
GRAPH ?g { ?s schema:name ?name }
?g schema:name ?siteName .
} GROUP BY ?siteName' \
-H 'Accept: text/csv'結果の形式は Accept ヘッダで選べます(application/sparql-results+json / text/csv / text/turtle / application/rdf+xml)。
どのサイトの結果か分かるようにしています
グラフ名は urn:archivebase:db:{uuid} という不透明な値なので、それだけでは出どころが 分かりません。サイト名・提供機関・URL をカタログ(urn:archivebase:catalog)に載せて あり、?g schema:name ?siteName で引けます。
画面から試す
SPARQL を書いて試せる画面があります。ジャパンサーチの SNORQL と同じく、 ?query= と ?describe= で問い合わせを URL に載せて共有できます。
https://archivebase.ldas.jp/{account}/{db}/sparqlSPARQL を書かずに引ける簡易検索もあります。
語彙
- schema.org(ジャパンサーチ利活用スキーマ系)— 既定
- RiC-O — 記述階層を扱う場合
jps:(https://jpsearch.go.jp/term/property#)—accessInfo/sourceInfoの構造化ノード
IIIF
画像・音声・動画のビューア向けです。Presentation API 3.0 と Image API に対応しています。
# マニフェスト
curl -s 'https://archivebase.ldas.jp/na-kamura-1263/rekion/api/iiif/3/1320060/manifest'音声・動画には字幕(WebVTT)を supplementing 注釈として載せているので、対応ビューアで 文字起こしが同期表示されます。Content Search にも対応しています。
DTS(Distributed Text Services)
テキストを構造ごと取り出す規格です。TEI である必要はありません。 必要なのは 「テキストを章・節・ページで切り出せること」なので、OCR や文字起こしも同じ形で出せます。
# コレクションの階層
curl -s 'https://archivebase.ldas.jp/api/dts/collection'
# 引用単位の一覧(このサイトの資料 1 件)
curl -s 'https://archivebase.ldas.jp/na-kamura-1263/rekion/api/dts/navigation?resource=1320060'
# 本文(1 単位だけ取り出す)
curl -s 'https://archivebase.ldas.jp/na-kamura-1263/rekion/api/dts/document?resource=1320060&ref=1'TEI で取り込んだサイトは何もしなくても出ます。OCR や文字起こしを持つサイトは、 サイト設定の「DTS で本文を配信する」(settings.dtsText)を入にすると出るようになります。
切り出しの単位は、資料が実際に持っている構造から決まります。手がかりが無ければ 全文 1 塊にします(無い構造を作りません)。
| 資料が持っているもの | 単位(citeType) | 参照(ref) |
|---|---|---|
コマ(media)が本文を持つ | page(1 コマ) | コマの識別子 |
時刻つきの文字起こし(cueTimes) | cue(1 発話) | 行番号 |
| 本文にコマの区切りがある OCR | page(1 ページ) | ページ番号 |
| どれも無い | text(全文) | 1 |
上から順に見て、最初に当たったものを使います。資料そのものに本文が無くても、 コマに OCR があれば出ます(資料の下にコマがぶら下がる構成)。資料にもコマにも 本文が無いものは出ません。
正準の TEI が無い資料でも、全文書の取得(?resource=…)では本文から組み立てた TEI が返ります。
出るのは公開サイトの公開資料だけです。API キーを付けても非公開の資料は返りません。
REST 検索 API
アプリから使う場合はこちらが素直です。
curl -s 'https://archivebase.ldas.jp/na-kamura-1263/rekion/api/search?q=春&limit=3'ファセット集計、ソート、絞り込みに対応しています。詳細は API リファレンス。
LOD(1 件の記述)
資料 1 件の記述を、形式を選んで取得できます。
# JSON-LD(schema.org / ジャパンサーチ利活用スキーマ系)
curl -s 'https://archivebase.ldas.jp/na-kamura-1263/rekion/data/1320060'
# Turtle
curl -s -H 'Accept: text/turtle' 'https://archivebase.ldas.jp/na-kamura-1263/rekion/data/1320060'
# RiC-O
curl -s 'https://archivebase.ldas.jp/na-kamura-1263/rekion/api/resources/1320060?format=rico'/data/{id} が正準の識別子です。Accept ヘッダで表現を選びます (コンテンツネゴシエーション)。人間向けのページは /resource/{id} です。
サイトマップ
検索エンジン向けです。全公開サイトを束ねた索引から辿れます。
curl -s 'https://archivebase.ldas.jp/sitemap.xml'OpenAPI
機械可読な API 定義です。ブラウザで見るなら /api-docs。
curl -s 'https://archivebase.ldas.jp/api/openapi.json'公開の範囲について
どの入口からも、公開サイトの公開リソースしか出ません。 非公開のものは、そもそも 配信物に含まれていません(ログインの有無で出し分けてはいません)。
RDF ストアについては、投入の時点で二段のゲートを通しています。
| 条件 | ストアに載るか |
|---|---|
| 公開サイト × 公開リソース | 載る |
| 公開サイト × 非公開リソース | 載らない |
| 非公開サイト × 公開リソース | 載らない |
SPARQL は任意のクエリを受け付けるため、読み出し時にゲートできません(GRAPH ?g で 他のグラフを読めてしまうため)。だから投入の時点で落としています。
機関をまたいだ横断からは、settings.rdf.federate: false で辞退できます。辞退しても、 そのサイト自身のエンドポイントは今までどおり使えます。