DSPL のチェック

DSPL Check は、公式の DSPL スキーマの遵守、内部参照の一貫性、CSV ファイル構造など、さまざまな基準で DSPL データセットを検証するユーティリティです。このユーティリティは、DSPL のインポートエラーの原因となる多くの問題を捕捉できます。これにより、入力プロセスを開始する前に、これらの問題を迅速に検出して修正できます。

DSPL データセットでは(まだ)すべての問題の可能性をチェックするわけではありません。ただし、ほとんどの問題は捕捉されるため、データセットがツールによって正常に検証されていれば、Public Data Explorer にデータセットをインポートして可視化できる可能性が高くなります。詳細については、以下の詳細の確認をご覧ください。

DSPL のチェックを実行する

基本情報

注: 以下の手順は、DSPL ツールページに掲載されているインストール手順に沿っていることを前提としています。

DSPL チェックを実行するには、システム上のターミナル / プロンプトに移動して、次のように入力します。

python dsplcheck.py [path to dataset XML or zip file]

角かっこ内の用語は、データセット XML ファイルまたは圧縮された DSPL バンドルへの相対パスに置き換えられます。

データセットが有効な場合、ツールは「検証成功」のメッセージを出力します。それ以外の場合は、検証が失敗した理由を説明するエラー メッセージが 1 つ以上出力されます。エラーが発生した場合は、指示に従ってデータセットを修正し、ツールを再度実行します。

チェックレベル

デフォルトでは、DSPL チェックは、メインの DSPL XML ファイルから参照されている CSV を含む、データセット全体を調べます。このプロセスは中小規模のデータセットでは問題なく機能しますが、非常に大きなデータセット(数百メガバイト以上)では行き詰まったり、メモリが不足したりする可能性があります。

この問題に対処するため、ツールにはチェックレベル オプションが用意されています。これにより、必要に応じてチェックの範囲を設定し、パフォーマンスを改善できます。使用する場合は、データセットパスの前に --checking_level=[...] を挿入します。角かっこ内の用語は次のいずれかの値に置き換えられます。

  • schema_only: データセットの XML ファイルを公式の DSPL スキーマに照らして検証し、停止します。
  • schema_and_model: スキーマと基本的なモデル検証を行いますが、ヘッダー行以降の CSV コンテンツは無視します。
  • full: スキーマ、モデル、データの検証を行います(デフォルト)。

詳細の確認

DSPL チェックは、次の一連の検証を行います。

  • XML スキーマ検証: データセット メタデータ ファイルが有効であり、公式 DSPL スキーマに準拠していることを確認します。
  • CSV の有無: データセットから参照されたすべての CSV ファイルが存在し、読み込み可能であることを確認します。
  • コンセプト チェック: データセット内の各コンセプトについて、次のようなさまざまなチェックを行います。
    • データセットには少なくとも 1 つのコンセプトがある*
    • トピックの参照はすべて有効です
    • コンセプトを非時間ディメンションとして使用する場合、テーブル参照が存在します*
    • テーブル参照が存在する場合は有効です
    • 参照されたテーブルに、コンセプト ID に対応する列がある
  • スライス チェック: データセット内の各スライスについて、次のようなさまざまなチェックを行います。
    • データセットには少なくとも 1 つのスライスがあります*
    • 少なくとも 1 つのスライスが時間以外のディメンションを参照しています*
    • スライスには、少なくとも 1 つの指標と 1 つのディメンションがあります
    • 正確に 1 つのディメンションが参照する time 正規コンセプト*
    • 各スライスには固有のディメンションの組み合わせがある
    • ローカルのコンセプトに関するすべての参照が有効です
    • テーブル参照が存在します
    • 表参照は有効です
    • 参照されたテーブルには、スライス内の各ディメンションと指標の指標の列があります
    • 参照するテーブルの列の型が、スライスで使用されているコンセプトの型と一致していること
  • テーブルの確認: データセットに含まれる各テーブルに対して、次のようなさまざまな確認を行います。
    • データセットには少なくとも 1 つのテーブルがあります*
    • CSV ファイルの列数がテーブルと同じである
    • CSV ヘッダーの文字列が列 ID と一致する
    • すべての日付列に format 属性があります
    • 日付形式は関連する時刻のコンセプトと大まかに(たとえば)time:year 列の形式に少なくとも 1 つの y 文字が含まれます*
  • CSV データチェック: データセット XML ファイルで参照されている CSV データファイルについて、以下のようなさまざまな確認を行います。
    • CSV の各行のヘッダーは、列の数と同じです。
    • コンセプト定義の CSV は、コンセプト ID ごとに 1 行以上入力してください
    • スライス CSV には、ディメンションの組み合わせごとに 1 行以下を指定してください
    • スライス CSV で参照されるディメンション値が有効
    • スライス CSV が適切に並べ替えられている
    • 整数と浮動小数点の CSV 値の形式が正しい

* が付いている条件は、Public Data Explorer で可視化するために必要ですが、DSPL 形式では技術的には必要ありません。

一方、このツールはまだ次の点を確認していません。

  • データセットのインポート
  • 属性とプロパティ参照
  • コンセプトの拡張