Component 4: Alternate Entities

The fourth component of PROV-DM is concerned with relations specialization and alternate between entities. Figure figure-component4 overviews the component.

Alternates Component Overview

Wherever two people describe the provenance of a same thing, one cannot expect them to coordinate and agree on the identifiers to use to denote that thing.

User Alice writes an article. In its provenance, she wishes to refer to the precise version of the article with a date-specific URI, as she might edit the article later. Alternatively, user Bob refers to the article in general, indepedently of its variants over time.

To allow for identifiers to be chosen freely and independently by each user, the PROV data model introduces relations that allow entities to be linked together. The following two relations are introduced for expressing specialized or alternate entities.


An entity is a specialization of another if they both refer to some common thing but the former is a more constrained entity than the former. The common entity does not need to be identified. Examples of constraints include a time period, an abstraction, and a context associated with the entity.

A specialization relation, written specializationOf(sub, super) in PROV-N, has the following constituents:
  • specializedEntity: an identifier (sub) of the specialized entity;
  • generalEntity: an identifier (super) of the entity that is being specialized.

The BBC news home page on 2012-03-23 ex:bbcNews2012-03-23 is a specialization of the BBC news page in general bbc:news/. This can be expressed as follows.

specializationOf(ex:bbcNews2012-03-23, bbc:news/)
Given that the BBC news does not define a URI for today's news page, we are creating a qualified name in the namespace ex.


An entity is alternate of another if they are both a specialization of some common entity. The common entity does not need to be identified.

An alternate relation, written alternateOf(e1, e2) in PROV-N, has the following constituents:
  • alternate1: an identifier (e1) of the first of the two entities;
  • alternate2: an identifier (e2) of the second of the two entities.

A given news item on the BBC News site bbc:news/science-environment-17526723 for desktop is an alternate of a bbc:news/mobile/science-environment-17526723 for mobile devices.

entity(bbc:news/science-environment-17526723, [ prov:type="a news item"])
entity(bbc:news/mobile/science-environment-17526723, [ prov:type="a news item"])
alternateOf(bbc:news/science-environment-17526723, bbc:news/mobile/science-environment-17526723)

They are both specialization of an (unspecified) entity.

Considering again the two versions of the technical report tr:WD-prov-dm-20111215 (second working draft) and tr:WD-prov-dm-20111018 (first working draft). They are alternate of each other.


They are both specialization of the page

A discussion on alternative definition of these relations has not yet reached a satisfactory conclusion. This is ISSUE-29. Also ISSUE-96.