How to construct and publish data on the web the right way

The process of publishing your data on the Web is multifaceted. To increase the value of your data sources, you want the data to be expressed using standard names (codes), schemas and serialization formats. This makes it easier for the consumers of your data to integrate it into their applications and with other data sources.

Names/codes for entities you describe

Whether your data is tabular or not, you are often using entities (or ids or codes representing them) as values. Such as artists in your collection of artworks.

People often mint IDs for the entities they are describing. This means they create new ID spaces and assigning new IDs to entities.

Instead of generating new IDs, consider using standard keys for entities, such as Cofactor IDs. Using standard keys (Cofactor IDs) in your dataset facilitates the adoption and increases the value of your dataset.

HTTP URLs in place of IDs

An alternative to IDs are publicly accessible HTTP URIs pointing at some location on the web. These have the following benefits:

  • They are globally unique by default, so they will never clash with others.
  • They can be dereferenced (resolved on the Web) and provide an easy way to access the description of each entity referenced.
  • They are naturally stable and persistent.

Each Cofactor ID is dereferenceable using its corresponding URI.


What are you representing in your data? Is it people? Events? Try to find an existing schema that meets your needs. Consider You want your data schema to be widely understood and adopted. Reuse common vocabularies as much as possible.

If doesn't fulfill your needs, you can create and publish a custom vocabulary. Avoid defining a new vocabulary from scratch, but try to extend an existing vocabulary.

Here’s an example:

rdf:type rdf:Property ;
rdfs:label "reporting year" ;
rdfs:comment "Indicates a year when a TRI Report was submitted to the U.S.
 EPA's Toxic Release Inventory system." ;
rdfs:domain tri:Report ;
rdfs:range rdfs:Literal .
Have feedback on this article? Let @cofactor_io know.
Need help? Contact us.