コンテンツにスキップ

変更履歴

非公式翻訳 (Unofficial translation). これはデータパッケージスタンダードの有志による日本語訳です。 正典は英語原典 datapackage.org 。未訳の箇所は英語の原文を参照してください。

本書は、データパッケージスタンダードに加えられたすべての意味のある変更を記載する。Recipes や Guides といった他の文書への変更は対象としない。

v2.0

このリリースには、データパッケージを完成された製品とするための、仕様に対する豊富な改善が含まれている(告知を参照)。すべての変更は Data Package Working Group によってレビューされ受理された。

June 26, 2024

Tabular Data Package(削除)

Tabular Data Package(package.profile: "tabular-data-package")は削除された。これは、リソースに対して type: "table"(以前は resource.profile: "tabular-data-resource")を定義することに比べて何の利点ももたらさず、後者のほうがモジュール性が高い(#52)。

package.$schema(新規)

$schema は profile プロパティを置き換えるもので、拡張とバージョニングをより容易にする(#42)。

package.contributors(更新)

contributors が更新された。

  • contributor.title はもはや必須ではない(#7)。
  • contributor.givenName と contributor.familyName は、貢献者が人物である場合にその名(given name)と姓(family name)を指定する新しいプロパティである(#20)。
  • contributor.role は非推奨となり、contributor.roles が推奨される。詳細は後述(#18)。
  • contributor.roles は、貢献者を重複させることなく、一人の貢献者に対して複数の役割を指定できる新しいプロパティである。確立された語彙に従うことが推奨され、非推奨となった contributor.role とは異なる推奨値を持つ(#18)。
package.version(更新)

version は現在では仕様に含まれている。データパッケージ v1 では、これは誤ってドキュメントの一部にすぎなかった(#3)。

package.sources(更新)

sources が更新された。

  • source.title はもはや必須ではない(#7)。
  • source.version は、ソースのどのバージョンが用いられたかを指定する新しいプロパティである(#10)。
resource.name(更新)

name は現在では任意の文字列を許容する。以前は、名前が小文字の英数字に加えて .・-・_ のみで構成されることを要求していた。このプロパティは依然として必須であり、リソース間で一意でなければならない(#27)。

resource.path(更新)

path は現在では隠しフォルダ(ドット . で始まるもの)を明示的に禁止する(#19)。

resource.type(新規)

type はリソースの型を指定できるようにする(#51)。resource.type: "table" は resource.profile: "tabular-data-resource" を置き換える。

resource.$schema(新規)

$schema は profile プロパティを置き換えるもので、拡張とバージョニングをより容易にする(#42)。resource.type も参照。

resource.encoding(更新)

encoding の定義は、Parquet のようなバイナリ形式をサポートするよう更新された(#15)。

resource.sources(更新)

sources は現在では、それを内包するデータパッケージから継承する(#57)。

Table Dialect(新規)

Table Dialect は、CSV Dialect 仕様に取って代わりこれを拡張する新しい仕様である。JSON や Excel といった他の形式もサポートする(#41)。

dialect.$schema(新規)

$schema は拡張とバージョニングを可能にする(#42)。

dialect.table(新規)

table はデータベース内のテーブルを指定できるようにする(#64)。

schema.$schema(新規)

$schema は拡張とバージョニングを可能にする(#42)。

schema.fieldsMatch(新規)

fieldsMatch は、テーブルスキーマのフィールドがデータソースのフィールドとどのように対応するかを指定できるようにする。デフォルト(exact)はデータパッケージ v1 の挙動に一致するが、他の値(例: subset・superset)を用いると、より少ないまたはより多いフィールドを定義し、フィールド名で対応付けることができる。この新しいプロパティは、Frictionless Framework の schema_sync オプションを拡張し明示化するものである(#39)。

schema.missingValues(更新)

missingValues は現在では、ラベル付きの欠損(labeled missingness)を指定できるようにする(#68)。

schema.primaryKey(更新)

primaryKey は現在では、文字列ではなく、常に文字列の配列であるべきである(#28)。

schema.uniqueKeys(新規)

uniqueKeys は、どのフィールドが一意な論理値を持つことを要求されるかを指定できるようにする。これは field.contraints.unique の代替であり、対応する SQL の機能を模してモデル化されている(#30)。

schema.foreignKeys(更新)

foreignKeys が更新された。

  • 現在では、文字列ではなく、常に文字列の配列であるべきである(#28)。
  • foreignKeys.reference.resource は、自己参照する外部キーについては省略できるようになった。以前は resource を空文字列に設定することを要求していた(#29)。
field.categories(新規)

categories は、string および integer のフィールド型に対するカテゴリカルデータのサポートを追加する(#68)。

field.categoriesOrdered(新規)

categoriesOrdered は、string および integer のフィールド型に対する順序付きカテゴリカルデータのサポートを追加する(#68)。

field.missingValues(新規)

missingValues は、フィールドごとに欠損値を指定できるようにし、リソースレベルで指定された missingValues を上書きする(#24)。

integer フィールド型(更新)

integer は現在では groupChar プロパティを持つ。これは number ではすでに利用可能であった(#6)。

list フィールド型(新規)

list は、区切り文字で区切られたプリミティブ値の集合(例: value1,value2)を含むフィールドを指定できるようにする(#38)。

datetime フィールド型(更新)

datetime のデフォルトの format は現在では、オプションのミリ秒部とタイムゾーン部を許容するよう拡張されている(#23)。

geopoint フィールド型(更新)

geopoint の定義は現在では、座標の定義に浮動小数点数を使用できることを明確にしている(#14)。

any フィールド型(更新)

any は現在ではデフォルトのフィールド型であり、フィールド型が指定されていない場合は推論すべきでないことを明確にしている(#13)。

minimum と maximum のフィールド制約(更新)

minimum と maximum は現在では、duration フィールド型をサポートするよう拡張されている(#8)。

exclusiveMinimum と exclusiveMaximum のフィールド制約(新規)

exclusiveMinimum と exclusiveMaximum は、排他的な最小値と最大値を指定するために使用できる(#11)。

jsonschema フィールド制約(新規)

jsonSchema は、object および array のフィールド型に対して使用できる(#32)。

v1.0

September 5, 2017

Data Package (v1) のウェブサイトを参照してほしい。