共通データ仕様の基礎知識 (1/5)

共通データ仕様に含まれる仕様の種類

 一般的にデータの仕様というと大きく分けて3種類の仕様が含まれています。ひとつ目はコンピュータ用の帳票の形式の定義、つまりコンピュータ用の帳票のひな形です。ふたつ目は、項目に登録する内容に対する各種規定や制約事項。最後はコンピュータ用の帳票間の関係です。

 これに対して共通データ仕様では、理解しやすさを優先して記述を2種類に分けてあります。ひとつ目はコンピュータ用の帳票の形式の定義および定義した項目に対する”用語を除いた”規定や制約事項です。これをコンピュータ用の帳票の形式、またはデータモデル1と呼んでいます。ふたつ目は、データ項目に登録する用語を定めた用語の一覧です。帳票間の関係は帳票の形式の定義に含みます。なぜ用語を分けたかと言うと、用語は紙やpdfの帳票であっても重要なためです。言い換えると、用語はすぐに適用する必要があり、それ以外は徐々に適用範囲を広げていく事も可能です。尚、データモデルは、データモデル自身とデータモデルの部品である「データパーツ」の二つに分かれています。本Webページでは、それらが何者なのかについて少し詳しく説明します。

データモデルとは

 まずは、一般的な「データモデル」について説明します。データモデルとはコンピュータ用に作られた帳票のひな形の事です。帳票とは、紙(やpdfなど)に項目が並んでいるものですが、例えば請求書や住民票などの事です。ここでデータモデルの一例を示します。下図は、「放火対象物点検結果報告書」という人間向けに策定された帳票のひな形です。

 この様に、帳票には項目が並んでいます。但し、この帳票は人間向きに作られているので、コンピュータにとっては多少分かりにくい構造になっています。例えば、「届出者」の下に住所・氏名・電話番号という項目が並んでいますが、人間であれば届出者の住所であり氏名であり電話番号である事は自明ですが、コンピュータにとってはRPAなどのそれなりに高度なソフトウェアを使わないと理解が難しい構造です。それをコンピュータ用の帳票に加工してみましょう。下図の左が元の人間用帳票、右がコンピュータ用の帳票です。この形式はJSON(ジェイソン)という形式です。

 この様に人間用の帳票とコンピュータ用の帳票には本質的には余り差はありません。見ると何となくわかりますよね。

 尚、赤字で「帳票番号」という項目が追加されていますが、これは一枚いちまいの帳票を識別するためのもので、一般にはidとかIDとか言われるものです。人間であれば、「先日○○さんから提出された・・・の帳票」と言えばどの帳票が分かりますが、コンピュータはそれほど器用ではありませんので、この項目を追加しています。

 さて、このコンピュータ用の帳票には幾つか問題があります。例えば、以下の点があります。

  • 報告日が「〇年〇月〇日」という表現になっていますが、政府のGIFの規定やISOの規定に合致していません。GIFの規定ではYYYY-MM-DDの形式と決められています
  • 氏名の欄ですが、届出者が自治体の様な法人の場合は、個人名の代わりに法人名と代表者名を入れ込む構造になっていて、やはりコンピュータには分かりにくい形式です
  • この形式は、実はデジタル庁推奨モジュールであるFiware/Orionの規格(NGSI V2と言います)に合っていません

共通データ仕様はコンピュータ用の帳票の仕様を定めていますが、前記の様な問題を解決した仕様となっています。このため、共通データ仕様は上図と違って項目名が英単語の組み合わせになっているなど多少見難いものになっていますが、根本は上図の例と変わりありません。

  1. 「データモデル」という言葉は色々な使われ方をします。モノやコトに概念上存在する項目(属性)を列挙したものを指す場合、各項目の制約事項を加えたものを指す場合、データ仕様全体を指す場合、そして語彙と呼ばれるモノやコトを構成する基本要素を指す場合などもあります。 ↩︎