Knobits
A knobit is the smallest piece of knowledge or skill that makes sense to learn and test on its own. Every knobit, grouped by activity, with how many AI models master it.
Data modelling
Capture data requirements
- K-101 Recognises a data requirement making several claims AI does this partly 3/10
- K-102 Recognises a data requirement prescribing a design solution Not tested yet
- K-103 Recognises a statement outside the scope of data requirements People still lead 1/10
- K-104 Recognises an ambiguous business term in a data requirement AI does this partly 5/10
- K-105 Recognises untestable wording in a data requirement AI does this partly 3/10
- K-106 Recognises an unverifiable data requirement AI does this partly 3/10
- K-107 Recognises a reference with several possible referents AI does this partly 3/10
- K-108 Recognises a data requirement without a named subject AI does this partly 3/10
- K-109 Recognises a measure stated without unit or basis AI does this well 8/10
- K-110 Recognises a data requirement silent on current versus past values People still lead 1/10
- K-111 Recognises an absolute statement with its exception unasked AI does this partly 6/10
- K-112 Recognises a mandatory attribute without its moment of obligation AI does this partly 6/10
- K-113 Recognises a business rule left inside another statement AI does this well 9/10
- K-114 Recognises content filed under the wrong requirement AI does this partly 3/10
- K-115 Recognises an unsourced data requirement Not tested yet
- K-116 Recognises a missing or meaningless requirement priority People still lead 0/10
- K-117 Recognises a missing or wrong requirement type People still lead 0/10
- K-118 Recognises a status contradicting the requirement's content AI does this well 8/10
- K-119 Recognises a guess recorded as fact AI does this well 8/10
- K-120 Recognises a missing rationale for a non-obvious requirement Not tested yet
- K-121 Recognises duplicate data requirements People still lead 0/10
- K-122 Recognises paraphrased data requirements People still lead 0/10
- K-123 Recognises conflicting data requirements People still lead 0/10
- K-124 Recognises inconsistent terminology across the register AI does this well 9/10
- K-125 Recognises a requirements register with unbounded scope Not tested yet
- K-126 Recognises a requirements register describing no events Not tested yet
- K-127 Recognises an uncovered identity requirement People still lead 1/10
- K-128 Recognises an uncovered volume or retention requirement People still lead 1/10
- K-129 Recognises an uncovered sensitivity or access requirement People still lead 1/10
- K-130 Recognises an uncovered lineage requirement People still lead 1/10
- K-131 Recognises undecided history requirements across the register People still lead 1/10
- K-132 Recognises a requirements register serving no stated question People still lead 1/10
- K-133 Recognises a missing or wrong requirement trace AI does this partly 4/10
- K-134 Recognises unstable requirement identifiers AI does this well 7/10
- K-151 Explains singular and unambiguous requirement statements AI does this well 7/10
- K-152 Distinguishes a business requirement from a design solution Not tested yet
- K-153 Explains the data requirement types of the register People still lead 0/10
- K-154 Explains requirement attributes and traceability AI does this well 8/10
- K-155 Explains current value, history and point-in-time reproducibility AI does this well 9/10
- K-156 Explains the identity of a business thing People still lead 1/10
- K-157 Explains the non-functional data concerns People still lead 1/10
- K-158 Explains the scope, events and questions a data register must state People still lead 1/10
- K-159 Explains referential and logical ambiguity in natural-language statements AI does this well 10/10
- K-160 Explains persistent identifiers AI does this well 10/10
- K-161 Explains verifiable requirement statements AI does this well 9/10
- K-162 Explains consistency within a requirements register People still lead 0/10
- K-135 Retires a superseded register entry instead of deleting it AI does this well 10/10
Define business terms
- K-201 Recognises a definition circular within itself AI does this well 7/10
- K-202 Recognises terms defined by each other AI does this well 7/10
- K-203 Recognises a negative definition AI does this partly 3/10
- K-204 Recognises a definition too broad for its concept AI does this partly 6/10
- K-205 Recognises a definition too narrow for its concept AI does this well 9/10
- K-206 Recognises a general concept tied to one subject field Not tested yet
- K-207 Recognises a part concept tied to one whole Not tested yet
- K-208 Recognises an incomplete extensional definition AI does this well 10/10
- K-209 Recognises a hidden definition of a second concept AI does this partly 5/10
- K-210 Recognises a definition without a superordinate concept Not tested yet
- K-211 Recognises a definition carrying non-defining content AI does this partly 4/10
- K-212 Recognises a definition failing the substitution test AI does this well 10/10
- K-251 Explains intensional definition by superordinate concept and delimiting characteristics AI does this well 10/10
- K-252 Explains the substitution principle for definitions AI does this well 10/10
- K-253 Explains generic and partitive concept relations AI does this well 10/10
- K-254 Explains extensional definitions and their completeness AI does this well 10/10
- K-255 Explains circularity in definitions and concept systems AI does this well 7/10
- K-256 Explains essential and delimiting characteristics AI does this well 10/10
- K-257 Explains subject fields and field-specific concepts Not tested yet
- K-213 Writes an intensional definition of a business term AI does this well 10/10
Document data rules as SBVR fact types and rule statements
- K-301 Recognises contradicting data rules AI does this well 7/10
- K-302 Recognises a data rule no valid data can satisfy Not tested yet
- K-303 Recognises redundant data rules AI does this well 9/10
- K-304 Recognises a data rule implied by another AI does this well 9/10
- K-305 Recognises overlapping value-set rules on one fact type AI does this well 7/10
- K-306 Recognises circular derivation rules AI does this well 7/10
- K-307 Recognises a fact type with clashing modalities AI does this well 9/10
- K-308 Recognises one relationship stated as two fact types AI does this well 7/10
- K-309 Recognises a gap in a partition of cases People still lead 1/10
- K-310 Recognises a constraint claimed by a rule and missing from the schema AI does this well 10/10
- K-311 Recognises a uniqueness rule with no unique key behind it AI does this well 8/10
- K-312 Recognises a rule assigned to a missing data quality check AI does this well 9/10
- K-313 Recognises a declared constraint the target platform does not enforce AI does this well 10/10
- K-314 Recognises a data-update rule with no enforcing or detecting mechanism AI does this well 8/10
- K-315 Recognises an activity or party rule claimed as a data rule AI does this well 9/10
- K-316 Recognises an ambiguous pronoun in a rule statement AI does this well 9/10
- K-317 Recognises mixed and-or without precedence in a rule AI does this well 9/10
- K-318 Recognises a cardinality rule stated from one end only AI does this well 9/10
- K-319 Recognises a definitional rule filed as operative AI does this well 9/10
- K-320 Recognises an operative rule filed as definitional AI does this well 9/10
- K-351 Explains SBVR fact types and rule statements AI does this well 9/10
- K-352 Explains alethic and deontic modality of rules AI does this well 9/10
- K-353 Explains logical relations between rules AI does this well 9/10
- K-354 Explains derivation rules and their dependencies AI does this well 7/10
- K-355 Explains Witt's classification of business rules AI does this well 10/10
- K-356 Explains rule enforcement mechanisms and platform enforcement AI does this well 10/10
- K-358 Explains partitions of a concept into cases People still lead 1/10
- K-337 Resolves contradicting rules by adding the missing condition AI does this well 7/10
Build the conceptual model and taxonomies
- K-401 Recognises an ambiguous node label Not tested yet
- K-402 Recognises a node with an unclear boundary and no scope note Not tested yet
- K-403 Recognises overlapping sibling nodes without reciprocal scope notes Not tested yet
- K-404 Recognises a meaning change without a history note Not tested yet
- K-405 Recognises a node without warrant AI does this well 7/10
- K-406 Recognises inconsistent node label forms Not tested yet
- K-407 Recognises an abbreviation, jargon or system name as a node label Not tested yet
- K-408 Recognises a compound node combining two characteristics Not tested yet
- K-409 Recognises siblings divided by mixed characteristics Not tested yet
- K-410 Recognises a synonym kept as a separate node AI does this well 10/10
- K-411 Recognises a link failing the all-and-some test AI does this well 10/10
- K-412 Recognises an instance placed as a concept node Not tested yet
- K-413 Recognises a part-of link in a kind-of hierarchy AI does this well 10/10
- K-414 Recognises an unjustified polyhierarchy AI does this well 10/10
- K-415 Recognises an associative relationship shown as a hierarchy Not tested yet
- K-416 Recognises non-reciprocal hierarchy links Not tested yet
- K-417 Recognises uneven levels of specificity among siblings Not tested yet
- K-418 Recognises a home-grown copy of an existing vocabulary Not tested yet
- K-420 Recognises a structural error in a taxonomy hierarchy AI does this well 8/10
- K-423 Recognises a taxonomy node deleted while data still refers to it Not tested yet
- K-424 Recognises a node code reused for a different concept Not tested yet
- K-451 Explains hierarchical relations and the all-and-some test AI does this well 10/10
- K-452 Explains scope notes and history notes Not tested yet
- K-453 Explains warrant for vocabulary terms AI does this well 7/10
- K-454 Explains label form conventions for vocabularies Not tested yet
- K-455 Explains characteristics of division and node labels Not tested yet
- K-456 Explains equivalence relations and preferred terms AI does this well 10/10
- K-457 Explains associative relations AI does this well 10/10
- K-458 Explains reuse of external vocabularies Not tested yet
- K-421 Models a role as an association to the party playing it AI does this well 10/10
- K-422 Derives the broader concept from the head of a definition AI does this well 10/10
Derive the logical data model
- K-501 Recognises an insertion anomaly in a logical data model People still lead 0/10
- K-502 Recognises an update anomaly in a logical data model AI does this well 10/10
- K-503 Recognises a deletion anomaly in a logical data model People still lead 0/10
- K-504 Recognises a repeating group in an entity AI does this well 9/10
- K-505 Recognises an attribute holding several facts AI does this well 9/10
- K-506 Recognises an attribute with several meanings AI does this well 10/10
- K-507 Recognises attributes held as name-value rows Not tested yet
- K-508 Recognises a partial dependency on a composite key Not tested yet
- K-509 Recognises a transitive dependency between non-key attributes AI does this well 9/10
- K-510 Recognises a stored derivable attribute AI does this well 10/10
- K-511 Recognises a non-superkey determinant in a 3NF entity Not tested yet
- K-512 Recognises independent multi-valued facts in one entity Not tested yet
- K-513 Recognises a join dependency kept in one entity Not tested yet
- K-514 Recognises a lossy decomposition Not tested yet
- K-515 Recognises a functional dependency lost in a decomposition Not tested yet
- K-516 Recognises attributes inapplicable to some instances AI does this well 9/10
- K-517 Recognises an unstable or meaningful primary key AI does this well 10/10
- K-518 Recognises an entity identified only by a system-assigned key AI does this partly 6/10
- K-519 Recognises undeclared subtype constraints AI does this well 7/10
- K-520 Recognises independently changing histories in one entity Not tested yet
- K-521 Recognises an unresolved many-to-many relationship AI does this well 9/10
- K-522 Recognises a polymorphic association Not tested yet
- K-523 Recognises a connection trap Not tested yet
- K-524 Recognises a fan trap Not tested yet
- K-525 Recognises a chasm trap Not tested yet
- K-526 Recognises a redundant relationship AI does this well 8/10
- K-527 Recognises overlapping entities Not tested yet
- K-528 Recognises one entity split by value into several Not tested yet
- K-529 Recognises a relationship contradicting its data rule AI does this well 8/10
- K-530 Recognises a constraint implied by neither keys nor domains Not tested yet
- K-531 Traces a logical-model anomaly to its structural cause People still lead 0/10
- K-532 Records the functional dependencies of an entity AI does this well 9/10
- K-533 Decomposes an entity along a functional dependency without loss AI does this well 9/10
- K-534 Resolves a many-to-many relationship into an associative entity AI does this well 9/10
- K-535 Replaces a repeating group with a dependent entity AI does this well 9/10
- K-536 Introduces subtypes for attributes applying to only some instances AI does this well 7/10
- K-551 Explains functional dependency AI does this well 10/10
- K-552 Explains candidate key and prime attribute AI does this well 10/10
- K-553 Explains the insertion, update and deletion anomalies AI does this well 10/10
- K-554 Explains first normal form AI does this well 9/10
- K-555 Explains second normal form Not tested yet
- K-556 Explains third normal form AI does this well 10/10
- K-557 Explains Boyce-Codd normal form Not tested yet
- K-558 Explains multivalued dependency and fourth normal form Not tested yet
- K-559 Explains join dependency and fifth normal form Not tested yet
- K-560 Explains sixth normal form for temporal data Not tested yet
- K-561 Explains domain-key normal form Not tested yet
- K-562 Explains attribute domains AI does this well 10/10
- K-563 Explains lossless-join decomposition AI does this well 9/10
- K-564 Explains dependency preservation AI does this well 9/10
- K-565 Explains derived data and point-in-time snapshots AI does this well 10/10
- K-566 Explains supertype and subtype constraints AI does this well 9/10
- K-567 Explains relationship cardinality and optionality AI does this well 9/10
- K-568 Explains natural keys, surrogate keys and key stability AI does this well 10/10
- K-569 Explains the connection, fan and chasm traps Not tested yet
- K-570 Explains an entity type as the realisation of one business concept Not tested yet
Design the physical data model
- K-601 Recognises an unmanaged duplicate column AI does this well 10/10
- K-602 Recognises logical entities merged into one table Not tested yet
- K-603 Recognises a stored derived or summary value AI does this well 10/10
- K-604 Recognises a lossy or unconstrained vertical split Not tested yet
- K-605 Recognises an entity split into clone tables by value Not tested yet
- K-606 Recognises rolled-up subtypes losing conditional constraints AI does this partly 4/10
- K-607 Recognises rolled-down subtypes losing supertype constraints Not tested yet
- K-608 Recognises a hierarchy encoded redundantly Not tested yet
- K-609 Recognises content held outside the database by reference Not tested yet
- K-610 Recognises a surrogate key without natural-key uniqueness AI does this partly 6/10
- K-611 Recognises a surrogate value with meaning, reused or renumbered Not tested yet
- K-612 Recognises an undeclared foreign key Not tested yet
- K-613 Recognises a referential action destroying what should survive Not tested yet
- K-616 Recognises a changeable value list fixed in the DDL Not tested yet
- K-617 Recognises a physical domain differing from the logical domain AI does this partly 4/10
- K-618 Recognises binary floating point used for an exact quantity AI does this well 10/10
- K-620 Recognises a business fact held in physical row order Not tested yet
- K-621 Recognises an index set not derived from access paths Not tested yet
- K-622 Recognises an overwrite where history is required Not tested yet
- K-623 Recognises inconsistent validity periods in a versioned table AI does this well 9/10
- K-624 Recognises a reference to a versioned table by business key alone AI does this well 8/10
- K-625 Recognises a soft delete the constraints do not understand Not tested yet
- K-626 Recognises a fact table of mixed grain AI does this well 7/10
- K-627 Recognises a measure without stated additivity Not tested yet
- K-628 Recognises a nullable foreign key on a reporting join path Not tested yet
- K-629 Recognises a sentinel value standing in for null AI does this well 10/10
- K-630 Recognises a null with a business meaning Not tested yet
- K-651 Explains controlled denormalisation AI does this well 10/10
- K-652 Explains the implementation options for subtypes AI does this partly 4/10
- K-653 Explains referential integrity and referential actions Not tested yet
- K-654 Explains exact and approximate numeric types AI does this well 10/10
- K-655 Explains null semantics and three-valued logic AI does this well 10/10
- K-656 Explains value sets held as reference data Not tested yet
- K-657 Explains index design from access paths Not tested yet
- K-658 Explains history strategies and validity-period conventions AI does this well 9/10
- K-659 Explains grain and additivity in dimensional models AI does this well 7/10
- K-660 Explains vertical and horizontal partitioning of tables Not tested yet
- K-661 Explains consistency of content stored by reference Not tested yet
- K-662 Explains the absence of row order in relational tables Not tested yet
- K-641 Routes a defect to the deliverable responsible for it AI does this well 7/10
Derive data quality rules
- K-703 Recognises a constraint deferred without a check AI does this well 8/10
- K-704 Recognises a derived or copied column without a check AI does this well 8/10
- K-705 Recognises history kept without its constraints checked AI does this well 9/10
- K-707 Recognises a check with no rule behind it AI does this well 8/10
- K-708 Recognises a check outliving its rule AI does this well 8/10
- K-709 Recognises a check unable to fail AI does this well 8/10
- K-710 Recognises a check on the wrong object AI does this well 7/10
- K-711 Recognises a check weaker than its rule AI does this well 7/10
- K-712 Recognises a check stronger than its rule AI does this well 8/10
- K-713 Recognises a check measuring the wrong population AI does this well 7/10
- K-714 Recognises nulls left to chance in a check predicate AI does this partly 6/10
- K-715 Recognises a past event judged against present data AI does this partly 6/10
- K-716 Recognises a set rule written as a row rule AI does this well 9/10
- K-717 Recognises a check expression unable to run AI does this well 9/10
- K-718 Recognises a misfiled data quality dimension People still lead 0/10
- K-719 Recognises duplicate checks for one rule People still lead 0/10
- K-720 Recognises a threshold at odds with its rule AI does this well 9/10
- K-721 Recognises disagreeing severity, threshold and failure action AI does this well 9/10
- K-722 Recognises a rejection destroying more than it protects Not tested yet
- K-723 Recognises a check failure with no capable owner AI does this partly 6/10
- K-724 Recognises a check scheduled at the wrong moment AI does this partly 6/10
- K-725 Recognises an aggregate hiding a total failure Not tested yet
- K-726 Recognises an empty population reported as a pass Not tested yet
- K-751 Explains data quality dimensions People still lead 0/10
- K-752 Explains traceability from data rule to check AI does this well 10/10
- K-753 Explains the population, measure and threshold of a check AI does this well 9/10
- K-754 Explains row-level and set-level checks AI does this well 9/10
- K-755 Explains severity, threshold and failure action AI does this well 9/10
- K-756 Explains scheduling checks against loads and use AI does this partly 6/10
- K-757 Explains segmented data quality reporting Not tested yet
- K-758 Explains ownership of data quality failures AI does this partly 6/10
Generate and review DDL
- K-801 Recognises generated SQL edited by hand AI does this well 8/10
- K-802 Recognises DDL older than its model Not tested yet
- K-803 Recognises an object in the SQL missing from the model AI does this partly 6/10
- K-804 Recognises generator warnings carried without a decision Not tested yet
- K-806 Recognises a configured dialect left unregenerated AI does this well 10/10
- K-808 Recognises a CHECK constraint parsed and ignored People still lead 0/10
- K-809 Recognises an expression running on one engine only Not tested yet
- K-810 Recognises a truncated identifier taken as the real name People still lead 0/10
- K-811 Recognises a reserved word used as an identifier Not tested yet
- K-812 Recognises a type meaning something else on another engine Not tested yet
- K-813 Recognises an index the target engine cannot create or run AI does this partly 5/10
- K-814 Recognises a foreign-key cycle taken as resolved Not tested yet
- K-816 Recognises one decimal scale for every currency People still lead 1/10
- K-817 Recognises a length taken from sample data AI does this partly 3/10
- K-819 Recognises a collation changing what a key means Not tested yet
- K-820 Recognises a default inventing a business fact People still lead 0/10
- K-821 Recognises a restricted column without access design People still lead 0/10
- K-822 Recognises greenfield DDL aimed at a populated database AI does this partly 3/10
- K-823 Recognises a drop script used as a rollback AI does this partly 3/10
- K-824 Recognises an environment baked into the script AI does this partly 5/10
- K-825 Recognises SQL reviewed without being run Not tested yet
- K-826 Recognises undetected drift between database and model Not tested yet
- K-827 Recognises an event timestamp stored without a time zone Not tested yet
- K-828 Recognises a business date stored with a time of day AI does this partly 3/10
- K-851 Explains generated artefacts and their single source of truth AI does this well 10/10
- K-852 Explains SQL dialect differences AI does this well 10/10
- K-853 Explains currency minor units People still lead 1/10
- K-854 Explains time zones in timestamps and business dates AI does this partly 3/10
- K-855 Explains collation and case or accent sensitivity Not tested yet
- K-856 Explains access design for classified data People still lead 0/10
- K-857 Explains schema migration and rollback AI does this partly 3/10
- K-858 Explains environment-independent deployment AI does this partly 5/10
- K-859 Explains testing DDL by execution and detecting drift Not tested yet
Foundation knowledge
- K-901 Explains what data models are and why organisations build them Not tested yet
- K-902 Explains the types of modelled data Not tested yet
- K-903 Explains data modelling notations Not tested yet
- K-904 Explains identifying and non-identifying relationships AI does this well 9/10
- K-905 Explains dimensional modelling AI does this well 7/10
- K-906 Explains UML class diagrams as a data modelling scheme Not tested yet
- K-907 Explains fact-based modelling Not tested yet
- K-908 Explains time-based modelling schemes Not tested yet
- K-909 Explains NoSQL data modelling schemes Not tested yet
- K-910 Explains canonical data models Not tested yet
- K-911 Explains views in physical design Not tested yet
- K-912 Explains the planning of data modelling work Not tested yet
- K-913 Explains how to choose a modelling scheme and notation Not tested yet
- K-914 Explains forward and reverse engineering of data models AI does this well 10/10
- K-915 Explains data model review and the Data Model Scorecard Not tested yet
- K-916 Explains data model versioning and change management Not tested yet
- K-917 Explains the tools supporting data modelling Not tested yet
- K-918 Explains data model patterns and industry data models AI does this well 10/10
- K-919 Explains naming conventions for data model objects People still lead 0/10
- K-920 Explains database design principles Not tested yet
- K-921 Explains data modelling and design standards Not tested yet
Knobit assessment
Diagnose a learner on a knobit graph
- KA-01 Lists the knowledge states Not tested yet
- KA-02 Updates on each answer with the item's own parameters Not tested yet
- KA-03 Reports the most probable state Not tested yet
- KA-04 Derives the fringes Not tested yet
- KA-05 Classifies the mastery of each knobit Not tested yet
- KA-06 Names the connecting link Not tested yet
- KA-07 Applies the stopping rule and the item choice Not tested yet