Data model

The database consists of information that enable identification and classification of the errors raised by the validator software running a problematic file. In addition to identification and classification, that enable solution discovery, the database will eventually contain analyses and repairs for the problems as the encountered problems are studied.

1. Error

Errors describe the problem. An error may have many analyses and many data sources. Error message, validator and validator version should form unique key.

filesoptional list of repairs.@id identifiers.

List of references to 4. Data source / files.

analysesoptional list of `analysis.@id`_ identifiers.

List of references to 2. Analysis.

validatorrequired

The software raising the error.

validator-versionoptional

Version of the validating software.

error-messagerequired

The message from a validator.

typeoptional [ “general” | “exact” | “unknown” ]

Is the error exact enough to have an unambiguous solution, repair, or does the error state a general problem that needs further studying for each case? Most likely the error is of general type. However, every error message should ideally be clear enough to have an exact repair.

output-exampleoptional

Full or extended output from the validator to give context.

notesoptional

Additional notes about the error.

2. Analysis

Description of the problem. The list of paragraphs, in analysis for example, has a plot and visualization purpose for the articles.

@idrequired

Analysis object identifier.

repairsoptional list of `repair.@id`_ identifiers.

List of repairs related to this analysis. Repairs are described in section 3. Repair.

analysisrequired list of paragraphs

Analysis of the error.

software-problemoptional [ “yes” | “no” | “” ]

Is it a bug?

significant-propertiesoptional list of paragraphs

The properties of data that are considered significant in the analysis.

do-fixoptional [ “yes” | “no” | “” ]

An analysis may conclude that the solution is to not try to fix the files. If the error is fixable it should have repairs related to it, otherwise not.

3. Repair

@idrequired

Repair object identifier.

repairrequired

A suggestion on how to repair a file.

headingrequired

Short and distinctive description of the repair.

executionoptional

Example of execution of the repair.

effectsrequired

Description of how performing the repair affects data.

justificationoptional

Rationale for accepting the repair.

4. Data source / file

Data source or file describe a type of source or file.

@idrequired

Data source object identifier.

media-typerequired

File format, MIME type.

versionoptional

File format version.

profileoptional

Sub property of media type and version.