Unified dataset schemas

The versioned dataset API uses Nominal(Name, T), RowRef(DatasetId), Set(T), List(T), Option(T), Product(T, U), Record(field: T) and tagged Union(A: T | B: U). These are structural declarations, not mathematical equivalence proofs.

Rationals encode as {"numerator":"2","denominator":"3"}; exact decimals as {"decimal":"1.200"}. References carry dataset and key fields. Sets and lists use arrays. Unknown legacy payloads are explicitly json; symbolic source stays text.

Each dataset publishes its schema, supported operations and separate verification status. The notation below retains YakDB’s original mathematical documentation.

Base types

TypeDescription
unitA type with one value, written ().
boolOne of the two values true or false.
intAn exact signed integer of arbitrary size.
rationalAn exact fraction of integers with a nonzero denominator, reduced to lowest terms.
decimalAn exact finite base-10 number; trailing decimal zeros do not change its value.
float64A finite IEEE-754 binary64 floating-point number, explicitly approximate; NaN and infinities are excluded.
stringA sequence of Unicode scalar values, rendered as plain text without implicit normalization.

Type constructors

ConstructorNotationDescription
ListT listA finite ordered sequence of values of type T; repetitions are allowed.
OptionT optionA value of type T or None. None is distinct from false, zero, and an empty collection.
SetSet<T>An unordered set of values of type T. Mathematical objects may retain possible duplicate representatives when equality is unresolved.
RowRefRowRef<T>A reference to a row of type T, displayed as its primary key linked to its standalone page.

Derived types

TypeRepresentationDescription
KnotIdstringA distinct catalogue identifier for an oriented knot; not the knot diagram itself.
PDCodeint list listA planar diagram represented by integer quadruples, preserving crossing order and strand labels.
UnorientedKnotSet<OrientedKnot>An oriented knot and its reverse, identified under reversal.
UnorientedMirrorClassSet<UnorientedKnot>An unoriented knot and its mirror, identified under mirroring.

Table row types

TypeDatasetDescription
OrientedKnotRowOriented KnotsA record of 14 fields. Its declared primary key is name; id is a generated row reference.
UnorientedKnotRowUnoriented KnotsA record of 3 fields. Its declared primary key is name; id is a generated row reference.
UnorientedMirrorClassRowUnoriented Mirror ClassesA record of 7 fields. Its declared primary key is name; id is a generated row reference.
Regina12RowRegina12A record of 7 fields. Its declared primary key is name; id is a generated row reference.