マテリアルズインフォマティクス・材料
材料データベースの横断検索:OPTIMADEの仕組みと値がずれる理由
- 材料データベース
- マテリアルズインフォマティクス
- 高スループット計算
- OPTIMADE
- Materials Project
- OQMD
- AFLOW
- NOMAD
- DFT
- JSON
- API
- フィルタ言語
- 生成エネルギー
- バンドギャップ
- プロバイダ
- 接頭辞
- 定義プロバイダ
- 索引メタデータベース
- 相互運用性
- 集約型
- 中央絶対差
- 再現性
- 擬ポテンシャル
- DFT+U
- 基底URL
- エンドポイント
- クライアントライブラリ
- 来歴
目次
データから材料の候補を探すマテリアルズインフォマティクスの研究者は、複数の集まりから同じ種類の記録を引き出したいと考える。これは、ある組成の化合物について、生成エネルギーやバンドギャップのような値を集め、条件を満たすものだけを残していく作業である。一つの集まりだけでは足りない。集まりごとに収める組成の範囲が違い、同じ組成の記録が片方の集まりにだけあることもあるからである。しかし、それぞれの集まりは別の研究グループが独立に作っている。外から呼び出す方法も、項目の名前も、集まりごとに違う。
これまで研究者は、集まりごとに呼び出し用のプログラムを一つずつ書き、返ってきた値を手で並べ直してきた。このやり方は二つの点で行き詰まる。一つは数の側にある。新しい集まりを一つ加えるたびに、研究者は呼び出し用のプログラムをもう一つ書き、保守し続ける。もう一つは意味の側にある。値を横に並べたあとも、各集まりがそれらの値を同じ計算の手続きで出したのかどうかは、問い合わせの文面からは読み取れない。並べた値を比べてよいのかは、別に確かめるまで分からない。横断を計画する研究者は、この二つのうち、どちらを共通の層が解決しつつあり、どちらを自分で確かめることになるのかを知る必要がある。
本稿は、材料データベースを横断して検索する共通仕様OPTIMADEを例に取る。
複数の材料データベースを横断するとき、何を共通にすれば一度で書け、そのとき何が共通にならずに残るのか。横断の仕組みは、いまどこまでを共通にする形へ進んでいるのか。
材料データベースの横断は、値を一か所に集め直す型ではなく、問い合わせの言語と応答の器だけを共通にして、値の意味は各データベースに残す型へ進んでいる。 共通の仕様はこの型を明文化し、主要な計算データベースはその仕様の下に登録している。2026年9月の実測では、登録23のうち18の案内先が構造の記録を返した1。仕様がこの型を採る理由は、違いを消す場所をAPI、つまりプログラムが別のサービスへ処理を依頼するときの呼び出しの約束事に限れば、各データベースが自分の計算も保存形式も変えずに参加できるからである23。代償は、同じ問い合わせが返す値の意味までは揃わないことである。ある比較研究では、三つの主要データベースの生成エネルギーが、対によって最大0.105 eV/atomの中央絶対差を示した4。仕様は、同じ性質を同じ名前で複数のデータベースから引けるようにする機構(定義プロバイダ)を用意している2。揃うのは名前であって、値ではない。しかも2026年9月27日の登録簿に、それを使う登録は無い。値の意味が揃うとすれば、問い合わせの層ではなく計算の手続きの側からである214。
一つの問い合わせで二つのデータベースを引いても、値の差は残る
※ この節の数値は説明のための仮定で、測定値ではありません。
二つのデータベースAとBが、同じ化合物の生成エネルギーを持っているとする。Aはこれを_a_formation_energyという名前で−2.00 eV/atomと返し、Bは_b_delta_eという名前で−2.08 eV/atomと返す。
共通の層が無い場合、研究者はAを呼ぶプログラムとBを呼ぶプログラムを一つずつ書く。データベースが10あれば、プログラムも10になる。
共通の問い合わせ言語と応答の器がある場合、研究者は「この組成の構造」という条件を一度だけ書き、同じ文面をAにもBにも送る。返る応答は同じ形をしているので、読み取るプログラムも一つで足りる。データベースが10に増えても、書く条件は一つのままである。
ただし、受け取った値を並べると二つの作業が残る。一つは名前の対応づけで、AとBで別々の名前を持つ生成エネルギーを、研究者は一つの列へまとめる。もう一つは値の由来の確認で、並べた−2.00と−2.08の差0.08 eV/atomが、AとBの計算の手続きのどの選択から来たのか、二つの値を比べてよいのかは、応答の文面からは分からない。
二つの場合を並べると、次の二点が読める。
- 各データベースが共通の言語と器を実装していれば、データベースの数だけ増えていたプログラムが一つになる。
- 揃うのは書き方と形までで、名前の対応づけと、値の違いの由来を確かめる作業は研究者が行う。
一つのフィルタ言語と一つの応答形式の下に、主要三データベースを含む23の登録が並んだ
本稿は横断の仕組みを三つの型に分ける。すべての供給元を取り込んで一つのスキーマへ直す集約型、データベースごとに研究者が保守するクライアントライブラリ、そして異なる裏側の上に共通のAPIと問い合わせ言語をかぶせる型である。OPTIMADEは第三の型に属する。集約型の実例はNOMADである。コンソーシアムの論文は、NOMADが複数の供給元から計算データを集約すると書く。NOMADはOPTIMADEの登録でもある31。OPTIMADEは、OPTIMADEコンソーシアムが策定する仕様である。この研究コンソーシアムは、Materials-ConsortiaというGitHub組織のもとで作業を進めている。コンソーシアムは2016年にLorentz Centerで仕様の作業を始め、2018年から2020年は毎年6月にCECAMで開かれたワークショップで仕様を練った3。コンソーシアムは最初の安定版v1.0を2021年にScientific Data誌の論文で記述した。現行の仕様はv1.3.0である23。集約型では、線引きが取り込む側の内部に隠れる。クライアントライブラリ型は何も揃えない。共通API型は問い合わせだけを揃えると宣言するので、その先に何が残るかを仕様から読める。
仕様は、すべての実装が受け付けるフィルタ言語、つまり検索条件を書くための共通の記法を定め、応答の形式を定め、各プロバイダ、つまり仕様に従うエンドポイントを提供するデータベースの運営者が独自の項目を公開する方法を定める。一つのクライアントが一つの問い合わせを、仕様に従うどのデータベースへも送れるようにするために、すべての実装は標準のfilterパラメータを共通のフィルタ言語で受け付けなければならない。応答の側では、すべてのエンドポイントが仕様の定めるJSON形式で応答できなければならず、既定でその形式で応答しなければならない2。
その下に、主要な計算データベースが並んだ。コンソーシアムのプロバイダ一覧には、2026年9月27日の時点で30の登録があり、そのうち基底URLを持つのは23で、残る7の登録は基底URLを持たない1。基底URLは仕様が索引メタデータベースと呼ぶもので、そこにあるのは提供するデータベースへの案内であり、問い合わせを送る先はその案内が指す各データベースである2。登録の中には、例示用の項目や、データベースではないメタ項目も含まれるので、23という数は基底URLを持つ登録の数であって、別個の材料データベースの数ではない1。密度汎関数理論(DFT)による高スループット計算で作られたAFLOW、Materials Project、OQMDの三つは、いずれもこの一覧に登録されている1。
ただし届く範囲は登録簿より小さい。2026年9月27日の確認では、23の登録のうち案内先のデータベースが構造の記録を返したのは18で、5は返さなかった1。この18はフィルタを付けない一覧取得で数えた数であり、標準のフィルタがどれにも通ることまでは示さない。共通のフィルタ言語が届くのは、今日それを実装しているエンドポイントまでである。
揃えるのは構造の記述と応答の器だけで、計算値は各プロバイダの接頭辞に残す
仕様の序文は、理由を二文で書く。研究者が独立した材料データベースを作るにつれ、複数のデータベースからデータを取り出すことで得られるものは多い。しかし、データベースごとにAPIが違えば、取り出しの自動化は難しい2。答えの中身は、違いを消す場所をAPIに限ることである。仕様が共通の名前を与えるのは元素、組成、格子、原子位置のような構造の記述であり、生成エネルギーやバンドギャップのような計算値は共通のプロパティに含まれない23。仕様は問い合わせの書き方と応答の器を共通にし、その器に入る値は各データベースが自分の計算から埋める。
参加の敷居を下げる仕組みも、同じ設計から出る。データベースには、仕様が定義しない独自の性質を公開したい事情がある。それを衝突なく公開できるように、プロバイダはプロバイダ固有の性質にアンダースコアと自分の登録済み接頭辞を頭に付ける。仕様が示す形は_exmpl_custom_fieldである。そして仕様はこう書く。プロバイダ固有のフィールドは、その一つのデータベースの文脈の中でだけ一貫していればよい2。複数のデータベースを持つプロバイダなら、同じ名前を別の意味で使ってもよく、仕様は計算したバンドギャップと測ったバンドギャップを同じ名前で出す例を挙げる2。仕様書は、プロバイダ間でデータが同一であることも、中央のデータベースも、保存形式や裏側の実装も要求せず、索引となるメタデータベースは任意である2。したがって参加するデータベースはエンドポイントを一つ立てればよく、集約する側の作業を待たずに参加できる。論文はこれを、仕様が標準化するのは構造と化学の基本的な情報であり、プロバイダはそれを超える性質を接頭辞付きで公開できる、と言い直している3。コンソーシアム自身の論文が掲げた目標は、データベースをアクセス可能で相互運用可能にすることであり、同一にすることではなかった3。
生成エネルギーは三つの別名で返り、対によって最大0.105 eV/atomずれる。定義プロバイダは未登録
共通の仕様が扱うのは、各データベースに共通する情報である。それを超える性質はプロバイダ接頭辞の内側に置かれ、別のプロバイダへは持ち出せない。同じ性質を二つのプロバイダが独自に公開していても、共通の定義を採らないかぎり名前が違い、クライアントは別々に書く。Materials Projectは生成エネルギーを_mp_stabilityの中に汎関数ごとに分けて返し、OQMDは2026年9月の確認で_oqmd_delta_eとして返した。AFLOWは_aflow_enthalpy_formation_atom(原子あたりの生成エンタルピー)として持ち、response_fieldsでこの名を指定したときに返す1。仕様はこの形を織り込んでいて、_exmpl1_band_gap<2.0 OR _exmpl2_band_gap<2.5のように、プロバイダ固有の名前を並べた一つのフィルタを複数のデータベースへ送れると例示する2。そして仕様は、返る値がどのように計算されたかを共通のプロパティとしては定めない。calculationsという項目の型と、その入出力ファイルへの関係は用意するが、それらが持つ共通の項目は識別子や更新日時にとどまる。構造と計算の間の関係については、来歴の木を共通の形で出す機構を将来の版で実装するつもりだと注記し、それまでは各プロバイダが自分の接頭辞で拡張するよう勧めている2。名前を並べ直したあとに、異なる手続きで得られた値が並ぶことを、仕様は禁じない2。
この代償が実際にどう現れるかは、データベースそのものを比べた研究から読める。Hegdeらは2023年の論文で、同じ初期結晶構造から計算された材料について、AFLOW、Materials Project、OQMDの三つのデータベースの性質を比べた。比べたのは、Materials Projectのv2019.05、OQMDのv1.2、2021年6月に取得したAFLOWである4。数字を三つだけ引く。生成エネルギーの中央絶対差はデータベースの対によって異なり、AFLOWとMaterials Projectの間で0.105 eV/atom、AFLOWとOQMDの間では0.019 eV/atomである4。材料が磁性を持つかどうかの判定は最大で15%の記録で食い違う4。著者らは生成エネルギーの差を、DFTの生成エネルギーと実験値との差にほぼ等しいと位置づける4。生成エネルギーは比べた四つの性質のうち再現性が高い側で、バンドギャップの中央絶対差は最大0.21 eVに達する4。三つのデータベースの値の差を、著者らはほぼすべて計算の選択の違いに帰し、その中にソフトウェアの版と不具合も数える。比較の途中で見つけたAFLOWのホウ化物の不具合は、比べる前に除いている4。Hegdeらが調べたのはOPTIMADEではなく、データベースそのものだった。しかし三つへ同じ組成の問い合わせを送っても、結果は揃わない。2026年10月2日、AFLOWは標準のchemical_formula_reducedによるフィルタを受け付けず、元素の集合で書き直すと記録を返した1。返った生成エネルギーは三つの別名を持ち、名前を並べ直したあとに並ぶのは、上の比較が示したように食い違いうる値である。仕様は問い合わせの書き方を揃えたが、計算の手続きは揃えなかった。
代償の持続は、名前の側と意味の側で別々に決まる。名前の側では、仕様がもう一つの機構を用意している。複数のプロバイダが同じ性質を公開するとき、仕様の外にある定義プロバイダの定義を採り、その接頭辞で同じ名前を使えば、その名前は複数のデータベースをまたいで一つのフィルタで引ける2。しかし2026年9月27日、基底URLを持つ23の登録のどれも、仕様が定義の列挙を求める/info/structuresで定義を返さなかった21。機構は仕様にあり、使う登録はまだ無い。意味の側では、問い合わせの層は値を揃えられない。ただし、Hegdeらは勧告の一つに、計算の選択が大きく効く性質について、報告する値の不確かさをウェブとプログラムの両方のインタフェースで見えるようにすることを挙げる4。大きな食い違いの一部については、由来を擬ポテンシャル、DFT+Uの形式、元素の参照状態に関する選択に求め、高スループットDFTのさらなる標準化が再現性に資すると論じている4。値の意味が揃うとすれば、それは計算の手続きが揃うときであって、問い合わせの言語が揃うときではない。
仕様・運営者・比較研究の三者が同じ線を引き、値の意味は計算の手続きが決める
線は三者が同じ場所に引いている。仕様を作る側は、揃える範囲を問い合わせと応答の器に限り、値の同一性を要求しないと明文化した23。データベースを運営する側は、その条件の下で主要な三つを含む23の登録を置き、生成エネルギーは各自の接頭辞の内側で公開している1。データベースを比べる研究の側は、相互運用性の取り組みとしてOPTIMADEの共通スキーマを挙げ、それとは別に、値の食い違いを計算の手続きの標準化で埋めるための勧告を並べている4。三者が、問い合わせは共通に、値の意味は各データベースに、という同じ線を引いている。三者は別々の立場だが、人は重なっている。比較研究の筆頭著者であるHegdeは、コンソーシアムの論文の56名の共著者の一人でもある3。
出典4件
-
OPTIMADEコンソーシアム「プロバイダ一覧」providers.json(2026年9月14日・21日・27日、10月2日取得). https://providers.optimade.org/providers.json — 30登録のうち基底URLを持つのは23、案内先が構造を返したのは18。各エンドポイントの応答は本稿の実測。 ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11
-
OPTIMADEコンソーシアム「OPTIMADE API Specification v1.3.0」optimade.rst, 2025(2026年9月14日時点). https://github.com/Materials-Consortia/OPTIMADE/blob/master/optimade.rst — 共通のフィルタ言語とJSON応答を必須とし、固有の性質は接頭辞付きで一つのデータベース内でだけ一貫すればよいとし、定義プロバイダの機構を置く。 ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12 ↩13 ↩14 ↩15 ↩16 ↩17
-
Andersen ほか(著者56名)「OPTIMADE, an API for exchanging materials data」Scientific Data 8, 217, 2021. https://doi.org/10.1038/s41597-021-00974-z — v1.0を記述した論文。目標をアクセス可能で相互運用可能にすることとし、NOMADを集約の例に挙げる。 ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9
-
Hegde ほか「Quantifying uncertainty in high-throughput density functional theory」Phys. Rev. Mater. 7, 2023. https://arxiv.org/abs/2007.01988 — 三つのデータベースの比較。生成エネルギーの中央絶対差は対により最大0.105 eV/atom。 ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11
この記事はAIを使用して執筆されました。内容には誤りが含まれる可能性があります。事実や数字の出典は脚注から確かめられます。