AI SEARCH
FLOW ALGEBRA — NOSQL ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/databases/nosql-ontology.html
FLOW NOSQL_ONTOLOGY {
META {
DOMAIN = "Computing Ontologies"
SUBDOMAIN = "Databases"
ONTOLOGY = "NoSQL Ontology"
PURPOSE = "Formalise NoSQL databases, non-relational data models, records, partitioning, replication, consistency, queries, storage and distributed state."
LOCALE = "en-GB"
}
ENTITY_TYPES {
NOSQL_DATABASE
DOCUMENT_DATABASE
KEY_VALUE_DATABASE
WIDE_COLUMN_DATABASE
GRAPH_DATABASE
MULTIMODEL_DATABASE
DOCUMENT
COLLECTION
FIELD
KEY
VALUE
COLUMN_FAMILY
ROW_KEY
PARTITION_KEY
NODE
EDGE
SCHEMA
FLEXIBLE_SCHEMA
QUERY
INDEX
TRANSACTION
CONSISTENCY_MODEL
STRONG_CONSISTENCY
EVENTUAL_CONSISTENCY
CAUSAL_CONSISTENCY
TUNABLE_CONSISTENCY
QUORUM
REPLICATION
REPLICA
REPLICATION_FACTOR
LEADER
FOLLOWER
PARTITION
SHARD
SHARD_KEY
HASH_PARTITIONING
RANGE_PARTITIONING
CONSISTENT_HASHING
REBALANCING
CLUSTER
CONFLICT
CONFLICT_RESOLUTION
VERSION_VECTOR
TIMESTAMP
TOMBSTONE
COMPACTION
WRITE_AHEAD_LOG
MEMTABLE
SSTABLE
LSM_TREE
STORAGE_ENGINE
BACKUP
RESTORE
RECOVERY
CONFIGURATION
DATABASE_STATE
LATENCY
THROUGHPUT
EVIDENCE
CONFIDENCE_SCORE
PROVENANCE_RECORD
}
RELATIONSHIPS {
IS_A
INSTANCE_OF
CONTAINS
HAS_DATA_MODEL
HAS_COLLECTION
HAS_DOCUMENT
HAS_FIELD
HAS_KEY
HAS_VALUE
HAS_COLUMN_FAMILY
HAS_ROW_KEY
HAS_PARTITION_KEY
HAS_NODE
HAS_EDGE
REFERENCES
QUERIED_BY
INDEXED_BY
READS
WRITES
HAS_TRANSACTION
HAS_CONSISTENCY_MODEL
USES_QUORUM
REPLICATES_TO
HAS_REPLICATION_FACTOR
HAS_LEADER
HAS_FOLLOWER
PARTITIONED_INTO
SHARDED_ACROSS
HAS_SHARD_KEY
REBALANCES
MEMBER_OF
HAS_CONFLICT
RESOLVES_CONFLICT
HAS_VERSION
HAS_TIMESTAMP
MARKED_BY
COMPACTS
LOGGED_IN
STORED_IN
BACKED_UP_BY
RESTORED_FROM
RECOVERED_BY
HAS_CONFIGURATION
HAS_STATE
TRANSITIONS_TO
HAS_LATENCY
HAS_THROUGHPUT
DERIVED_FROM
INFERRED_FROM
HAS_EVIDENCE
HAS_CONFIDENCE
HAS_PROVENANCE
SEMANTICALLY_EQUIVALENT_TO
}
INPUTS {
NOSQL_DATABASE_METADATA
DATA_MODEL_DEFINITIONS
COLLECTION_AND_DOCUMENT_METADATA
KEY_VALUE_METADATA
WIDE_COLUMN_METADATA
GRAPH_DATA
SCHEMA_AND_VALIDATION_RULES
QUERY_DATA
INDEX_METADATA
TRANSACTION_DATA
CONSISTENCY_CONFIGURATION
REPLICATION_DATA
PARTITION_AND_SHARD_DATA
CLUSTER_TOPOLOGY
CONFLICT_DATA
STORAGE_ENGINE_DATA
LOG_AND_COMPACTION_DATA
BACKUP_AND_RECOVERY_DATA
PERFORMANCE_METRICS
CONFIGURATION_DATA
ONTOLOGY_TERMS
}
NORMALISE {
STANDARDISE_NOSQL_DATABASE_IDENTIFIERS
NORMALISE_DATABASE_MODEL_NAMES
NORMALISE_RECORD_IDENTIFIERS
NORMALISE_PARTITION_AND_SHARD_KEYS
NORMALISE_INDEX_TYPES
NORMALISE_CONSISTENCY_MODELS
NORMALISE_REPLICATION_ROLES
NORMALISE_QUORUM_TERMS
NORMALISE_PARTITIONING_STRATEGIES
NORMALISE_CLUSTER_NODE_IDENTIFIERS
NORMALISE_CONFLICT_RESOLUTION_TERMS
NORMALISE_STORAGE_ENGINE_TERMS
RESOLVE_DATABASE_RECORD_REPLICA_AND_PARTITION_IDENTITIES
ALIGN_ONTOLOGY_TERMS
REMOVE_DUPLICATES
VALIDATE_METADATA
PRESERVE_PROVENANCE
}
PROCESS NOSQL_REASONING_PIPELINE {
NOSQL_DATABASE_REFERENCE
-> DATABASE_IDENTIFICATION
-> DATA_MODEL_RESOLUTION
-> RECORD_AND_STRUCTURE_MAPPING
-> QUERY_AND_INDEX_MAPPING
-> CONSISTENCY_AND_TRANSACTION_MAPPING
-> REPLICATION_AND_PARTITION_MAPPING
-> STORAGE_AND_RECOVERY_MAPPING
-> DISTRIBUTED_STATE_ANALYSIS
-> VALIDATION
-> OUTPUT
}
PROCESS DOCUMENT_REASONING {
DOCUMENT_DATABASE -> COLLECTIONS -> DOCUMENTS -> FIELDS_AND_VALUES
EMBEDDED_OR_REFERENCED_DATA -> RELATIONSHIP_CONTEXT
VALIDATION_RULES -> DOCUMENT_SCHEMA_CONSTRAINTS
}
PROCESS KEY_VALUE_REASONING {
KEY_VALUE_DATABASE -> KEY_SPACE
KEY -> VALUE
KEY_LOOKUP -> PARTITION_ROUTING -> VALUE_RETRIEVAL
WRITE -> KEY_VALUE_STATE_UPDATE
}
PROCESS WIDE_COLUMN_REASONING {
WIDE_COLUMN_DATABASE -> COLUMN_FAMILIES
ROW_KEY -> ROW_OR_PARTITION_IDENTITY
PARTITION_KEY -> STORAGE_AND_QUERY_LOCALITY
}
PROCESS GRAPH_STORE_REASONING {
GRAPH_DATABASE -> NODES + EDGES
NODE -> LABELS + PROPERTIES
EDGE -> SOURCE + TARGET + PROPERTIES
GRAPH_QUERY -> PATTERN_OR_TRAVERSAL -> RESULT
}
PROCESS CONSISTENCY_REASONING {
OPERATION -> REQUESTED_CONSISTENCY_LEVEL
CONSISTENCY_LEVEL -> REQUIRED_REPLICA_ACKNOWLEDGEMENTS
READ -> VERSION_SELECTION_OR_RECONCILIATION
WRITE -> REPLICA_PROPAGATION
RESULT -> VISIBILITY_AND_CONVERGENCE_SEMANTICS
}
PROCESS QUORUM_REASONING {
REPLICATION_FACTOR_N -> READ_QUORUM_R + WRITE_QUORUM_W
R + W > N -> OVERLAP_PROPERTY_CANDIDATE
QUORUM_CONFIGURATION -> CONSISTENCY_AVAILABILITY_AND_LATENCY_CONTEXT
}
PROCESS PARTITION_REASONING {
DATA_RECORD -> PARTITION_OR_SHARD_KEY
KEY -> HASH_RANGE_OR_OTHER_ROUTING_FUNCTION
ROUTING_FUNCTION -> TARGET_PARTITION
CLUSTER_TOPOLOGY_CHANGE -> REBALANCING -> DATA_MOVEMENT_OR_OWNERSHIP_CHANGE
}
PROCESS REPLICATION_REASONING {
LOGICAL_RECORD -> REPLICA_SET
WRITE -> REPLICATION_PROTOCOL
LEADER_BASED -> LEADER_WRITE -> FOLLOWER_PROPAGATION
LEADERLESS -> MULTIPLE_REPLICA_WRITES -> VERSION_RECONCILIATION
}
PROCESS CONFLICT_REASONING {
DIVERGENT_VERSIONS -> CONFLICT
CONFLICT -> TIMESTAMP_VERSION_VECTOR_APPLICATION_RULE_OR_MERGE
RESOLUTION -> WINNING_OR_MERGED_VALUE -> REPLICA_CONVERGENCE
}
PROCESS STORAGE_REASONING {
WRITE -> WRITE_AHEAD_LOG_OR_DURABLE_LOG
LSM_BASED_ENGINE -> MEMTABLE -> SSTABLE
SSTABLE_SET -> COMPACTION -> MERGED_STORAGE_STATE
TOMBSTONE -> DELETION_PROPAGATION_AND_LATER_RECLAMATION
}
PROCESS STATE_REASONING {
DATABASE_STATE(T1) + EVENT -> DATABASE_STATE(T2)
STATE_TRANSITION -> CONSISTENCY_REPLICATION_AND_PARTITION_CONTEXT
EVENTUAL_CONSISTENCY -> CONVERGENCE_ANALYSIS_OVER_TIME
}
RULES {
IF NOSQL_DATABASE_IS_IDENTIFIED THEN PRESERVE DATA_MODEL_CLUSTER_CONFIGURATION_AND_PARTITION_CONTEXT
IF SCHEMALESS_IS_ASSERTED THEN DO_NOT_INFER_ABSENCE_OF_STRUCTURE_VALIDATION_OR_APPLICATION_SCHEMA
IF EVENTUAL_CONSISTENCY_IS_ASSERTED THEN PRESERVE CONVERGENCE_REPLICATION_AND_CONFLICT_RESOLUTION_CONTEXT
IF QUORUM_IS_ASSERTED THEN PRESERVE REPLICATION_FACTOR_READ_QUORUM_AND_WRITE_QUORUM
IF SHARD_KEY_CHANGES THEN REASSESS_DATA_PLACEMENT_AND_QUERY_ROUTING
IF REPLICA_STATE_IS_OBSERVED THEN DO_NOT_AUTOMATICALLY_ASSERT_GLOBAL_LOGICAL_STATE_WITHOUT_CONSISTENCY_CONTEXT
IF SEMANTIC_IDENTIFIERS_DIFFER AND NOSQL_DATABASE_REFERENT_IS_SAME THEN APPLY SEMANTIC_EQUIVALENCE
}
CONFIDENCE {
CONFIDENCE_SCORE = WEIGHT(DATABASE_IDENTITY_CERTAINTY, DATA_MODEL_CERTAINTY, RECORD_STRUCTURE_COMPLETENESS, PARTITION_AND_SHARD_CERTAINTY, REPLICATION_TOPOLOGY_CERTAINTY, CONSISTENCY_CONFIGURATION_CERTAINTY, STORAGE_AND_OPERATIONAL_EVIDENCE, PROVENANCE_COMPLETENESS)
LEVELS { HIGH MODERATE LOW INSUFFICIENT }
IF CLUSTER_TOPOLOGY_OR_CONSISTENCY_LEVEL_IS_UNKNOWN THEN REDUCE_DISTRIBUTED_STATE_CONFIDENCE
IF REPLICA_OBSERVATIONS_ARE_PARTIAL THEN REDUCE_GLOBAL_STATE_CONFIDENCE
}
SEMANTIC_EQUIVALENCE {
EQUIVALENCE_KEY = NORMALISE(ENTITY_TYPE, DATABASE_IDENTIFIER, DATA_MODEL, LOGICAL_RECORD_IDENTIFIER, PARTITION_KEY, REPLICATION_CONFIGURATION, CONSISTENCY_MODEL)
IF EQUIVALENCE_KEY(A) == EQUIVALENCE_KEY(B) THEN A SEMANTICALLY_EQUIVALENT_TO B
ELSE PRESERVE_DISTINCT_ENTITIES
}
REASONING_CONSTRAINTS {
NOSQL_DATABASE != SCHEMALESS_DATABASE_AS_IDENTICAL_CONCEPT
NOSQL != NONTRANSACTIONAL
DOCUMENT_DATABASE != KEY_VALUE_DATABASE
PARTITION != REPLICA
SHARDING != REPLICATION
CONSISTENCY_MODEL != TRANSACTION_ISOLATION_LEVEL
EVENTUAL_CONSISTENCY != NO_CONSISTENCY
QUORUM != CONSENSUS_AS_IDENTICAL_CONCEPT
TOMBSTONE != IMMEDIATE_PHYSICAL_DELETION
LSM_TREE != B_TREE
REPLICA_STATE != GLOBAL_DATABASE_STATE_WITHOUT_CONTEXT
PROVENANCE_MUST_BE_PRESERVED
UNCERTAINTY_MUST_NOT_BE_DISCARDED
}
VALIDATION {
CHECK_ENTITY_TYPES
CHECK_RELATION_DOMAINS_AND_RANGES
CHECK_NOSQL_DATABASE_IDENTIFIER
CHECK_DATA_MODEL
CHECK_RECORD_STRUCTURE
CHECK_SCHEMA_OR_VALIDATION_RULES
CHECK_KEYS
CHECK_INDEXES
CHECK_QUERIES
CHECK_TRANSACTION_SEMANTICS
CHECK_CONSISTENCY_MODEL
CHECK_REPLICATION_FACTOR
CHECK_REPLICA_TOPOLOGY
CHECK_PARTITIONING_AND_SHARDING
CHECK_QUORUM_CONFIGURATION_IF_APPLICABLE
CHECK_CONFLICT_RESOLUTION
CHECK_STORAGE_ENGINE
CHECK_LOGS_TOMBSTONES_AND_COMPACTION
CHECK_BACKUP_AND_RECOVERY
CHECK_DATABASE_STATE
CHECK_CONFIGURATION
CHECK_PROVENANCE
CHECK_CONFIDENCE
CHECK_SEMANTIC_CONSISTENCY
}
OUTPUTS {
NORMALISED_NOSQL_DATABASE_ENTITIES
DATA_MODEL_RELATIONS
DOCUMENT_RELATIONS
KEY_VALUE_RELATIONS
WIDE_COLUMN_RELATIONS
GRAPH_STORE_RELATIONS
QUERY_AND_INDEX_RELATIONS
CONSISTENCY_RELATIONS
QUORUM_RELATIONS
REPLICATION_RELATIONS
PARTITION_AND_SHARD_RELATIONS
CONFLICT_RESOLUTION_RELATIONS
STORAGE_ENGINE_RELATIONS
LSM_AND_COMPACTION_RELATIONS
DATABASE_STATE_TRANSITIONS
PERFORMANCE_RELATIONS
CONFIDENCE_SCORES
EVIDENCE_LINKS
PROVENANCE_RECORDS
EXPLANATION_PATHS
}
UPDATE_MODEL {
ON DATA_MODEL_CONFIGURATION_OR_CLUSTER_CHANGE {
NORMALISE
RESOLVE_DATABASE_RECORD_REPLICA_AND_PARTITION_IDENTITIES
UPDATE_RECORD_STRUCTURE
UPDATE_PARTITION_AND_SHARD_MAPPING
UPDATE_REPLICATION_TOPOLOGY
UPDATE_CONSISTENCY_CONFIGURATION
RECOMPUTE_AFFECTED_RELATIONS
UPDATE_CONFIDENCE
PRESERVE_VERSION_HISTORY
}
ON NEW_OPERATIONAL_EVIDENCE {
LINK_EVIDENCE
UPDATE_REPLICA_STATES
UPDATE_CONFLICT_AND_CONVERGENCE_RELATIONS
UPDATE_STORAGE_AND_RECOVERY_STATE
UPDATE_DATABASE_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_NOSQL_DATABASE BY_DATA_MODEL BY_DOCUMENT BY_KEY BY_PARTITION BY_SHARD BY_REPLICA BY_CONSISTENCY_MODEL BY_STORAGE_ENGINE BY_DATABASE_STATE BY_CONFIDENCE }
REASON { APPLY_RELATIONSHIPS APPLY_RULES ANALYSE_DOCUMENT_STORES ANALYSE_KEY_VALUE_STORES ANALYSE_WIDE_COLUMN_STORES ANALYSE_GRAPH_STORES ANALYSE_CONSISTENCY_AND_QUORUMS ANALYSE_PARTITIONING_AND_SHARDING ANALYSE_REPLICATION ANALYSE_CONFLICT_RESOLUTION ANALYSE_STORAGE_AND_COMPACTION TRACE_DATABASE_STATE CHECK_SEMANTIC_EQUIVALENCE PRESERVE_UNCERTAINTY TRACE_EVIDENCE TRACE_PROVENANCE GENERATE_EXPLANATION_PATH }
RESPONSE_POLICY { DISTINGUISH_NOSQL_FROM_SCHEMALESS_NONTRANSACTIONAL_AND_NONDURABLE DISTINGUISH_DOCUMENT_KEY_VALUE_WIDE_COLUMN_AND_GRAPH_MODELS PRESERVE_DATA_MODEL_PARTITION_REPLICATION_CONSISTENCY_CLUSTER_AND_CONFIGURATION_CONTEXT DISTINGUISH_PARTITIONING_REPLICATION_AND_QUORUM PRESERVE_CONFLICT_CONVERGENCE_AND_REPLICA_STATE_CONTEXT RETURN_CONFIDENCE_WHEN_AVAILABLE RETURN_PROVENANCE_WHEN_AVAILABLE AVOID_UNSUPPORTED_NOSQL_INFERENCE }
}
TERMINAL {
RESULT = VALIDATED(SEMANTICALLY_NORMALISED(EVIDENCE_LINKED(CONFIDENCE_AWARE(NOSQL_KNOWLEDGE))))
}
}
END FLOW
Download Code
Copy to Clipboard