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 形式では技術的には必要ありません。
一方、このツールはまだ次の点を確認していません。
- データセットのインポート
- 属性とプロパティ参照
- コンセプトの拡張