[28] 
[DFN[Data Package]]
は、[[データファイル]]の[[集合]]を記述する[[データ形式]]の1つです。

* Data Package

[16] 
[CITE@en[Data Package - [[CKAN]]]], [TIME[2024-03-21T06:55:46.000Z]], [TIME[2011-09-02T11:34:29.936Z]] <https://web.archive.org/web/20110902095023/http://wiki.ckan.net/Data_Package>


-[12] [CITE@en[Data Packages - Data Protocols - [[Open Knowledge Foundation]]]]
( ([[Open Knowledge Foundation and others]] 著, [TIME[2014-03-17 00:07:15 +09:00]] 版))
<http://dataprotocols.org/data-packages/>
-- [14] 消滅確認 [TIME[2024-03-21T06:55:14.000Z]]
--
[17] 
[CITE[Data Packages — Simple Protocols for Collaborative, Distributed Development of Data]], [TIME[2024-03-21T07:02:58.000Z]], [TIME[2012-07-20T04:04:49.608Z]] <https://web.archive.org/web/20120720022007/http://www.dataprotocols.org/en/latest/data-packages.html>
--
[18] 
[CITE[Data Packages — Open Data Protocols - Simple Open Standards for Open Data]], [TIME[2024-03-21T07:06:01.000Z]], [TIME[2013-07-27T20:00:47.971Z]] <https://web.archive.org/web/20130727182032/http://www.dataprotocols.org/en/latest/data-packages.html>
- 
[13] [CITE@en[Data Packages - [[Frictionless Open Data]]]]
( ([[Open Knowledge Foundation]] 著, [TIME[2014-07-26 02:16:53 +09:00]] 版))
<http://data.okfn.org/doc/data-package>
-- [15] 消滅確認 [TIME[2024-03-21T06:55:19.00Z]]

[2] [CITE@en-US[Data Package (v1) | Data Package (v1)]], [TIME[2024-01-29T13:09:50.000Z]], [TIME[2024-03-21T03:55:24.686Z]] <https://specs.frictionlessdata.io/>

[11] 
[CITE@en[GitHub - frictionlessdata/specs: Technical specifications and guidelines for implementing Frictionless Data.]], [TIME[2024-03-21T05:30:13.000Z]] <https://github.com/frictionlessdata/specs>

[1] [CITE@en[Data Package v1 Specifications. What has Changed and how to Upgrade - Open Knowledge Labs]], [TIME[2022-08-18T16:36:04.000Z]], [TIME[2024-03-21T03:54:38.314Z]] <https://okfnlabs.org/blog/2017/10/11/upgrade-to-data-package-specs-v1.html>

[3] [CITE@en-US[Data Package | Data Package (v1)]], [TIME[2024-01-29T13:09:50.000Z]], [TIME[2024-03-21T04:57:34.629Z]] <https://specs.frictionlessdata.io/data-package/>


[20] [CITE@en[Data as Code Deja-Vu - Open Knowledge Labs]], [TIME[2022-08-18T16:36:04.000Z]], [TIME[2024-03-21T07:10:43.545Z]] <https://okfnlabs.org/blog/2013/10/04/data-as-code-dejavu.html>

>The basic “package” idea from CKAN has evolved into the Data Package spec - and Simple Data Format



[4] [[Table Schema]]

[5] [[Data Resource]]

[6] [CITE@en-US[Data Package Identifier | Data Package (v1)]], [TIME[2024-01-29T13:09:50.000Z]], [TIME[2024-03-21T05:02:11.479Z]] <https://specs.frictionlessdata.io/data-package-identifier/>

[7] [[Tabular Diff Format]]

[8] [CITE@en-US[Profiles | Data Package (v1)]], [TIME[2024-01-29T13:09:50.000Z]], [TIME[2024-03-21T05:04:32.720Z]] <https://specs.frictionlessdata.io/profiles/>

[9] 
[CITE@en-US[Data Package Views | Data Package (v1)]], [TIME[2024-01-29T13:09:50.000Z]], [TIME[2024-03-21T05:04:49.458Z]] <https://specs.frictionlessdata.io/views/>

[19] 古い版は [[Simple Data Format]] を参照してたのにいつの間にかなくなってた。

[10] 関連: [[Data Protocols]],
[[dpm]]


[21] 
[CITE@en[Data Package v1 Specifications. What has Changed and how to Upgrade]], [TIME[2024-03-21T13:28:27.000Z]] <https://datahub.io/blog/upgrade-to-data-package-specs-v1>

[41] 実利用例:

- [42] 
[CITE@en[licenses/datapackage.json at master · okfn/licenses · GitHub]], [TIME[2024-05-02T12:39:08.000Z]] <https://github.com/okfn/licenses/blob/master/datapackage.json>


* CKAN パッケージ

[22] [[CKAN]] で現在 [[dataset]] ([[データ集合]]) と呼んでいるものが、
[[CKAN API]] では [[package]] ([[パッケージ]]) と呼ばれています。

[23] 
ところがその[DFN[CKANパッケージ]]の詳細は [[CKAN API]] のドキュメントでは説明されていません。

[24] 
[[Data Packages]] の初期案は [[CKAN]] の[[ウェブサイト]]上に置かれていました
[SRC[>>16]]。

[25] [[ブログ]]でも [[CKAN]] の [[package]] が [[Data Package]]
へと発展したと明言されています [SRC[>>20]]。

[26] 
実際の [[CKAN]] や互換ソフトウェアの [[CKAN API]] 
の返す [[CKANパッケージ]] [[JSONオブジェクト]]は
[[Data Package]] の [[JSONオブジェクト]]とよく似ていますが、微妙に違いがあります。


[27] 
[[Data Package]] は [[RFC 4627]] [[JSONオブジェクト]]でなければ[MUST[ならない]]とされます 
[SRC[>>3]]。
[[CKAN API]] でも[[パッケージ]]は [[JSONオブジェクト]]です。

[FIG(list members)[

:[F[[CODE[area]]]]:
[[GKAN]] の [[CKAN API]] で[[地名]]の[[人間可読]]文字列のことがあります。
「未入力」のことがあります [SRC[>>37]]。
:[F[[CODE[author]]]]:
[[CKAN API]] でデータの[[著者]]の名前と思われる[[文字列]]のことがあります。
[[空文字列]]のことがあります。
:[F[[CODE[author_email]]]]:
[[CKAN API]] で[[空文字列]]や [CODE[addr-spec]] のことがあります。
[CC[U+FF06]] のことがあります [SRC[>>37]]。
:[F[[CODE[charge]]]]:
[[GKAN]] の [[CKAN API]] で[[文字列]] [CODE[無償]] のことがあります。
:[F[[CODE[contributors]]]]:
[[Data Package]] にあります [SRC[>>3]] が、 [[CKAN API]] での利用は未見です。
:[F[[CODE[created]]]]:
[[Data Package]] では、
作成された[[日時]]を表す [[RFC 3339の日時形式]]の値とされます。
作成が具体的にいつを表すかは定められておらず、
データの作成でもパッケージの作成でも構わないとされます。
[SRC[>>3]] 
[[CKAN API]] では
[[RFC 3339]] と違って[[時間帯]]がない形式の用例がみられます。
:[F[[CODE[creator]]]]:
[[CKAN API]] で
[[UUID]]
のことがあります。
:[F[[CODE[datapackage_version]]]]:
旧 [[Data Packages]] にあり、指定が推奨されていました。 [SRC[>>18]]
[[CKAN API]] では未見です。
:[F[[CODE[dependencies]]]]:
旧 [[Data Packages]] にありました。 [SRC[>>18]]
[[CKAN API]] では未見です。
:[F[[CODE[description]]]]:
[[Data Package]] ではパッケージの説明で、 [[CommonMark]] とされます。
[SRC[>>3]]
実際の [[CKAN API]] では未見です。かわりに [F[[CODE[notes]]]] があることがあります。
:[F[[CODE[emergency]]]]:
[[GKAN]] の [[CKAN API]] で[[文字列]] [CODE[無償提供]] のことがあります。
:[F[[CODE[fee]]]]:
[[GKAN]] の [[CKAN API]] で[[文字列]] [CODE[無償]] のことがあります。
[[空文字列]]のことがあります [SRC[>>37]]。
:[F[[CODE[extras]]]]:
[[CKAN API]] で
[[JSON配列]]のことがあります。
[FIG(list members)[

:[F[[CODE[key]]]]:[[文字列]]が指定されることがあります。
:[F[[CODE[value]]]]:[[文字列]]が指定されることがあります。

]FIG]
:[F[[CODE[groups]]]]:
[[CKAN API]] で
[[JSON配列]]のことがあります。
[FIG(list members)[

:[F[[CODE[description]]]]:
説明文と思われる[[人間可読]]の文字列のことがあります。
[[空文字列]]のことがあります。
:[F[[CODE[display_name]]]]:
表示名と思われる[[人間可読]]の文字列のことがあります。
:[F[[CODE[id]]]]:
[[UUID]] のことがあります。
:[F[[CODE[image_display_url]]]]:
[[空文字列]]のこと、
[[画像]]の[[絶対URL]]のことがあります。
:[F[[CODE[name]]]]:
[[URL]] で安全に使えそうな雰囲気の[[ASCII文字列]]のことがあります。
:[F[[CODE[title]]]]:
表示名と思われる[[人間可読]]の文字列のことがあります。
[F[[CODE[display_name]]]] との使い分けは不明。



]FIG]
:[F[[CODE[homepage]]]]:
[[Data Package]] にあります [SRC[>>3]] が、 [[CKAN API]] での利用は未見です。
:[F[[CODE[id]]]]:
[[Data Package]] では、 
指定が推奨される[[特性]]であり、大域的に固有な識別子とされ、
[[UUID]] や [[DOI]]
が例示されています。
[SRC[>>3]]
[[CKAN]] では [[UUID]] 
が使われています。
:[F[[CODE[image]]]]:
[[Data Package]] にあります [SRC[>>3]] が、 [[CKAN API]] での利用は未見です。
:[F[[CODE[isopen]]]]:
[[CKAN API]] で
[CODE[1]], 
[CODE[0]]
のことがあります。
:[F[[CODE[keywords]]]]:
[[Data Package]] にあります [SRC[>>3]] が、 [[CKAN API]] での利用は未見です。
:[F[[CODE[last_modified]]]]:
旧 [[Data Packages]] にありました。 [[ISO 8601]] 形式の日付または日時とされていました。
[SRC[>>18]]
[[CKAN API]] では未見です。
:[F[[CODE[license_agreement]]]]:
[[GKAN]] の [[CKAN API]] 
で[[人間可読]]の[[文字列]]や[[空文字列]]のことがあります。
:[F[[CODE[license_id]]]]:
[[CKAN API]] で使われることがあります。
:[F[[CODE[license_title]]]]:
[[CKAN API]] で使われることがあります。
:[F[[CODE[license_url]]]]:
[[CKAN API]] で使われることがあります。
指定されないこともあります。
:[F[[CODE[licenses]]]]:
[[Data Packages]]
では、
指定が推奨される[[特性]]であり、[[ライセンス]]に関する記述の [[JSON配列]]とされます。
[SRC[>>3]]
[[CKAN API]] では [CODE[licenses]]
の利用例は未見です。
:[F[[CODE[maintainer]]]]:
[[CKAN API]] でデータ管理者の名前と思しき[[人間可読]]な文字列のことがあります。
[[空文字列]]のことがあります。
:[F[[CODE[maintainer_email]]]]:
[[CKAN API]] で[[空文字列]]のこと、
[CODE[addr-spec]]、
[CODE[null]]
のことがあります。
[CC[U+FF06]] のことがあります [SRC[>>37]]。
:[F[[CODE[maintainers]]]]:
旧 [[Data Packages]] にあり、[[パッケージ]]の [[maintainer]]
の情報の[[配列]]とされていました。 [SRC[>>18]]
[[CKAN API]] では未見です。
:[F[[CODE[metadata_created]]]]:
[[CKAN API]] で[[地方日時文字列]]のことがあります。
[[CKAN]] サイト上の「作成日」に当たります。
サイト日付との比較から、 [[UTC]] の[[日時]]であることがわかります。
:[F[[CODE[metadata_modified]]]]:
[[CKAN API]] で[[地方日時文字列]]のことがあります。
[[CKAN]] サイト上の「最終更新日」に当たります。
サイト日付との比較から、 [[UTC]] の[[日時]]であることがわかります。
:[F[[CODE[name]]]]:
[[Data Package]] では、
指定が推奨される[[特性]]であり、値は [[URL]] で利用可能でできれば[[人間可読]]な[[パッケージ]]の名前とされる一方で、
[[ASCII小文字]]等のみでなければ[MUST[ならない]]ともされています
[SRC[>>3]]。
[[英語]]や[[ローマ字]]などでなければ満たし得ない規定です。
[[CKAN API]] では
[[URL]] で安全に使えそうな雰囲気の[[ASCII文字列]]のことがあります。
[[Data Package]] においては同じ登録簿中の他の[[パッケージ]]の名前と衝突しない[SHOULD[べき]]とされ、
[[パッケージ]]の更新時には変更しない不可変の名前とする[SHOULD[べき]]とされます。
こうした制約が [[CKAN API]] (を実装したソフトウェア) 
でも実装されているのかは不明です。
[[CKAN API]]
を利用する[[アプリケーション]]はこのような制約が満たされることを期待するべきではなく、
ただの[[人間]]向けの表示名として扱うべきでしょう。
:[F[[CODE[notes]]]]:
[[CKAN API]] で[[パッケージ]]の説明文と思われる[[人間可読]]の文字列のことがあります。
[[Markdown]] らしき記号が使われていることがあります。
:[F[[CODE[num_resources]]]]:
[[CKAN API]] で
[CODE[resources]] 
の[[配列]]の長さと思しき[[整数]]のことがあります。
:[F[[CODE[num_tags]]]]:
[[CKAN API]] で
[CODE[tags]] 
の[[配列]]の長さと思しき[[整数]]のことがあります。
:[F[[CODE[organization]]]]:
[[CKAN API]] で[[JSONオブジェクト]]のことがあります。
[FIG(list members)[

:[F[[CODE[approval_status]]]]:
[CODE[approved]] のことがあります。
:[F[[CODE[created]]]]:
[[地方日時文字列]]のことがあります。
:[F[[CODE[description]]]]:
説明文らしき[[人間可読]]な文字列のことがあります。
[[空文字列]]のことがあります。
:[F[[CODE[id]]]]:
[[UUID]] のことがあります。
:[F[[CODE[image_url]]]]:
[[空文字列]]のこと、
[[絶対URL]]のことがあります。
:[F[[CODE[is_organization]]]]:
[CODE[1]] のことがあります。
:[F[[CODE[name]]]]:
[[URL]] で安全に使えそうな雰囲気の[[ASCII文字列]]のことがあります。
意味がわかりそうなこともあれば、謎の文字列のこともあります。
:[F[[CODE[revision_id]]]]:
[[UUID]] のことがあります。
[F[[CODE[id]]]] とは違う値のようです。
ないこともあります。
:[F[[CODE[state]]]]:
[CODE[active]] のことがあります。
:[F[[CODE[title]]]]:
組織名と思しき[[人間可読]]な文字列のことがあります。
:[F[[CODE[type]]]]:
[CODE[organization]] のことがあります。

]FIG]
:[F[[CODE[owner_org]]]]:
[[CKAN API]] で
[[UUID]]
のことがあります。
[F[[CODE[organization]]]] の [F[[CODE[id]]]] と一致しているようです。
:[F[[CODE[private]]]]:
[[CKAN API]] で
[CODE[0]]
のことがあります。
:[F[[CODE[profile]]]]:
[[Data Package]] では、
指定が推奨される[[特性]]であり、
[[プロファイル][Data Package]]を指定するものです。
[SRC[>>3]]
[[CKAN API]] での利用は未見です。
:[F[[CODE[publishers]]]]:
旧 [[Data Packages]] にありました。 [SRC[>>18]]
[[CKAN API]] では未見です。
:[F[[CODE[quality]]]]:
[[GKAN]] の [[CKAN API]] で[[人間可読]]な[[文字列]]や[[空文字列]]のことがあります。
:[F[[CODE[registerd_date]]]]:
[[GKAN]] の [[CKAN API]] で[[空文字列]]のことがあります。
:[F[[CODE[relationships_as_object]]]]:
[[CKAN API]] で
[[JSON配列]]のことがあります。
:[F[[CODE[relationships_as_subject]]]]:
[[CKAN API]] で
[[JSON配列]]のことがあります。
:[F[[CODE[resources]]:
[[Data Package]] では、 [[Data Resource]] の1つ[[以上]]の[[JSON配列]]でなければ[MUST[なりません]]。
[SRC[>>3]]
[[CKAN API]] では、 [[CKAN資源]]の[[JSON配列]]です。
[[空]]のこともあります。
:[F[[CODE[restriction]]]]:
[[GKAN]] の [[CKAN API]] で[[人間可読]]な[[文字列]]や[[空文字列]]のことがあります。
:[F[[CODE[revision_id]]]]:
[[CKAN API]] で
[[UUID]]
のことがあります。
[F[[CODE[id]]]]
とは別の値のようです。
:[F[[CODE[sources]]]]:
[[Data Package]] にあります [SRC[>>3]] が、 [[CKAN API]] での利用は未見です。
:[F[[CODE[spatial]]]]:
[[GKAN]] で利用例があります。
[[GeoJSON]] の [CODE[type]]: [CODE[Polygon]] を[[JSON文字列]]として指定していることがあります。
[[空文字列]]のこともあります。
:[F[[CODE[state]]]]:
[[CKAN API]] で
[CODE[active]] 
のことがあります。
:[F[[CODE[tags]]]]:
[[CKAN API]] で
[[JSON配列]]のことがあります。
[FIG(list members)[

:[F[[CODE[display_name]]]]:
[[人間可読]]な文字列が入っていることがあります。
:[F[[CODE[id]]]]:
[[UUID]] が指定されていることがあります。
:[F[[CODE[name]]]]:
[[人間可読]]な文字列が入っていることがあります。
[F[[CODE[display_name]]]]
と同じ値と思われます。
:[F[[CODE[state]]]]:
[CODE[active]]
が指定されていることあがります。
:[F[[CODE[vocabulary_id]]]]:
[CODE[null]]
が指定されていることがあります。

]FIG]
:[F[[CODE[thumbnail_url]]]]:
[[GKAN]] では[[画像]]の[[絶対URL]]
([[HTTP(S) URL]], [CODE[data:]])
や[[空文字列]]のことがあります。
:[F[[CODE[title]]]]:
[[Data Package]] では[[パッケージ]]の短文説明とされます [SRC[>>3]]。
[[CKAN API]] では、
パッケージ名と思しき[[人間可読]]の[[文字列]]のことがあります。
:[F[[CODE[type]]]]:
[[CKAN API]] で
[CODE[dataset]] 
のことがあります。
:[F[[CODE[url]]]]:
[[CKAN API]] では[[絶対URL]] のことがあります。
[[CKAN]] システム外の [[URL]] です。
[[パッケージ]]に関係する[[ウェブページ]]が記述されると思われます。
[[空文字列]]のこともあります。
[CITE[データカタログ横断検索システム]]
の
[[CKAN API]]
では [CODE[null]] 
のことがあります。
:[F[[CODE[version]]]]:
[[Data Package]] では、
[[パッケージ]]の[[版文字列]]とされます。
[[Semantic Versioning]]
と
[[Data Package Version]]
に従うべきとされます。
[SRC[>>3]] 
実際の [[CKAN API]] では[[整数]]を[[JSON文字列]]としたものが見られます
([[Semantic Versioning]] に従っていません)。
[CODE[null]] のこともあります。
:[F[[CODE[xckan_description]]]]:
[CITE[データカタログ横断検索システム]]
の
[[CKAN API]]
で[[人間可読]]の説明文のことがあります。
:[F[[CODE[xckan_id]]]]
[CITE[データカタログ横断検索システム]]
の
[[CKAN API]]
で同システム内の[[データ集合]]の識別子と思われる記号列です。
表示用ページおよび [[API]] の [[URL]] に使われます
(本家 [[CKAN]] だと [F[[CODE[id]]]] ですが、
[CITE[データカタログ横断検索システム]] 
だと [F[[CODE[id]]]] と [[URL]] の識別子が一致していません)。
:[F[[CODE[xckan_last_updated]]]]:
[CITE[データカタログ横断検索システム]]
で
「このメタデータの最終更新日時」
と説明されています。実例未見。
:[F[[CODE[xckan_original_id]]]]:
[CITE[データカタログ横断検索システム]]
で
「元のサイトでのデータセットID」
と説明されています。実例未見。
:[F[[CODE[xckan_site_name]]]]:
[CITE[データカタログ横断検索システム]]
で
「サイト名(横断検索システムで定義しています)」
と説明されています。実例未見。
:[F[[CODE[xckan_site_url]]]]:
[CITE[データカタログ横断検索システム]]
の
[[CKAN API]]
で [[HTTP(S) URL]] ([[絶対URL]]) が入っています。
「このメタデータの情報を表示するウェブサイトのURL」
と説明されています。
:[F[[CODE[xckan_tags]]]]:
[CITE[データカタログ横断検索システム]]
の
[[CKAN API]]
で [[JSON配列]]のことがあります。
:[F[[CODE[xckan_title]]]]:
[CITE[データカタログ横断検索システム]]
の
[[CKAN API]]
で[[人間可読]]の題名のことがあります。
「データセットのタイトル」
と説明されています。








]FIG]

[REFS[

- [37] 
[CITE@ja[法務省$登記所備付地図データ$利用規約$データセット]], [TIME[2024-12-18T11:50:37.000Z]] <https://www.geospatial.jp/ckan/dataset/houmusyouchizu-riyoukiyaku>

]REFS]


[33] 
[F[[CODE[author]]]] に [F[[CODE[organization]]]] 相当の情報が入っていることもあれば、
入っていないこともあります。

[EG[
[34] 例えば [F[[CODE[organization]]]] の [F[[CODE[title]]]] が「○×市」
のときに、
[F[[CODE[authpr]]]] が「○×市△部」のときと「△部」のときがあります。
]EG]

[36] 
[F[[CODE[organization]]]]
の
[F[[CODE[name]]]]
と
[F[[CODE[title]]]]
が
[CODE[--]]
になっている事案 [SRC[>>35]]

[REFS[

- [35] 
[CITE@ja[「いこまの写真deぶら散歩」で投稿された写真 お題「きらきら」(27枚) - データセット | 生駒市オープンデータポータルサイト]], [TIME[2024-12-18T08:45:19.000Z]] <https://data.city.ikoma.lg.jp/data/dataset/1611214945>

]REFS]

-*-*-


[31] [F[[CODE[extras]]]]
の実例:

[FIG(table)[

:key:[F[[CODE[key]]]]
:value:[F[[CODE[value]]]]
:src:出典

:key:"copyright"
:value:""

:key:"language"
:value:"Japanese"

:key: "言語"
:value: "ja"

:key:"言語"
:value:"日本語"

:key:"管理ID"
:"value":"EG000022"
:src:>>30

:key:"spatial"
:value:""

:key:"対象地域"
:value : "日本"
:src:>>30

:key:"frequency"
:value:"不定期"

:key:"更新頻度"
:value:"毎日"

:key: "データセット_更新頻度"
:value: "都度"

:key: "対象期間"
:value : ""
:src:>>30

:key: "作成者_課名"
:value: [VAR[人間可読文字列]]

:key : "提供者"
:"value : "https://elaws.e-gov.go.jp/"
:src:>>30

:key : "連絡先情報"
:value : "デジタル庁"
:src:>>30

:key : "データセット種別"
:value : "法令分類(行政手続)"
:src:>>30

:key: "注釈"
:value: [VAR[人間可読文字列]]

:key : "備考"
:value : "e-Gov法令検索サイトで削除となった情報は含みません。"
:src:>>30



]FIG]

[32] 同じサーバーでも、データによるのか、値が ([CODE[null]] や[[空文字列]]も含め) 指定されたパッケージと指定されていないパッケージが混在することもあるようです。

[REFS[

- [30] 
[CITE@ja[法令種別/行政手続 - データセット - [[レジストリカタログ]]]], [TIME[2024-12-07T02:29:48.000Z]] <https://catalog.registries.digital.go.jp/rc/dataset/eg000022>

]REFS]

* ライセンス記述

[SEE[ [[CKANパッケージのライセンス記述]] ]]

* MIME 型

[29] 
[[CKANパッケージ]]の [[JSON]] の [[HTTP]] [CODE[Content-Type:]] は
[CODE[[[application/json]];[[charset]]=[[utf-8]]]]
となっていることがあります。

* 関連

[SEE[ [[CKAN資源]] ]]

* メモ
