Provenance is defined as a record that describes the people, institutions, entities, and activities involved in producing, influencing, or delivering a piece of data or a thing. In particular, the provenance of information is crucial in deciding whether information is to be trusted, how it should be integrated with other diverse information sources, and how to give credit to its originators when reusing it. In an open and inclusive environment such as the Web, where users find information that is often contradictory or questionable, provenance can help those users to make trust judgements.

The PROV Family of Specifications is a set of specifications defined by the W3C PROV Working Group defining various aspects that are necessary to achieve the vision of inter-operable interchange of provenance information in heterogeneous environments such as the Web. The specifications are:

  • PROV-OVERVIEW, an overview of the family of PROV specifications;
  • PROV-PRIMER, a primer for the PROV data model;
  • PROV-DM, the PROV data model for provenance;
  • PROV-CONSTRAINTS, a set of constraints applying to the PROV data model;
  • PROV-N, a notation for provenance aimed at human consumption;
  • PROV-O, the PROV ontology, an OWL2 ontology allowing the mapping of PROV to RDF;
  • PROV-AQ, the mechanisms for accessing and querying provenance;
  • PROV-XML, an XML schema for the PROV data model;
  • PROV-LINKS, a mechanism for linking entities across bundles;
  • PROV-DICTIONARY, tackling the provenance of dictionaries.

ProvValidator, ProvTranslator and ProvExpander services use ProvToolbox a Java toolkit to create, save, and read PROV expressions.

  • ProvTranslator reads the PROV representation submitted by the user, builds an in memory representation using Java objects and then saves it to the requested represententation. Conversion from any PROV representation to Java objects is performed by the ProvToolbox; likewise, conversion from Java objects to other representations is also performed by the Prov Toolbox.
  • ProvValidator performs a series of test to check validity of an in-memory PROV representation. It returns a validation report listing issues identified by the validator.
  • ProvExpander expands a provenance template using a series of bindings; it returns a PROV document.

ProvValidator and ProvTranslator can be used either interactivity from a web browser, or as REST services, according to the following API.