MediaWiki Tabular Data との比較
非公式翻訳 (Unofficial translation). これはデータパッケージスタンダードの有志による日本語訳です。 正典は英語原典 datapackage.org 。未訳の箇所は英語の原文を参照してください。
| 著者 | Jakob Voß |
|---|
MediaWiki は、Wikipedia をはじめ、メディアファイルのリポジトリである Wikimedia Commons など、Wikimedia Foundation の関連プロジェクトを動かすために用いられているソフトウェアである。Commons はおもに画像をホストしているが、表形式データを伴うレコードもいくつか含む。MediaWiki Tabular Data Model はデータパッケージのバージョン 1 に着想を得たものだが、以下に述べるとおり現行のデータパッケージ仕様とはわずかに異なる。
プロパティの比較
MediaWiki tabular data ページは、インラインの表形式データを伴うデータリソースと同様に、個々のデータのテーブルを記述し、それを内包する。いずれも JSON オブジェクトとしてシリアライズされるが、前者は MediaWiki インスタンス(Wikimedia Commons など)上で一意な名前を持つページとして提供される。
トップレベルのプロパティ
MediaWiki Tabular Data には、3 つの必須のトップレベルプロパティと 2 つの省略可能なトップレベルプロパティがある。これらのプロパティの大半は、データリソースの対応するプロパティに対応づけられる。
| MediaWiki Tabular Data | Data Package Table Schema |
|---|---|
| -(ページ名から暗黙に与えられる) | name(必須)は文字列である |
| description(省略可)はローカライズされた文字列である | description(省略可)は CommonMark 文字列である |
| data(必須) | data(省略可) |
license(必須)は文字列 CC0-1.0 あるいは別の既知の識別子である | licenses(省略可)は配列である |
| schema(必須)は後述のとおり | schema(省略可)は複数の形式をとりうる |
| sources(省略可)は Wiki マークアップを含む文字列である | sources(省略可)はオブジェクトの配列である |
相違点は次のとおりである。
- プロパティ
nameは存在しないが、ページ名から暗黙に与えられる - プロパティ
descriptionとsourcesは別の形式を持つ - プロパティ
dataは常に配列の配列であり、個々の値のデータ型は異なりうる - プロパティ
schemaは必須だが、そのスキーマプロパティの定義が異なる - プロパティ
licensesは存在せず、代わりにlicenseが単純な文字列値CC0-1.0に固定される(他のライセンス指定子も可能な場合がある)
データ型
Tabular Data は、テーブルスキーマのデータ型と重なる 4 つのデータ型をサポートする。
numberはテーブルスキーマの number の部分集合(NaN・INF・-INFは不可)booleanはテーブルスキーマの boolean と同じstringはテーブルスキーマの string の部分集合(最大でも 400 文字までに制限され、\nや\tを含んではならない)localizedは、言語コードを文字列に対応づけるオブジェクトを指し、string型と同じ制限を持つ。 この型はテーブルスキーマではサポートされない。
MediaWiki Tabular Data のテーブルでは個々の値が常に null になりうるが、テーブルスキーマでは欠損とみなすべき値を schema.missingValues に明示的に列挙する必要がある。
スキーマプロパティ
MediaWiki tabular の schema プロパティは、テーブルスキーマと同様にプロパティ fields を持つオブジェクトを含むが、それ以外のプロパティは許可されない。この配列の要素は、テーブルスキーマのフィールドディスクリプタに似ているが、3 つのプロパティに限定され、値の取りうる範囲も異なる。
| MediaWiki Tabular Data | Data Package Table Schema |
|---|---|
name(必須)は ^[a-zA-Z_][a-zA-Z_0-9]* に一致する文字列でなければならない | name(必須)は任意の文字列でよい |
| type(必須)は上記のデータ型のいずれかである | type(省略可)は異なるデータ型を持つ |
| title(省略可)はローカライズされた文字列である | title(省略可)は単純な文字列である |