Best Practices: Data on the Web – #1 Provide Metadata!

Based on the Data on the Web Best Practices document, produced by the DWBP WG, we will comment on one Best Practice per day.

Well, today is the day of the first one:

BP1: Provide Metadata

Metadata can be thought of as labels that help machines and people identify what datasets are about and what is inside them. To understand why they are necessary, imagine a Walmart warehouse full of stacked boxes with products to sell. Now, imagine that the Web is the inside of the store and you are in charge of putting everything on the shelves, organizing by product type. To optimize your work, the people in charge of stacking the boxes in the warehouse left everything labeled, identifying the contents of each box, preventing you from having to open everything to see what is inside before you start organizing. Well, those workers who labeled everything left metadata for you.

This makes it easy to understand why providing metadata when putting your data on the Web is so important!

Provide metadata so that humans and computer applications can read it

Providing metadata is important when publishing data on the web because data publishers and data consumers may not know each other. Because of this, it is necessary to provide information that helps humans and computers understand the published data, as well as other important aspects that can be described using metadata.

Expected outcome

Humans will be able to understand the metadata, and computer applications – especially user agents – will be able to process them.

Possible Implementation

For data that you want humans to read, you can provide metadata as part of an HTML page or provide metadata in a separate text file.

For machine-readable data, you can use a serialization format, such as Turtle or JSON, or you can embed it in the HTML using HTML-RDFa or JSON-LD. If multiple formats are published separately, they should come from the same URL using content negotiation (or conneg) and be available at different URIs, distinguished by the file name extension. Maintaining multiple formats is easier if you can generate each format "on the fly" based on a single source of metadata.

Additionally, when you want to make data about datasets available to machines, it is good practice to use existing standards or vocabularies that many other publishers already use. For example, the Dublin Core Metadata (DCMI) terms, called DCMI Metadata Terms, and the Data Catalog Vocabulary

source