Skip to main content

Transaction Ontology

Databases
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 01 October 2026
Audio Overview
AI SEARCH

FLOW ALGEBRA — TRANSACTION ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/databases/transaction-ontology.html

FLOW TRANSACTION_ONTOLOGY {

  META {
    DOMAIN = "Computing Ontologies"
    SUBDOMAIN = "Databases"
    ONTOLOGY = "Transaction Ontology"
    PURPOSE = "Formalise database transactions, states, ACID properties, schedules, concurrency, isolation, locking, MVCC, logging, recovery and distributed transaction semantics."
    LOCALE = "en-GB"
  }

  ENTITY_TYPES {
    TRANSACTION
    TRANSACTION_STATE
    ACTIVE_STATE
    COMMITTED_STATE
    FAILED_STATE
    ABORTED_STATE
    OPERATION
    READ_OPERATION
    WRITE_OPERATION
    INSERT_OPERATION
    UPDATE_OPERATION
    DELETE_OPERATION
    BEGIN_TRANSACTION
    COMMIT
    ROLLBACK
    ABORT
    SAVEPOINT
    DATABASE_STATE
    DATA_ITEM
    READ_SET
    WRITE_SET
    ACID
    ATOMICITY
    CONSISTENCY
    ISOLATION
    DURABILITY
    SCHEDULE
    SERIAL_SCHEDULE
    CONCURRENT_SCHEDULE
    SERIALISABLE_SCHEDULE
    CONFLICT_SERIALISABILITY
    VIEW_SERIALISABILITY
    CONFLICT
    PRECEDENCE_GRAPH
    ISOLATION_LEVEL
    READ_UNCOMMITTED
    READ_COMMITTED
    REPEATABLE_READ
    SNAPSHOT_ISOLATION
    SERIALIZABLE
    DIRTY_READ
    NONREPEATABLE_READ
    PHANTOM_READ
    LOST_UPDATE
    WRITE_SKEW
    LOCK
    SHARED_LOCK
    EXCLUSIVE_LOCK
    TWO_PHASE_LOCKING
    STRICT_TWO_PHASE_LOCKING
    WAIT_FOR_GRAPH
    DEADLOCK
    MVCC
    VERSION
    SNAPSHOT
    TIMESTAMP
    TRANSACTION_LOG
    LOG_RECORD
    WRITE_AHEAD_LOG
    UNDO_RECORD
    REDO_RECORD
    CHECKPOINT
    RECOVERY
    CRASH
    FAILURE
    DISTRIBUTED_TRANSACTION
    PARTICIPANT
    COORDINATOR
    TWO_PHASE_COMMIT
    PREPARE_PHASE
    COMMIT_PHASE
    ABORT_PHASE
    RETRY
    IDEMPOTENCY
    CONFIGURATION
    EXECUTION_TRACE
    EVIDENCE
    CONFIDENCE_SCORE
    PROVENANCE_RECORD
  }

  RELATIONSHIPS {
    IS_A
    INSTANCE_OF
    HAS_STATE
    TRANSITIONS_TO
    BEGINS
    CONTAINS_OPERATION
    READS
    WRITES
    INSERTS
    UPDATES
    DELETES
    HAS_READ_SET
    HAS_WRITE_SET
    COMMITS
    ROLLS_BACK
    ABORTS
    HAS_SAVEPOINT
    HAS_ATOMICITY
    HAS_CONSISTENCY
    HAS_ISOLATION
    HAS_DURABILITY
    HAS_SCHEDULE
    PRECEDES
    CONFLICTS_WITH
    DEPENDS_ON
    HAS_PRECEDENCE_GRAPH
    HAS_ISOLATION_LEVEL
    LOCKS
    ACQUIRES
    RELEASES
    WAITS_FOR
    BLOCKS
    HAS_DEADLOCK
    HAS_VERSION
    READS_VERSION
    WRITES_VERSION
    HAS_SNAPSHOT
    HAS_TIMESTAMP
    LOGGED_IN
    HAS_LOG_RECORD
    HAS_UNDO_RECORD
    HAS_REDO_RECORD
    CHECKPOINTED_BY
    RECOVERED_BY
    COORDINATED_BY
    HAS_PARTICIPANT
    PREPARES
    VOTES
    RETRIES
    HAS_CONFIGURATION
    HAS_EXECUTION_TRACE
    DERIVED_FROM
    INFERRED_FROM
    HAS_EVIDENCE
    HAS_CONFIDENCE
    HAS_PROVENANCE
    SEMANTICALLY_EQUIVALENT_TO
  }

  INPUTS {
    TRANSACTION_METADATA
    OPERATION_LOGS
    READ_AND_WRITE_SETS
    DATABASE_STATE_DATA
    SCHEDULE_DATA
    ISOLATION_LEVEL_CONFIGURATION
    LOCK_DATA
    WAIT_FOR_DATA
    MVCC_VERSION_DATA
    SNAPSHOT_DATA
    TRANSACTION_LOGS
    WRITE_AHEAD_LOGS
    CHECKPOINT_DATA
    CRASH_AND_FAILURE_DATA
    RECOVERY_TRACES
    DISTRIBUTED_TRANSACTION_DATA
    TWO_PHASE_COMMIT_LOGS
    RETRY_DATA
    CONFIGURATION_DATA
    EXECUTION_TRACES
    ONTOLOGY_TERMS
  }

  NORMALISE {
    STANDARDISE_TRANSACTION_IDENTIFIERS
    NORMALISE_TRANSACTION_STATES
    NORMALISE_OPERATION_TYPES
    NORMALISE_DATA_ITEM_IDENTIFIERS
    NORMALISE_READ_AND_WRITE_SETS
    NORMALISE_SCHEDULE_IDENTIFIERS
    NORMALISE_CONFLICT_TYPES
    NORMALISE_ISOLATION_LEVELS
    NORMALISE_LOCK_TYPES
    NORMALISE_WAIT_FOR_RELATIONS
    NORMALISE_VERSION_AND_SNAPSHOT_IDENTIFIERS
    NORMALISE_LOG_RECORD_TYPES
    NORMALISE_CHECKPOINT_IDENTIFIERS
    NORMALISE_DISTRIBUTED_PARTICIPANT_IDENTIFIERS
    RESOLVE_TRANSACTION_OPERATION_VERSION_AND_LOG_IDENTITIES
    ALIGN_ONTOLOGY_TERMS
    REMOVE_DUPLICATES
    VALIDATE_METADATA
    PRESERVE_PROVENANCE
  }

  PROCESS TRANSACTION_REASONING_PIPELINE {
    TRANSACTION_REFERENCE -> TRANSACTION_IDENTIFICATION -> INITIAL_STATE_RESOLUTION
    INITIAL_STATE_RESOLUTION -> OPERATION_SEQUENCE_MAPPING -> READ_WRITE_AND_CONFLICT_ANALYSIS
    READ_WRITE_AND_CONFLICT_ANALYSIS -> CONCURRENCY_AND_ISOLATION_ANALYSIS -> COMMIT_OR_ROLLBACK_ANALYSIS
    COMMIT_OR_ROLLBACK_ANALYSIS -> LOGGING_AND_DURABILITY_ANALYSIS -> RECOVERY_OR_DISTRIBUTED_ANALYSIS_IF_APPLICABLE -> VALIDATION -> OUTPUT
  }

  PROCESS STATE_REASONING {
    BEGIN_TRANSACTION -> ACTIVE_STATE
    ACTIVE_STATE + COMMIT -> COMMITTED_STATE
    OPERATION_FAILURE -> FAILED_STATE
    FAILED_STATE -> ROLLBACK_OR_ABORT -> ABORTED_STATE
  }

  PROCESS READ_WRITE_REASONING {
    TRANSACTION -> OPERATION_SEQUENCE
    READ_OPERATION -> DATA_ITEM -> READ_SET
    WRITE_OPERATION -> DATA_ITEM -> WRITE_SET
    READ_SET + WRITE_SET -> CONFLICT_AND_DEPENDENCY_ANALYSIS
  }

  PROCESS ACID_REASONING {
    TRANSACTION -> ATOMICITY_CHECK -> CONSISTENCY_CHECK -> ISOLATION_CHECK -> DURABILITY_CHECK -> ACID_EVIDENCE
  }

  PROCESS SCHEDULE_REASONING {
    TRANSACTION_SET -> INTERLEAVED_OPERATIONS -> SCHEDULE
    NONINTERLEAVED_TRANSACTION_EXECUTION -> SERIAL_SCHEDULE
    INTERLEAVED_EXECUTION -> CONCURRENT_SCHEDULE
    SCHEDULE -> CONFLICT_AND_SERIALISABILITY_ANALYSIS
  }

  PROCESS SERIALISABILITY_REASONING {
    OPERATION_CONFLICTS -> PRECEDENCE_GRAPH
    PRECEDENCE_GRAPH -> CYCLE_DETECTION
    ACYCLIC_GRAPH -> CONFLICT_SERIALISABLE_SCHEDULE
    CYCLIC_GRAPH -> NOT_CONFLICT_SERIALISABLE
    VIEW_EQUIVALENCE_CONTEXT -> VIEW_SERIALISABILITY_ANALYSIS
  }

  PROCESS ISOLATION_REASONING {
    ISOLATION_LEVEL -> VISIBILITY_RULES
    VISIBILITY_RULES -> ALLOWED_OR_PREVENTED_PHENOMENA
    READ_UNCOMMITTED -> DIRTY_READ_CONTEXT
    READ_COMMITTED -> COMMITTED_VERSION_VISIBILITY
    REPEATABLE_READ -> REPEATED_READ_STABILITY_CONTEXT
    SNAPSHOT_ISOLATION -> SNAPSHOT_VISIBILITY_AND_WRITE_CONFLICT_CONTEXT
    SERIALIZABLE -> SERIAL_EQUIVALENCE_REQUIREMENT
  }

  PROCESS LOCKING_REASONING {
    TRANSACTION + DATA_ITEM -> LOCK_REQUEST
    LOCK_REQUEST -> COMPATIBILITY_CHECK
    COMPATIBLE -> LOCK_ACQUISITION
    INCOMPATIBLE -> WAIT
    TRANSACTION_COMPLETION_OR_PROTOCOL_RULE -> LOCK_RELEASE
  }

  PROCESS DEADLOCK_REASONING {
    WAIT_RELATIONS -> WAIT_FOR_GRAPH
    WAIT_FOR_GRAPH -> CYCLE_DETECTION
    CYCLE -> DEADLOCK_EVIDENCE
    DEADLOCK -> VICTIM_SELECTION -> ABORT_OR_ROLLBACK -> LOCK_RELEASE
  }

  PROCESS MVCC_REASONING {
    WRITE_OPERATION -> NEW_DATA_VERSION
    VERSION -> CREATION_TIMESTAMP_OR_TRANSACTION_METADATA
    READ_OPERATION -> SNAPSHOT -> VISIBLE_VERSION_SELECTION
    CONCURRENT_WRITES -> WRITE_CONFLICT_OR_VERSION_RESOLUTION_ACCORDING_TO_PROTOCOL
  }

  PROCESS LOGGING_REASONING {
    TRANSACTION_OPERATION -> LOG_RECORD
    WRITE_AHEAD_LOG -> REQUIRED_LOG_DURABILITY_BEFORE_DATA_PAGE_WRITE
    COMMIT -> COMMIT_LOG_RECORD_AND_DURABILITY_REQUIREMENT
    LOG_SEQUENCE -> RECOVERY_EVIDENCE
  }

  PROCESS RECOVERY_REASONING {
    FAILURE_OR_CRASH -> LAST_VALID_CHECKPOINT -> LOG_ANALYSIS
    UNCOMMITTED_EFFECTS -> UNDO
    COMMITTED_BUT_NOT_PERSISTED_EFFECTS -> REDO
    UNDO + REDO -> RECOVERED_CONSISTENT_DATABASE_STATE
  }

  PROCESS DISTRIBUTED_TRANSACTION_REASONING {
    DISTRIBUTED_TRANSACTION -> COORDINATOR + PARTICIPANTS
    PREPARE_PHASE -> PARTICIPANT_PREPARE -> VOTES
    ALL_REQUIRED_COMMIT_VOTES -> COMMIT_PHASE
    ABORT_VOTE_OR_FAILURE_POLICY -> ABORT_PHASE
    DECISION -> PARTICIPANT_STATE_PROPAGATION
  }

  RULES {
    IF TRANSACTION_IS_COMMITTED THEN REQUIRE COMMIT_EVIDENCE_AND_APPLICABLE_DURABILITY_CONTEXT
    IF SERIALISABILITY_IS_ASSERTED THEN REQUIRE SCHEDULE_AND_SERIALISABILITY_EVIDENCE
    IF CONFLICT_SERIALISABILITY_IS_ASSERTED THEN REQUIRE ACYCLIC_PRECEDENCE_GRAPH
    IF ISOLATION_LEVEL_IS_ASSERTED THEN PRESERVE DATABASE_PRODUCT_AND_IMPLEMENTATION_SEMANTICS_WHERE_THEY_DIFFER
    IF DEADLOCK_IS_ASSERTED THEN REQUIRE WAIT_DEPENDENCY_CYCLE_OR_PROTOCOL_SPECIFIC_EVIDENCE
    IF MVCC_IS_USED THEN PRESERVE SNAPSHOT_VERSION_AND_VISIBILITY_CONTEXT
    IF DISTRIBUTED_COMMIT_IS_ASSERTED THEN PRESERVE COORDINATOR_PARTICIPANT_AND_PROTOCOL_STATE
    IF SEMANTIC_IDENTIFIERS_DIFFER AND TRANSACTION_REFERENT_IS_SAME THEN APPLY SEMANTIC_EQUIVALENCE
  }

  CONFIDENCE {
    CONFIDENCE_SCORE = WEIGHT(TRANSACTION_IDENTITY_CERTAINTY, OPERATION_SEQUENCE_COMPLETENESS, READ_WRITE_SET_COMPLETENESS, ISOLATION_AND_CONCURRENCY_CERTAINTY, LOCK_OR_VERSION_EVIDENCE, COMMIT_AND_LOGGING_EVIDENCE, RECOVERY_OR_DISTRIBUTED_PROTOCOL_EVIDENCE, PROVENANCE_COMPLETENESS)
    LEVELS { HIGH MODERATE LOW INSUFFICIENT }
    IF OPERATION_SEQUENCE_IS_PARTIAL THEN REDUCE_CONFLICT_AND_SERIALISABILITY_CONFIDENCE
    IF ISOLATION_LEVEL_OR_VISIBILITY_CONTEXT_IS_UNKNOWN THEN REDUCE_CONCURRENT_READ_CONFIDENCE
  }

  SEMANTIC_EQUIVALENCE {
    EQUIVALENCE_KEY = NORMALISE(ENTITY_TYPE, TRANSACTION_IDENTIFIER, DATABASE_IDENTIFIER, TRANSACTION_BOUNDARY, OPERATION_SEQUENCE, ISOLATION_CONTEXT, EXECUTION_ATTEMPT)
    IF EQUIVALENCE_KEY(A) == EQUIVALENCE_KEY(B) THEN A SEMANTICALLY_EQUIVALENT_TO B
    ELSE PRESERVE_DISTINCT_ENTITIES
  }

  REASONING_CONSTRAINTS {
    TRANSACTION != QUERY
    COMMIT != CHECKPOINT
    ROLLBACK != RECOVERY
    ABORT != FAILURE_AS_IDENTICAL_CONCEPT
    ATOMICITY != ISOLATION
    ACID_CONSISTENCY != DISTRIBUTED_CONSISTENCY_AS_IDENTICAL_CONCEPT
    SERIAL_SCHEDULE != SERIALISABLE_SCHEDULE
    CONFLICT_SERIALISABILITY != VIEW_SERIALISABILITY
    ISOLATION_LEVEL != LOCKING_PROTOCOL
    MVCC != SNAPSHOT_ISOLATION_AS_IDENTICAL_CONCEPT
    SHARED_LOCK != EXCLUSIVE_LOCK
    DEADLOCK != BLOCKING
    DEADLOCK != STARVATION
    SAVEPOINT != COMMIT
    WRITE_AHEAD_LOG != DATABASE_BACKUP
    TWO_PHASE_LOCKING != TWO_PHASE_COMMIT
    TWO_PHASE_COMMIT != CONSENSUS_AS_IDENTICAL_CONCEPT
    RETRY != CONTINUATION_OF_SAME_TRANSACTION_ATTEMPT
    PROVENANCE_MUST_BE_PRESERVED
    UNCERTAINTY_MUST_NOT_BE_DISCARDED
  }

  VALIDATION {
    CHECK_ENTITY_TYPES
    CHECK_RELATION_DOMAINS_AND_RANGES
    CHECK_TRANSACTION_IDENTIFIER
    CHECK_TRANSACTION_STATE
    CHECK_OPERATION_SEQUENCE
    CHECK_READ_AND_WRITE_SETS
    CHECK_ACID_PROPERTIES
    CHECK_SCHEDULE
    CHECK_CONFLICTS
    CHECK_PRECEDENCE_GRAPH
    CHECK_SERIALISABILITY
    CHECK_ISOLATION_LEVEL
    CHECK_LOCKS
    CHECK_WAIT_FOR_GRAPH
    CHECK_DEADLOCKS
    CHECK_MVCC_VERSIONS_AND_SNAPSHOTS
    CHECK_LOG_RECORDS
    CHECK_COMMIT_AND_ROLLBACK
    CHECK_CHECKPOINT_AND_RECOVERY
    CHECK_DISTRIBUTED_TRANSACTION_PROTOCOL_IF_APPLICABLE
    CHECK_RETRIES
    CHECK_CONFIGURATION
    CHECK_PROVENANCE
    CHECK_CONFIDENCE
    CHECK_SEMANTIC_CONSISTENCY
  }

  OUTPUTS {
    NORMALISED_TRANSACTION_ENTITIES
    TRANSACTION_STATE_RELATIONS
    OPERATION_RELATIONS
    READ_AND_WRITE_SET_RELATIONS
    ACID_RELATIONS
    SCHEDULE_RELATIONS
    CONFLICT_RELATIONS
    SERIALISABILITY_RELATIONS
    ISOLATION_RELATIONS
    LOCK_RELATIONS
    WAIT_AND_DEADLOCK_RELATIONS
    MVCC_VERSION_AND_SNAPSHOT_RELATIONS
    LOGGING_RELATIONS
    COMMIT_AND_ROLLBACK_RELATIONS
    CHECKPOINT_AND_RECOVERY_RELATIONS
    DISTRIBUTED_TRANSACTION_RELATIONS
    TWO_PHASE_COMMIT_RELATIONS
    RETRY_RELATIONS
    DATABASE_STATE_TRANSITIONS
    CONFIDENCE_SCORES
    EVIDENCE_LINKS
    PROVENANCE_RECORDS
    EXPLANATION_PATHS
  }

  UPDATE_MODEL {
    ON TRANSACTION_OPERATION_OR_STATE_CHANGE {
      NORMALISE
      RESOLVE_TRANSACTION_OPERATION_VERSION_AND_LOG_IDENTITIES
      UPDATE_TRANSACTION_STATE
      UPDATE_READ_AND_WRITE_SETS
      UPDATE_CONFLICT_AND_DEPENDENCY_RELATIONS
      UPDATE_LOCK_OR_MVCC_CONTEXT
      REASSESS_SERIALISABILITY_AND_ISOLATION
      UPDATE_CONFIDENCE
      PRESERVE_VERSION_HISTORY
    }
    ON COMMIT_ABORT_FAILURE_OR_RECOVERY_EVENT {
      LINK_EVIDENCE
      UPDATE_TRANSACTION_AND_DATABASE_STATE
      UPDATE_LOGGING_RELATIONS
      UPDATE_LOCK_AND_VERSION_STATE
      UPDATE_RECOVERY_OR_DISTRIBUTED_PROTOCOL_STATE
      UPDATE_CONFIDENCE
      RECORD_PROVENANCE
    }
  }

  FLOW_HASH {
    HASH_INPUT = CANONICALISE(ENTITY_TYPES, RELATIONSHIPS, RULES, CONFIDENCE, SEMANTIC_EQUIVALENCE, REASONING_CONSTRAINTS, UPDATE_MODEL)
    FLOW_HASH = SHA256(HASH_INPUT)
  }

  AI_CONSUMPTION {
    INDEX { ONTOLOGY ENTITY_TYPES RELATIONSHIPS RULES OUTPUTS }
    RETRIEVE { BY_TRANSACTION BY_TRANSACTION_STATE BY_OPERATION BY_DATA_ITEM BY_SCHEDULE BY_CONFLICT BY_ISOLATION_LEVEL BY_LOCK BY_VERSION BY_SNAPSHOT BY_LOG_RECORD BY_DISTRIBUTED_TRANSACTION BY_CONFIDENCE }
    REASON { APPLY_RELATIONSHIPS APPLY_RULES TRACE_TRANSACTION_STATES ANALYSE_READ_AND_WRITE_SETS ANALYSE_ACID_PROPERTIES ANALYSE_SCHEDULES_AND_CONFLICTS ANALYSE_SERIALISABILITY ANALYSE_ISOLATION TRACE_LOCKING ANALYSE_DEADLOCKS ANALYSE_MVCC TRACE_LOGGING ANALYSE_RECOVERY ANALYSE_DISTRIBUTED_TRANSACTIONS ANALYSE_RETRIES CHECK_SEMANTIC_EQUIVALENCE PRESERVE_UNCERTAINTY TRACE_EVIDENCE TRACE_PROVENANCE GENERATE_EXPLANATION_PATH }
    RESPONSE_POLICY { DISTINGUISH_TRANSACTION_FROM_QUERY_AND_SINGLE_OPERATION DISTINGUISH_SERIAL_FROM_SERIALISABLE_SCHEDULES PRESERVE_TRANSACTION_STATE_OPERATION_ISOLATION_LOCK_VERSION_LOG_AND_PROTOCOL_CONTEXT DISTINGUISH_TWO_PHASE_LOCKING_FROM_TWO_PHASE_COMMIT PRESERVE_COMMIT_ROLLBACK_RECOVERY_AND_PROVENANCE_CONTEXT RETURN_CONFIDENCE_WHEN_AVAILABLE RETURN_PROVENANCE_WHEN_AVAILABLE AVOID_UNSUPPORTED_TRANSACTION_INFERENCE }
  }

  TERMINAL {
    RESULT = VALIDATED(SEMANTICALLY_NORMALISED(EVIDENCE_LINKED(CONFIDENCE_AWARE(TRANSACTION_KNOWLEDGE))))
  }
}

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ