Skip to content

対応している規格と、その入口

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上限はありません
bash
# このリポジトリは何者か
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 がメタデータの収穫で あるのに対し、こちらは「どのリソースがいつ変わったか」を伝えます。

bash
# 入口(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その機関の公開サイトすべて(横断)
bash
# サイト単位 — 本文の全文検索
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}/sparql

SPARQL を書かずに引ける簡易検索もあります。

語彙

  • schema.org(ジャパンサーチ利活用スキーマ系)— 既定
  • RiC-O — 記述階層を扱う場合
  • jps:https://jpsearch.go.jp/term/property#)— accessInfo / sourceInfo の構造化ノード

IIIF

画像・音声・動画のビューア向けです。Presentation API 3.0 と Image API に対応しています。

bash
# マニフェスト
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 や文字起こしも同じ形で出せます。

bash
# コレクションの階層
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 コマ)コマの識別子
時刻つきの文字起こし(cueTimescue(1 発話)行番号
本文にコマの区切りがある OCRpage(1 ページ)ページ番号
どれも無いtext(全文)1

上から順に見て、最初に当たったものを使います。資料そのものに本文が無くても、 コマに OCR があれば出ます(資料の下にコマがぶら下がる構成)。資料にもコマにも 本文が無いものは出ません。

正準の TEI が無い資料でも、全文書の取得(?resource=…)では本文から組み立てた TEI が返ります。

出るのは公開サイトの公開資料だけです。API キーを付けても非公開の資料は返りません。


REST 検索 API

アプリから使う場合はこちらが素直です。

bash
curl -s 'https://archivebase.ldas.jp/na-kamura-1263/rekion/api/search?q=春&limit=3'

ファセット集計、ソート、絞り込みに対応しています。詳細は API リファレンス


LOD(1 件の記述)

資料 1 件の記述を、形式を選んで取得できます。

bash
# 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} です。


サイトマップ

検索エンジン向けです。全公開サイトを束ねた索引から辿れます。

bash
curl -s 'https://archivebase.ldas.jp/sitemap.xml'

OpenAPI

機械可読な API 定義です。ブラウザで見るなら /api-docs

bash
curl -s 'https://archivebase.ldas.jp/api/openapi.json'

公開の範囲について

どの入口からも、公開サイトの公開リソースしか出ません。 非公開のものは、そもそも 配信物に含まれていません(ログインの有無で出し分けてはいません)。

RDF ストアについては、投入の時点で二段のゲートを通しています。

条件ストアに載るか
公開サイト × 公開リソース載る
公開サイト × 非公開リソース載らない
非公開サイト × 公開リソース載らない

SPARQL は任意のクエリを受け付けるため、読み出し時にゲートできませんGRAPH ?g で 他のグラフを読めてしまうため)。だから投入の時点で落としています。

機関をまたいだ横断からは、settings.rdf.federate: false で辞退できます。辞退しても、 そのサイト自身のエンドポイントは今までどおり使えます。