前幾天 W3C 發佈了這份文件 Data on the Web Best Practices (DWBP),內容是關於在網路上發佈資料時的最佳實踐(公開或非公開的都適用),讓我想到了之前的 g0v summit 羅佩琪分享提到的一個重點,開放是有成本的,當時演講的影片:
稍微看過這份文件後,覺得之前確實蠻缺乏這份整理好的文件,每點看了就都覺得,確實是應該要這樣的,不過沒有這種整理好的 checklist 其實真的要做的時候還蠻容易漏東漏西的,然後就是,每一點都是成本啊!!
整份文件還蠻有翻譯的價值的,比較不像是 HTML Spec 會常常更新,不過我自然沒這麼多時間可以翻譯,所以就先把重點標題翻起來放,以後有人要開始就先有個基礎了,DWBP 整份文件有 35 點 Best Practice,每一點都有標題、簡述、原因、預期結果、可能實做方法、如何測試、證據、好處、範例等內容,其中好處的部分是分成八種:
- Comprehension,人類容易理解理解
- Processability,可程式自動處理
- Discoverability,可讓程式自動發現
- Reuse,容易重複使用
- Trust,可靠
- Linkability,可連結
- Access,容易存取
- Interoperability,容易互動(發佈者和使用者之間)
我只翻譯了其中的標題和簡述,順便附上每一點的好處(上面的八種好處),以下就是這 35 點 Best Practice:
- Metadata
詮釋資料- Provide metadata
提供詮釋資料(metadata)
Provide metadata for both human users and computer applications.
提供可讓人類閱讀和程式可處理的詮釋資料
優點:R, C, D, P - Provide descriptive metadata
提供資料介紹的詮釋資料
Provide metadata that describes the overall features of datasets and distributions.
提供介紹資料集整體特性和發佈資訊的詮釋資料
優點:R, C, D - Provide structural metadata
提供資料結構的詮釋資料
Provide metadata that describes the schema and internal structure of a distribution.
每次發佈都提供資料綱要(schema)和資料結構的詮釋資料
優點:R, C, P
- Provide metadata
- Data Licenses
資料授權- Provide data license information
提供資料授權的資訊
Provide a link to or copy of the license agreement that controls use of the data.
提供鏈節到資料所使用授權的協議文件
優點:R, T
- Provide data license information
- Data Provenance
資料發佈者- Provide data provenance information
提供資料發佈者的訊息
Provide complete information about the origins of the data and any changes you have made.
提供完整的資料發佈者的訊息以及所有的修改紀錄
優點:R, C, T
- Provide data provenance information
- Data Quality
資料品質- Provide data quality information
提供資料品質資訊
Provide information about data quality and fitness for particular purposes.
提供資料針對特定用途的品質和適應性資訊
優點:R, T
- Provide data quality information
- Data Versioning
資料版本- Provide a version indicator
提供明確版本號
Assign and indicate a version number or date for each dataset.
提供每個資料集的明確版本號或是發佈日期
優點:R, T - Provide version history
提供版本歷史
Provide a complete version history that explains the changes made in each version.
提供完整的版本歷史,說明每個版本的變動
優點:R, T
- Provide a version indicator
- Data Identifiers
資料識別符- Use persistent URIs as identifiers of datasets
使用固定的 URI 作為資料集的識別符(identifier)
Identify each dataset by a carefully chosen, persistent URI.
為每個資料集都謹慎的挑選一個永久固定的 URI 作為識別用
優點:R, L, D, I - Use persistent URIs as identifiers within datasets
在資料集之間使用 URI 做為連結的識別符
Reuse other people's URIs as identifiers within datasets where possible.
連結其它資料集時,盡可能使用其它資料集既存的 URI 作為資料集之間連結的識別符
優點:R, L, D, I - Assign URIs to dataset versions and series
提供特定版本和最新版本的的識別用 URI
Assign URIs to individual versions of datasets as well as to the overall series.
每個版本都提供一個獨立的識別用 URI,整個系列的資料也要提供一個特定的識別 URI
優點:R, D, T
- Use persistent URIs as identifiers of datasets
- Data Formats
資料格式- Use machine-readable standardized data formats
使用程式可處理的標準格式
Make data available in a machine-readable, standardized data format that is well suited to its intended or potential use.
提供程式可處理的標準資料格式,並且是適合資料預期及潛在應用的格式
優點:R, P - Use locale-neutral data representations
使用非地區性的資料表現形式
Use locale-neutral data structures and values, or, where that is not possible, provide metadata about the locale used by data values.
使用非地區性的資料結構和形式,否則需提供所使用資料形式的詮釋資料
優點:R, C - Provide data in multiple formats
提供多種格式
Make data available in multiple formats when more than one format suits its intended or potential use.
如果資料預期及潛在的應用有不只一種適合的格式,則都提供
優點:R, P
- Use machine-readable standardized data formats
- Data Vocabularies
資料詞彙- Reuse vocabularies, preferably standardized ones
盡量重複使用詞彙,並優先使用標準有定義的詞彙
Use terms from shared vocabularies, preferably standardized ones, to encode data and metadata.
在資料本體和詮釋資料中,盡量使用已經有人使用的詞彙,並優先使用標準有定義的詞彙
優點:R, P, C, T, I - Choose the right formalization level
選擇正確的數據尺度
Opt for a level of formal semantics that fits both data and the most likely applications.
為資料挑選一個適當的尺度,以符合資料本身的意義和它最可能的應用
優點:R, C, I
- Reuse vocabularies, preferably standardized ones
- Data Access
資料取得- Provide bulk download
提供打包下載
Enable consumers to retrieve the full dataset with a single request.
讓使用者可以只用一個請求就取得全部的資料集
優點:R, A - Provide Subsets for Large Datasets
大資料集要單獨提供子集
If your dataset is large, enable users and applications to readily work with useful subsets of your data.
如果你的資料集很大,讓使用者可以針對他的應用只下載一部分的子集
優點:R, L, A, P - Use content negotiation for serving data available in multiple formats
使用內容協商機制來決定提供的資料格式
Use content negotiation in addition to file extensions for serving data available in multiple formats.
除了副檔名之外,還可以使用 HTTP 的內容協商機制來決定提供的資料格式
優點:R, A - Provide real-time access
提供及時的存取
When data is produced in real time, make it available on the Web in real time or near real-time.
如果資料是即時產生的,也提供可以取得即時資料的方法
優點:R, A - Provide data up to date
提供最新版的資料
Make data available in an up-to-date manner, and make the update frequency explicit.
總是提供到最新版本的資料,並且固定更新的頻率
優點:R, A - Provide an explanation for data that is not available
無法提供的資料要說明原因
For data that is not available, provide an explanation about how the data can be accessed and who can access it.
針對無法直接提供的資料,說明如何取得及誰可以取得
優點:R, T - Make data available through an API
讓資料可以透過 API 取得
Offer an API to serve data if you have the resources to do so.
如果有足夠的資源,提供 API 服務來供應資料
優點:R, P, I, A - Use Web Standards as the foundation of APIs
使用網路標準作為 API 的基礎
When designing APIs, use an architectural style that is founded on the technologies of the Web itself.
設計 API 服務時,使用網路基礎的技術作為架構核心
優點:R, L, I, D, A, P - Provide complete documentation for your API
提供完整的 API 文件
Provide complete information on the Web about your API. Update documentation as you add features or make changes.
在網路上提供完整的 API 文件,並且在 API 有更新時即時更新文件
優點:R, T - Avoid Breaking Changes to Your API
避免 API 有不向前相容的變動
Avoid changes to your API that break client code, and communicate any changes in your API to your developers when evolution happens.
避免重大的 API 更新造成應用端程式錯誤,更改 API 時都要跟開發人員溝通
優點:T, I
- Provide bulk download
- Data Preservation
資料保存- Preserve identifiers
保留識別符
When removing data from the Web, preserve the identifier and provide information about the archived resource.
當從網路上移除資料時,保留該資料的識別符,並且提供該資料歸檔保存的資訊
優點:R, T - Assess dataset coverage
評估資料集覆蓋率
Assess the coverage of a dataset prior to its preservation.
評估資料集的覆蓋率來做為歸檔保存時的參考
優點:R, T
- Preserve identifiers
- Feedback
回饋- Gather feedback from data consumers
從資料使用者收集回饋意見
Provide a readily discoverable means for consumers to offer feedback.
提供一個容易發現的方式讓使用者提供意見回饋
優點:R, C, T - Make feedback available
公開回饋意見
Make consumer feedback about datasets and distributions publicly available.
公開使用者對資料集和發佈方式的回饋意見
優點:R, T
- Gather feedback from data consumers
- Data Enrichment
加強資料- Enrich data by generating new data
增加新資料來加強現有資料集
Enrich your data by generating new data when doing so will enhance its value.
當新資料可以提升資料集的價值時,就著手產生新資料
優點:R, C, T, P - Provide Complementary Presentations
提供補充的內容來展示資料
Enrich data by presenting it in complementary, immediately informative ways, such as visualizations, tables, Web applications, or summaries.
提供資料的各種用例,像是視覺化呈現、表格、網路應用程式或是摘要等來讓資料更多元
優點:R, C, A, T
- Enrich data by generating new data
- Republication
再散佈- Provide Feedback to the Original Publisher
提供回饋意見給原發佈者
Let the original publisher know when you are reusing their data. If you find an error or have suggestions or compliments, let them know.
讓資料的原發佈者資料你有再利用他的資料,如果有發現任何錯誤或可以改進的地方,也讓他知道
優點:R, I, T - Follow Licensing Terms
遵照授權條款
Find and follow the licensing requirements from the original publisher of the dataset.
確認原始發佈資料集的授權條款,並遵守之
優點:R, T - Cite the Original Publication
標註原發佈者
Acknowledge the source of your data in metadata. If you provide a user interface, include the citation visibly in the interface.
在詮釋資料內標註資料來源,如果有建立使用者介面,也要在上面顯示資料來源
優點:R, D, T
- Provide Feedback to the Original Publisher
翻譯可能有問題,Patch Welcome。最後附上一些翻譯時參考的資料: