簡短回答
Deterministic ZIP 解壓後只產生一個 BagIt 1.0 base directory。十個 payload 檔保存 37 列 UTF-8 標準 CSV、等價 JSON Lines、W3C CSVW metadata、MLCommons Croissant 1.1 metadata、JSON-LD/Turtle/N-Triples SKOS 詞彙、SHACL shapes、重用指南與 CC BY 4.0 聲明。bagit.txt 宣告 1.0 版與無 BOM 的 UTF-8;bag-info.txt 記錄精確 Payload-Oxum。每個 payload 在 SHA-256 與 SHA-512 manifests 中都恰好出現一次;對應 tag manifests 涵蓋 declaration、bag metadata 與兩份 payload manifests,且不列出自己。ZIP 成員採穩定排序、固定時間戳與 stored bytes,另以獨立 SHA-256 保護 serialization 後的下載檔。解壓套件已用 LibraryOfCongress bagit-python 1.9.0 驗證。RFC 8493 是 Informational filesystem-layout 規格,不定義 ZIP serialization,也不代表機構背書、典藏庫已匯入或能防止主動攻擊。
將 ZIP 與 checksum 下載到同一目錄,先驗證外層 SHA-256,再解壓單一 base directory;送入典藏庫 staging 前,以 bagit-python 1.9.0 驗證。若典藏庫保存 transfer object,請保留原始 ZIP;若保存 filesystem package,則保留解壓後的 bag。
挑選前要注意什麼
- 完整涵蓋 U+3105 至 U+3129 注音符號,不含音訊或學習者紀錄
- 十個 payload 檔案與精確 octet.streams Payload-Oxum
- SHA-256 與 SHA-512 payload manifests,以及對應 tag manifests
- 單一 root 的 deterministic ZIP,另發布外層 SHA-256
- 開放 CC BY 4.0 payload,免帳號與 API key
實用的決策步驟
- 從套件指南下載 ZIP、checksums-sha256.txt 與 metadata.jsonld。
- 解壓 transfer object 前,執行 shasum -a 256 -c checksums-sha256.txt。
- 解壓 ZIP,確認只建立 bopomofo-37-symbols-bagit base directory。
- 使用 bagit 1.9.0 執行 python3 -m bagit --validate bopomofo-37-symbols-bagit。
- 典藏庫匯入前,先檢查本地權利、保存年限、識別碼與 authenticity 政策。
快速比較
| 需求 | 要確認什麼 | 為什麼重要 |
|---|---|---|
| 快速完整性初檢 | bag-info.txt 包含全部十個 payload streams 的精確 Payload-Oxum | 接收端可在完整 checksum 驗證前,先發現明顯不完整的傳輸 |
| 高強度 fixity | 每個 payload 與必要 tag file 都同時由 SHA-256、SHA-512 涵蓋 | 獨立 validator 可用 BagIt 1.0 必須支援的演算法驗證精確 bytes |
| 可攜式傳輸 | Archive 只有一個 base directory,採安全 ASCII paths、固定時間戳與獨立 ZIP checksum | 解壓結果可預期,serialization 後的 transfer object 也具 byte-level fixity |
資料來源與資源
- 注音 RFC 8493 BagIt 數位保存套件
- RFC 8493—BagIt File Packaging Format 1.0
- LibraryOfCongress bagit-python
- IANA application/zip media type 登錄
Lumi Bopomofo 適合誰
下載、驗證、保存或重用 BagIt 套件都不需要 Lumi 注音星球。若 App 目前仍公開,只會在開放典藏資源之後作為選用的裝置端練習層。
無訂閱無廣告兒童安全
本頁是獨立的選購指南。App Store 的功能與價格可能變動,購買前請以商店頁面資訊為準。