5. A computer program product for creating a new annotation for a data source, the computer program product comprising: a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising: generating a first data source version identifier based on a first version of the data source; receiving text of a first annotation; adding a first annotation record to an annotation data store, the first annotation record including the first data source version identifier that was generated and the text of the first annotation; determining that a second version of the data source has been created; generating a second data source version identifier based on the second version of the data source, wherein the first data source version identifier and the second data source version identifier are both associated with the same data source; receiving text of a second annotation; adding a second annotation record to the annotation data store, the second annotation record including the second data source version identifier that was generated and the text of the second annotation; updating the first annotation record to include both the first data source version identifier and second data source version identifier; and linking the text of the first annotation to the second annotation record; wherein the first annotation record further includes point information indicating coordinates of at least one part of the first version of the data source that the first annotation is meant to annotate.
5. A computer program product for creating a new annotation for a data source, the computer program product comprising: a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising: generating a first data source version identifier based on a first version of the data source; receiving text of a first annotation; adding a first annotation record to an annotation data store, the first annotation record including the first data source version identifier that was generated and the text of the first annotation; determining that a second version of the data source has been created; generating a second data source version identifier based on the second version of the data source, wherein the first data source version identifier and the second data source version identifier are both associated with the same data source; receiving text of a second annotation; adding a second annotation record to the annotation data store, the second annotation record including the second data source version identifier that was generated and the text of the second annotation; updating the first annotation record to include both the first data source version identifier and second data source version identifier; and linking the text of the first annotation to the second annotation record; wherein the first annotation record further includes point information indicating coordinates of at least one part of the first version of the data source that the first annotation is meant to annotate. 6. The computer program product of claim 5 , wherein at least the first annotation record includes an identifier list and the text of the first annotation, and the identifier list consists of a single entry that includes the first data source version identifier that was generated and the point information.