Metacat は EZID サービスを使って DOI を生成(「鋳造」)し、 その識別子をクライアントに返す。 その識別子は、その Metacat インスタンス用に設定された名前空間 (shoulder) (訳註・EZID では名前空間のことを shoulder と呼んでいるらしい。 以下、単に名前空間と訳す) に対して ユニークであることを EZID によって保証される。 その Metacat インスタンスは、EZID サービスを利用するために 有効な EZID アカウントを持たなければならない。
その DOI を CN (訳註・ DataONE の Coordinating Node のこと)に 予約することを試みることはない。なぜなら ユニークな名前空間と、その名前空間のもとで ID を生成するための特定の EZID アカウントは、 Metacat に設定されているからである。
DOI は、以下の metacat.properties が設定されている場合にのみ 生成される。
Metadata Field | Source or value of metadata |
---|---|
guid.ezid.enabled | true (default, false) |
guid.ezid.username | <EZID account> (default, “apitest”) |
guid.ezid.password | <EZID password> (default, “apitest”) |
guid.ezid.doishoulder.1 | <EZID shoulder for home server> (default, “doi:10.5072/FK2”) |
DOI 付きのオブジェクトが DataONE API を使用して Metacat に投入/更新された時、 Metacat は、そのオブジェクトの情報に基づいた適切なメタデータとともに EZID を供給する。
以下のメタデータは、AccessPolicy に「誰でも閲覧可」ルールを含むように指定された オブジェクトに対して提出される。 同じメタデータは、 CN 上での SystemMetadata の変化について通知を受けた時に、更新される。 新しいオブジェクトが追加された時(MN.update())、 新しいオブジェクトのメタデータが追加されたかのように 古いオブジェクトのメタデータが更新される。そのどちらも EZID API を通じて なされる。
Metadata Field | Source or value of metadata |
---|---|
dc_identifier | the DOI value |
datacite_url | the MN /object URL |
dc_title | collect from EML; or default to “[Meta]Data object” depending on type |
dc_creator | collect from EML; default to SM.rightsHolder |
dc_publisher | Member Node nodeId or nodeName |
datacite_publicationyear | collect from EML; default to SM.dateUploaded |
datacite_resourcetypegeneral | “Dataset” |
datacite_resourcetype | one of “metadata” or “data” |
datacite_format | SM.formatId |
datacite_relatedidentifier_ispreviousversionof | SM.obsoletedBy |
datacite_relatedidentifier_ispreviousversionoftype | “DOI”, if above exists |
datacite_relatedidentifier_isnewversionof | SM.obsoletes |
datacite_relatedidentifier_isnewversionoftype | “DOI”, if above exists |
datacite_relatedidentifier_ispartof | ORE DOI or MN /object URL |
datacite_relatedidentifier_ispartoftype | “DOI” or “URL”, if above exists |
以下のような形式の識別子でオリジナルの Metacat API を使用して オブジェクトを投入/更新すると、
scope.docid.rev
(例えば、 “smith.1.1”)、次のような形式の DOI になる。
<configured doi shoulder>/scope.docid.rev
(例えば、 “doi:10.5072/FK2/smith.1.1”)。そして、 オブジェクトが DataONE API を通して提出された時に、 同じメタデータが登録される。