Enum Class AnnotationRelationStatus

java.lang.Object
java.lang.Enum<AnnotationRelationStatus>
ubic.gemma.model.common.description.AnnotationRelationStatus
All Implemented Interfaces:
Serializable, Comparable<AnnotationRelationStatus>, Constable

public enum AnnotationRelationStatus extends Enum<AnnotationRelationStatus>
Whether a source is stating that a relation holds, or stating that it does not.

Almost everything in AnnotationRelation is an assertion, and for a long time the table could hold nothing else. MGI publishes the other kind — MGI_Geno_NotDiseaseDO.rpt is 1,211 curated, cited rows saying a genotype does not model a disease — and disconfirmation is rare enough that discarding it is the expensive option. A negative result that somebody bothered to record is worth more than its row count suggests: it is the only thing that can stop an inference that everything else supports.

🛑 A refuted row is dangerous in a way an absent one is not. Read by anything that does not know this column exists, it says the exact opposite of what its source said — so the column is NOT NULL DEFAULT 'ASSERTED', the reads filter to ASSERTED unless a caller asks otherwise, and REFUTED never licenses an inference. PUBLICATION_ASSOCIATION took the same shape in V25 after the same reasoning; the difference is only in who the naive reader is (Gemma 1.32.x there, our own read paths here, since 1.32.x does not know this table).

Not a confidence scale. These are two things a source can say, not two ends of one. A relation nobody has an opinion about is simply absent, which is a third state and is represented by there being no row.

  • Enum Constant Details

    • ASSERTED

      public static final AnnotationRelationStatus ASSERTED
      The source states the relation holds. The default, and what every row written before this column existed means.
    • REFUTED

      public static final AnnotationRelationStatus REFUTED
      The source states the relation does NOT hold — an explicit negative, not a missing positive.

      Kept out of ordinary reads and out of every inference. Its value is to a caller that asks for it by name: "does anything actively deny this?" is a different question from "does anything support it?", and only this basis can answer the first.

  • Method Details

    • values

      public static AnnotationRelationStatus[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static AnnotationRelationStatus valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null