Unpaywall Data Feed:OAデータセットのアップデート情報の有料サービス
Unpaywall Data Feedについて
OAののデータセットは、様々な理由で日々変化しています。
例:
・新しい論文が出版された!
・著者が新しいOAコピーを既存の論文のリポジトリに自己アーカイブする!
・エンバーゴ期間が終了し、論文がOA化される!
・出版社がホストしている「ブロンズOA」論文(自由に読めるがオープンライセンスのないもの)が、OAから有料アクセスに移行される!
多くのユースケースでは、特に学術情報をサービス提供する企業及び組織にとっては、これらの変更に常に対応することがとても重要です。スナップショットでも入手が可能ですが、年に数回しか更新されないので、日々刻々と変わるOAの情報を的確に反映するのには、あまり適していません。同様に、既存のAPIは、DOI空間全体をスクロールして変更をポーリングするのに何ヶ月もかかるので、これには適していません。
そこで、OurResearch社ではこの問題に対処するためにUnpaywall Data Feedを構築しました。このフィードの購読者は、パスワードで保護されたサーバーにアクセスすることができ、そこでは、データベースへの変更を反映した変更ファイルが毎日、毎週投稿されます。これらの変更ファイルは、APIやスナップショットと同じデータ形式を使用しており、前回のファイルが生成されてから何らかの変更があったすべてのレコードの行を含んでいます。変更ファイルにアクセスするために、ウェブインターフェースとJSONエンドポイントの両方を提供しています。
Unpaywall Data Feedの購読は、毎日更新される現在のスナップショットへのアクセスも提供します。つまり、データフィードを購読すると、いつでもデータベースの完全で最新のイメージ(1億2000万行すべて)をダウンロードすることができるのです。
以下の手順で、スナップショットと変更ファイルを一緒に使用し、コピーを最新に保つことができます。
1. 現行のスナップショットをダウンロードし、インポートする。
2. 全ての変更ファイルをダウンロードし、スナップショットより前の更新タイムスタンプを持つ最初のファイルから始めます。
3. 各変更ファイルを一行ずつ読み、その行のDOIの前のレコードを上書きまたは更新して、インポートします。
4. 上記のように、変更ファイルがリリースされるたびに、インポートを続けます。
Unpaywall Data Feedは、私たちの製品の中でもユニークで、運用にお金がかかります。これは、他の製品よりも運用コストが高いからです。一度だけすべてを取得するのはかなり安いですが、継続的に行うのはそうではありません。いずれは透明性のある価格体系にしたいと考えていますが、今は市場の状況を見ながら、よりカスタムな方法で対応しています。非営利団体である私たちの目標は、これで大きな収益を得ることではなく、Unpaywallを長期にわたって使えるリソースとして維持するための持続可能なモデルを確保しながら、すべての人に公正な取引を提供することです。
Unpaywall Data Feedにご興味のある方は、組織の規模やデータの使用目的などをお知らせください。ご連絡をお待ちしております。
その他の注意事項
Data Feedへのアクセスは、APIキーによって提供されます。
アクセスは次の3つの方法で可能です。
1. Data Feed Snapshot – 年に2回webサイトで入手可能
2. REST API – 1日あたり最大10万回のAPIコールを提供します。
3. Dat Feedの購読 – リアルタイムの更新
毎日の変更ファイル更新
Snapshot
Reset API
データフォーマット概要
database snapshot、Simple Query Tool、REST API、およびData Feed製品はすべて、JSON形式のデータを返します。このスキーマは、このページで非公式に説明されています。
ソースに関係なく、返される各レコードは、リソースのメタデータを含む1つのDOIオブジェクトで構成されています。各DOIオブジェクトには、0個以上のOA Location Objectsのリストが含まれます。
新しいフィールドはいつでも追加することができます。ほとんどの場合、フィールドは使用されなくなるので、既存のコードに問題はありませんが、フィールドの数が固定されていることに依存しないほうがよいでしょう。
(beta)とマークされたフィールドは、警告なしに動作が変更される可能性があります。他のフィールドの変更はUnpaywallメーリングリストにて発表される予定です。
Unpaywall data feedコンセプトイメージ
OAデータ種別内訳
Medicine | 医学 | 18% | 6,300,000 |
Chrmistry | 化学 | 11% | 3,850,000 |
Computer science | コンピュータ科学 | 11% | 3,850,000 |
Materials science | 材料科学 | 8% | 2,800,000 |
biology | 生物学 | 7% | 2,450,000 |
Psychology | 心理学 | 6% | 2,100,000 |
Political Science | 政治学 | 6% | 2,100,000 |
Physics | 物理学 | 5% | 1,750,000 |
Art | 芸術 | 4% | 1,400,000 |
Business | ビジネス | 4% | 1,400,000 |
Sociology | 社会学 | 4% | 1,400,000 |
Mathematics | 数学 | 3% | 1,050,000 |
Environmental Science | 環境科学 | 3% | 1,050,000 |
Philosophy | 哲学 | 3% | 1,050,000 |
Geography | 地理学 | 2% | 700,000 |
History | 歴史学 | 2% | 700,000 |
Geology | 地質学 | 1% | 350,000 |
Economics | 経済学 | 1% | 350,000 |
Engineering | 工学 | 1% | 350,000 |
total | 全体 | 100% | 35,000,000 |
Unpaywall Data feedケーススタディ
DOI object参考情報
DOI object | 説明 | コメント |
best_oa_location Object|null |
DOIにBestなOA Location Objectsを見つけることができる | “Best”ロケーションは、まず出版社がホストするコンテンツを優先し(例:ハイブリッドまたはゴールド)、次にレコードのバージョンに近いバージョンを優先し(AcceptedVersionよりもPublishedVersion)、そしてより権威あるリポジトリ(CiteSeerX よりもPubMed Central)を優先するアルゴリズムを用いて決定されます。 OA Locationsが見つからなかった場合はnullを返します。 |
data_standard Integer |
このリソースで使用されるデータ収集方法を示す。 | 可能な値 1. 第一世代のハイブリッド検出。Crossref APIからのデータのみを使用してハイブリッド状態を判定する。Elsevierの論文と他のいくつかの出版社では良い結果を提供しますが、ほとんどの出版社ではハイブリッドがチェックされません。 2. 第2世代のハイブリッド検出。追加のソースを使用し、すべての出版社のハイブリッドをチェックします。data_standard==2は、このデータセットについて寄稿された論文で使われているバージョンです。 |
doi String |
リソースのDOIです。 | 常に小文字での記載となります。 |
doi_url String |
ハイパーリンク形式のDOI | このフィールドは、doiフィールドの前に “https://doi.org/”を付加しただけのものです。これは、CrossrefのDOI表示ガイドラインに従った正しいフォーマットでDOIを表現しています。 |
genre String|null |
リソースタイプ | 現在、分野は与えられたリソースのCrossref-reported Typeと同一としております。”Journal-article”タイプが最も一般的ですが、その他にも多くの種類があります。 |
is_paratext Boolean |
項目は、目次のようなジャーナルの付属的な部分か? | Paratextかどうかの判断方法については、こちらをご覧ください。 |
is_oa Boolean |
リソースのOAコピーがあるかどうか? | best_oa_locationがNULLでない場合、trueを返す。 |
journal_is_in_doaj Boolean |
リソースがDOAJにインデックスされているジャーナルかどうか? | リソースがゴールドOAかどうかを定義するのに便利です (定義によっては、journal_is_oaもご参照ください)。 |
journal_is_oa Boolean |
このリソースは完全OAジャーナルとして出版されているか? | リソースがゴールドOAであるかどうかを定義するのに便利です。DOAJに含まれているかどうかに関わらず、完全なOAのジャーナルが含まれます。これには、すべてOA出版社によるジャーナルや、そうでなければ全てハイブリッドまたはブロンズOAとなるジャーナルが含まれます。OAジャーナルの詳細については、こちらをご覧ください。 |
journal_issns String|null |
リソースを出版しているジャーナルに割り当てられているISSN | 同じジャーナルのプリント版と電子版に別々のISSNが割り当てられていることがあります。複数のISSNがある場合は、カンマで区切ります。例:1232-1203,1532-6203 |
journal_issn_l String|null |
リソースを出版するジャーナルのISSNを1つ指定する。 | ISSN-Lは、ジャーナルに複数のISSNが割り当てられている場合、そのジャーナルのプライマリーキーとして使用することができます。リソースのjournal_issnsは、issn.org tableを使用してISSN-Lにマップされますが、いくつかの手動での修正が行われます。 |
journal_name String|null |
リソースを出版しているジャーナル名 | 同じジャーナルが複数の名称文字列を持つ場合があります(例:「J. Foo」、「Journal of Foo」、「JOURNAL OF FOO」など)。これらは我々のデータベース内で完全に標準化されておりませんので、注意して使用してください。 |
oa_locations List |
リソースに関連するすべてのOA Locationオブジェクトのリスト | リストは、ほとんどの場合、不要です。このリストは、主に研究目的のために収録しております。 |
oa_locations_embargoed (beta) List |
リソースに関連するOA Location objectsのうち、まだ利用可能でないもののリスト | このリストには、ライセンスのメタデータやジャーナルの遅延OAポリシーなどの情報に基づいて、将来的に利用可能になると予想される場所が含まれています。これらはリソースのoa_statusには影響せず、best_oa_locationやfirst_oa_locationにはなりえません。 |
first_oa_location Object|null |
oa_dateが最短のOA Location Object | OA Locationsが見つからなかった場合はnullを返します。 |
oa_status String |
リソースのOA状態(色) | OAリソースを場所とライセンス条件によって、ゴールド、ハイブリッド、ブロンズ、グリーン、クローズのいずれかに分類しています。oa_statusの付け方については、こちらをご覧ください。 |
has_repository_copy Boolean |
リソースのコピーがリポジトリに存在するかどうか | リソースがhost_type = “repository”のOA Locationを少なくとも1つ持つ場合、true を返します。それ以外はFalseを返します。 |
published_date String|null |
リソースが出版された日付 | 出版社によって報告されたもので、残念なことに、現在のところ何をもって正式に”出版された”とみなすかについての定義に一貫性がありません。ISO8601形式のタイムスタンプで、一般的には年-月-日だけの形式で返されます。 |
publisher String|null |
リソースの出版社名 | 出版社の名前の文字列は、特に出版社の買収や分割によって、時間の経過とともに変化することにご留意ください。 |
title String|null |
リソースのタイトル | タイトル情報 |
updated String |
リソースのデータが最後に更新された時間 | ISO8601形式のタイムスタンプで返されます。Example: 2017-08-17T23:43:27.753663 |
year Integer|null |
リソースが出版された年 | published_dateの年部分のみ |
z_authors List of Crossref Contributor objects, or null |
リソースの著者名 | これらはCrossref Contributor objectsのリストとしてフォーマットされており、Crossref API docsに記載されています。 Contributor objectsはシーケンス要素も含むことができますが、これは執筆時点では Crossref API ドキュメントに含まれていません。 |
OA Location object | 説明 | コメント |
evidence String |
どのようにOA Locationを見つけたか? | デバッグ用途で利用します。値は予告なしに変更されることがあるので、この内容の正確さに依存しないでください。値の例oa journal(via journal title in doaj)DOAJデータベースから、この論文が掲載されているジャーナル名を検索しました。 oa repository(via pmcid lookup) PubMed Centralの論文インデックスからこの論文を発見しました。 |
host_type String |
OA Locationを提供するホストの種類 | 2つの値が設定可能です。 publisherは、この場所が論文の出版社によって提供されていることを意味します(実際には、これは通常、DOIが解決するのと同じドメインでホストされていることを意味します)。 repositoryは、この場所がオープンアクセスのリポジトリによって提供されていることを意味します。プレプリントサーバーは、DOIがそこに解決されたとしても、リポジトリとみなされます。 |
is_best Boolean |
この場所は、リソースにとってbest_oa_locationなのか? | どの場所が”Best”であるかについての詳細は、DOIオブジェクトのbest_oa_locationの説明を参照してください。 |
license String|null |
コピーが公開されているライセンス | ライセンスには下記のいくつかのタイプを返信します。 ・クリエイティブ・コモンズ・ライセンスは、一律に小文字で表記され、略されます。例: cc-by-nc ・出版社固有のライセンスは、次のフォーマットで正規化されます:Acs-specific: authorchoice/editors choice usage agreement ・何らかのOAライセンスが使用されたという証拠があるが、この場所のウェブページで直接報告されていない場合、このフィールドはimplied-oaを返します。 ・ライセンスを特定できない場合、またはOAライセンスでない場合、このフィールドはnullになります。 |
oa_date String|null |
ドキュメントがこの場所で最初に利用可能になったとき | oa_dateはホストタイプによって異なるように計算され、すべてのoa_locationsで利用できるわけではありません。詳しくは https://support.unpaywall.org/a/solutions/articles/44002063719を参照してください。 |
pmh_id String|null |
場所を発見したOAI-PMHエンドポイント | 主に内部デバッグのために利用されます。OAI-PMHで見つからなかった場所にはNULLです。 |
updated String |
この場所のデータが最後に更新された時刻 | ISO8601形式のタイムスタンプで返されます。Example: 2017-08-17T23:43:27.753663 |
url String |
もしあればurl_for_pdfを、そうでなければランディングページのURLを指定 | url_for_pdfが見つからない(あるいは存在しない)場合、このフィールドはurl_for_landing_pageを使用し、これはいくつかのユースケースで有用な代替品となるものです。 |
url_for_landing_page String |
OAコピーを説明するランディングページのURL | host_typeが”publisher”の場合、ランディングページには通常HTMLフルテキストが含まれます。 |
url_for_pdf String|null |
OAコピーのPDF版があるURL | 説明で記述の通り |
version String |
この場所からアクセスできるコンテンツバージョン | 与えられた論文のバージョンを定義するために、DRIVER Guidelines v2.0 VERSION standardを使用しています;用語の完全な定義については、これらのドキュメントを参照してください。ここでは、私たちがサポートする3つのバージョンタイプについて、基本的な考え方を説明します。 submittedVersion:まだ査読されていません。 acceptedVersion:査読済みですが、出版社特有の書式がありません。 publishedVersion:記録されたバージョンです。 |