{'fraction_non_alphanumeric': 0.021636363636363638, 'fraction_numerical': 0.0032727272727272726, 'mean_word_length': 5.374275782155272, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Provenance and evidence in UniProtKB

The primary mission of UniProt is to support biological research by maintaining a stable, comprehensive, fully classified, richly and accurately annotated protein sequence knowledgebase, with extensive cross-references to external resources, that is freely available to the scientific community. To enable users of the knowledgebase to accurately assess the reliability of the information contained in this resource, the evidence for and provenance of the information must be recorded. This paper discusses the user requirements for this kind of metadata and the manner in which UniProtKB records it.


The UniProt Knowledgebase
The UniProt Knowledgebase (UniProtKB) [1] consists of two parts: UniProtKB/ Swiss-Prot, containing manually annotated records describing proteins with information extracted from the scientific literature and curator-evaluated computational analysis, and UniProtKB/TrEMBL, with automatically annotated records. The UniProtKB is available in several data formats, including RDF [2], at www.uniprot.org. The RDF distribution currently consists of almost 2.3 billion triples 1 , making it one of the largest data sets that is available in RDF. Roughly 10% of these triples are metadata that provide provenance and evidence information and this percentage is expected to increase.

A brief history of provenance
In general, scientists tend to have higher confidence in information that has been reviewed and approved by other scientists than in unreviewed data that was predicted by programs. In UniProtKB this is reflected by a split into two main sections: the manually curated and reviewed UniProtKB/Swiss-Prot and the automatically annotated and unreviewed UniProtKB/TrEMBL. But even manually reviewed data comes with different degrees of reliability. Historically, only four basic types of evidences were distinguished: Experimental The annotation is supported by experimental evidence. Probable The annotation was inferred with good confidence by a curator from another annotation with experimental evidence (e.g. an experimentally proven transcription factor is inferred to be located in the cell nucleus). By similarity The annotation was inferred based on a high sequence similarity to a protein which has experimental evidence for the same annotation. Potential The annotation was predicted by a sequence analysis tool.
This course-grained approach no longer meets the demands of bioinformaticians who ask for more detailed evidence information and, over all, provenance information. UniProt hence extended the metadata it records to include the following: Source Indicates the source of the information. There are three main categories: Scientific literature UniProtKB/Swiss-Prot records summarize the published knowledge about a protein in a condensed way. Scientists interested in more detailed information can retrieve and read the original publications. Programs Some UniProtKB annotations are inferred from the results of various sequence analysis programs. Distinguishing these annotations from those with an experimental origin is important for users using UniProtKB as a training set for prediction programs. External databases UniProtKB also imports data from other databases.
Scientists interested in more detailed information can retrieve and read the external database records. Can also be used internally to synchronize information. Date Indicates when a statement has last been updated. Can also be used internally to select aging records for which annotation might need to be revised.
UniProt has also extended its evidence codes slightly, and is currently investigating the adoption of the GO evidence codes [3], which are widely used in the biocuration field, to provide even more detailed and standardized evidence information.

Provenance representation
We will use the semi-automatic annotation program HAMAP [4] to illustrate how provenance information is currently described in the UniProtKB. This program uses manually curated protein family rules to annotate all proteins that belong to the same family. In the examples shown, it has annotated the recommended protein name based on the family rule MF 00536. In the RDF representation, we use reification to attach the provenance information to the name of the protein (see example 1 in turtle syntax with prefixes omitted for readability). Using SPARQL, one can retrieve all proteins whose names were annotated by this HAMAP rule (see example 2). UniProtKB data is also distributed in plain XML. Since the XML specification does not define a standard mechanism for attaching provenance information, we had to invent our own solution (see example 3). Evidence and provenance information is stored in "evidence" elements. The data to which the evidence applies links to its evidence via an "evidence" attribute. This means that users who are interested in this information have to write custom parsers to link the "evidence" attribute values to the corresponding "key" attributes of the "evidence" elements.

Conclusions & further work
Users in the bioinformatics community demand per statement provenance. Only the RDF data format can deliver this in a standardized and effective manner. RDF reification provides the low level infrastructure needed for adding provenance to a statement. Unfortunately, the reification syntax is awkward to use. A simple improvement such as having a shorthand in SPARQL for the reification quad would help (see example 4).