AI SEARCH
FLOW ALGEBRA — GRAPH DATABASE ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/databases/graph-database-ontology.html
FLOW GRAPH_DATABASE_ONTOLOGY {
META {
DOMAIN = "Computing Ontologies"
SUBDOMAIN = "Databases"
ONTOLOGY = "Graph Database Ontology"
PURPOSE = "Formalise graph databases, graph models, nodes, edges, properties, labels, graph queries, traversals, indexing, transactions, distribution and provenance."
LOCALE = "en-GB"
}
ENTITY_TYPES {
GRAPH_DATABASE
PROPERTY_GRAPH
RDF_GRAPH
KNOWLEDGE_GRAPH_STORE
GRAPH_SCHEMA
NODE
VERTEX
EDGE
RELATIONSHIP
SOURCE_NODE
TARGET_NODE
LABEL
PROPERTY
PROPERTY_KEY
PROPERTY_VALUE
NODE_IDENTIFIER
EDGE_IDENTIFIER
PATH
WALK
CYCLE
SUBGRAPH
CONNECTED_COMPONENT
NEIGHBOURHOOD
DEGREE
GRAPH_PATTERN
QUERY
CYPHER
GREMLIN
SPARQL
MATCH
TRAVERSAL
PATH_QUERY
SHORTEST_PATH_QUERY
REACHABILITY_QUERY
FILTER
PROJECTION
AGGREGATION
INDEX
NODE_INDEX
EDGE_INDEX
PROPERTY_INDEX
TRANSACTION
READ_OPERATION
WRITE_OPERATION
COMMIT
ROLLBACK
CONSTRAINT
CONSISTENCY_MODEL
REPLICATION
REPLICA
PARTITION
SHARD
GRAPH_PARTITION
EDGE_CUT
VERTEX_CUT
DISTRIBUTED_GRAPH_DATABASE
STORAGE_ENGINE
ADJACENCY_LIST
INDEX_FREE_ADJACENCY
BACKUP
RESTORE
RECOVERY
CONFIGURATION
GRAPH_STATE
QUERY_PLAN
EXECUTION_PLAN
QUERY_OPTIMISER
COST_MODEL
STATISTICS
CARDINALITY
LATENCY
THROUGHPUT
EVIDENCE
CONFIDENCE_SCORE
PROVENANCE_RECORD
}
RELATIONSHIPS {
IS_A
INSTANCE_OF
CONTAINS
HAS_GRAPH_MODEL
HAS_SCHEMA
HAS_NODE
HAS_VERTEX
HAS_EDGE
HAS_RELATIONSHIP
HAS_SOURCE
HAS_TARGET
HAS_LABEL
HAS_PROPERTY
HAS_KEY
HAS_VALUE
CONNECTS
ADJACENT_TO
INCIDENT_TO
HAS_PATH
HAS_CYCLE
HAS_COMPONENT
HAS_NEIGHBOUR
HAS_DEGREE
QUERIED_BY
MATCHES
TRAVERSES
REACHES
FILTERS
PROJECTS
AGGREGATES
INDEXED_BY
READS
WRITES
CREATES
UPDATES
DELETES
COMMITS
ROLLS_BACK
CONSTRAINED_BY
HAS_CONSISTENCY_MODEL
REPLICATES_TO
PARTITIONED_INTO
SHARDED_ACROSS
STORED_IN
BACKED_UP_BY
RESTORED_FROM
RECOVERED_BY
HAS_CONFIGURATION
HAS_STATE
TRANSITIONS_TO
HAS_QUERY_PLAN
OPTIMISED_BY
EXECUTED_AS
HAS_COST
HAS_STATISTICS
HAS_CARDINALITY
HAS_LATENCY
HAS_THROUGHPUT
DERIVED_FROM
INFERRED_FROM
HAS_EVIDENCE
HAS_CONFIDENCE
HAS_PROVENANCE
SEMANTICALLY_EQUIVALENT_TO
}
INPUTS {
GRAPH_DATABASE_METADATA
GRAPH_MODEL_DEFINITIONS
GRAPH_SCHEMA_DATA
NODE_AND_VERTEX_DATA
EDGE_AND_RELATIONSHIP_DATA
LABEL_DATA
PROPERTY_DATA
GRAPH_QUERY_DATA
GRAPH_PATTERN_DATA
TRAVERSAL_TRACES
PATH_AND_REACHABILITY_DATA
INDEX_METADATA
CONSTRAINT_METADATA
TRANSACTION_DATA
QUERY_PLANS
GRAPH_STATISTICS
REPLICATION_DATA
PARTITION_AND_SHARD_DATA
STORAGE_ENGINE_DATA
BACKUP_AND_RECOVERY_DATA
PERFORMANCE_METRICS
CONFIGURATION_DATA
ONTOLOGY_TERMS
}
NORMALISE {
STANDARDISE_GRAPH_DATABASE_IDENTIFIERS
NORMALISE_GRAPH_MODEL_NAMES
NORMALISE_GRAPH_SCHEMA_IDENTIFIERS
NORMALISE_NODE_AND_VERTEX_IDENTIFIERS
NORMALISE_EDGE_AND_RELATIONSHIP_IDENTIFIERS
NORMALISE_LABELS
NORMALISE_PROPERTY_KEYS_AND_VALUES
NORMALISE_DIRECTION
NORMALISE_GRAPH_QUERY_TERMS
NORMALISE_TRAVERSAL_NAMES
NORMALISE_INDEX_TYPES
NORMALISE_CONSTRAINT_TYPES
NORMALISE_PARTITION_AND_SHARD_IDENTIFIERS
NORMALISE_STORAGE_ENGINE_TERMS
NORMALISE_PERFORMANCE_UNITS
RESOLVE_DATABASE_GRAPH_NODE_AND_EDGE_IDENTITIES
ALIGN_ONTOLOGY_TERMS
REMOVE_DUPLICATES
VALIDATE_METADATA
PRESERVE_PROVENANCE
}
PROCESS GRAPH_DATABASE_REASONING_PIPELINE {
GRAPH_DATABASE_REFERENCE
-> DATABASE_IDENTIFICATION
-> GRAPH_MODEL_RESOLUTION
-> NODE_EDGE_LABEL_AND_PROPERTY_MAPPING
-> QUERY_AND_TRAVERSAL_MAPPING
-> INDEX_AND_CONSTRAINT_MAPPING
-> TRANSACTION_AND_STATE_ANALYSIS
-> DISTRIBUTION_AND_STORAGE_ANALYSIS
-> VALIDATION
-> OUTPUT
}
PROCESS PROPERTY_GRAPH_REASONING {
PROPERTY_GRAPH
-> NODES + EDGES
NODE
-> LABELS + PROPERTIES
EDGE
-> SOURCE_NODE + TARGET_NODE + LABELS + PROPERTIES
SOURCE_TARGET_AND_DIRECTION
-> ADJACENCY_RELATIONS
}
PROCESS RDF_GRAPH_REASONING {
RDF_GRAPH
-> SUBJECT_PREDICATE_OBJECT_STATEMENTS
SUBJECT
-> RESOURCE_OR_BLANK_NODE
PREDICATE
-> RELATION_IDENTIFIER
OBJECT
-> RESOURCE_LITERAL_OR_BLANK_NODE
}
PROCESS ADJACENCY_REASONING {
NODE
-> INCIDENT_EDGES
INCIDENT_EDGES
-> NEIGHBOUR_NODES
ADJACENCY
-> TRAVERSAL_AND_PATTERN_MATCH_CONTEXT
}
PROCESS QUERY_REASONING {
GRAPH_QUERY
-> PARSE_AND_VALIDATE
VALID_QUERY
-> GRAPH_PATTERN_OR_TRAVERSAL_PLAN
GRAPH_PATTERN
-> CANDIDATE_BINDINGS
FILTERS
-> REDUCED_BINDINGS
PROJECTION_AND_AGGREGATION
-> QUERY_RESULT
}
PROCESS PATTERN_MATCH_REASONING {
QUERY_PATTERN
-> NODE_AND_EDGE_PREDICATES
START_CANDIDATES
-> MATCH_NODE_CONSTRAINTS
MATCHED_NODE
-> EXPAND_RELATIONSHIPS
EXPANSION
-> MATCH_EDGE_AND_TARGET_CONSTRAINTS
COMPLETE_BINDING
-> MATCH_RESULT
}
PROCESS TRAVERSAL_REASONING {
START_NODE
-> FRONTIER
FRONTIER
-> VISIT_NODE
VISIT_NODE
-> EXPAND_ADJACENT_EDGES
VALID_NEIGHBOURS
-> CONTINUE_TRAVERSAL
TERMINATION_CONDITION
-> TRAVERSAL_RESULT
}
PROCESS PATH_REASONING {
SOURCE_NODE + TARGET_NODE
-> PATH_SEARCH
PATH_SEARCH
-> EDGE_SEQUENCE_CANDIDATES
VALID_CONSECUTIVE_ADJACENCY
-> PATH
SHORTEST_PATH_QUERY
-> MINIMUM_VALID_PATH_COST_OR_HOP_CONTEXT
}
PROCESS INDEX_REASONING {
QUERY_PREDICATE
-> INDEXABLE_LABELS_OR_PROPERTIES
CANDIDATE_INDEXES
-> SELECTIVITY_AND_COST_ANALYSIS
CHOSEN_INDEX
-> STARTING_NODE_EDGE_OR_PROPERTY_CANDIDATES
}
PROCESS TRANSACTION_REASONING {
TRANSACTION
-> GRAPH_READ_AND_WRITE_SET
WRITE_SET
-> NODE_EDGE_PROPERTY_STATE_CHANGES
COMMIT
-> DURABLE_VISIBLE_GRAPH_STATE
ROLLBACK
-> RESTORE_PRIOR_TRANSACTIONALLY_VALID_GRAPH_STATE
}
PROCESS PARTITION_REASONING {
GRAPH
-> PARTITION_STRATEGY
PARTITION_STRATEGY
-> NODE_OR_EDGE_PLACEMENT
EDGE_CUT
-> CROSS_PARTITION_RELATIONSHIPS
VERTEX_CUT
-> REPLICATED_OR_SPLIT_VERTEX_CONTEXT
DISTRIBUTED_QUERY
-> LOCAL_AND_REMOTE_TRAVERSAL_COSTS
}
PROCESS REPLICATION_REASONING {
LOGICAL_GRAPH_STATE
-> REPLICA_SET
GRAPH_WRITE
-> REPLICATION_PROTOCOL
REPLICA_STATE
-> CONSISTENCY_AND_VISIBILITY_CONTEXT
}
PROCESS QUERY_OPTIMISATION_REASONING {
GRAPH_QUERY
-> LOGICAL_GRAPH_PLAN
LOGICAL_GRAPH_PLAN
-> CANDIDATE_EXECUTION_PLANS
GRAPH_STATISTICS + INDEXES + CARDINALITY_ESTIMATES
-> COST_ESTIMATES
COST_ESTIMATES
-> SELECT_EXECUTION_PLAN
}
PROCESS STATE_REASONING {
GRAPH_STATE(T1)
+ GRAPH_OPERATION
-> GRAPH_STATE(T2)
STATE_TRANSITION
-> NODE_EDGE_PROPERTY_CONSTRAINT_AND_TRANSACTION_SEMANTICS
DISTRIBUTED_GRAPH_STATE
-> REPLICA_PARTITION_AND_CONSISTENCY_CONTEXT
}
RULES {
IF GRAPH_DATABASE_IS_IDENTIFIED
THEN PRESERVE GRAPH_MODEL_SCHEMA_VERSION_AND_CONFIGURATION_CONTEXT
IF EDGE_IS_DIRECTED
THEN PRESERVE SOURCE_AND_TARGET_ORIENTATION
IF PROPERTY_GRAPH_IS_USED
THEN PRESERVE NODE_EDGE_LABEL_AND_PROPERTY_SEMANTICS
IF RDF_GRAPH_IS_USED
THEN DO_NOT COLLAPSE_RDF_TRIPLE_SEMANTICS_INTO_PROPERTY_GRAPH_SEMANTICS
IF PATH_RESULT_IS_ASSERTED
THEN REQUIRE CONSECUTIVE_VALID_EDGE_CONNECTIVITY
IF DISTRIBUTED_GRAPH_QUERY_IS_ANALYSED
THEN PRESERVE PARTITION_REPLICA_AND_REMOTE_ACCESS_CONTEXT
IF REPLICA_STATE_IS_OBSERVED
THEN DO_NOT AUTOMATICALLY_ASSERT GLOBAL_GRAPH_STATE_WITHOUT_CONSISTENCY_CONTEXT
IF SEMANTIC_IDENTIFIERS_DIFFER
AND GRAPH_DATABASE_REFERENT_IS_SAME
THEN APPLY SEMANTIC_EQUIVALENCE
}
CONFIDENCE {
CONFIDENCE_SCORE =
WEIGHT(
DATABASE_IDENTITY_CERTAINTY,
GRAPH_MODEL_CERTAINTY,
NODE_AND_EDGE_COMPLETENESS,
LABEL_AND_PROPERTY_CERTAINTY,
QUERY_AND_TRANSACTION_EVIDENCE,
PARTITION_AND_REPLICATION_CERTAINTY,
STORAGE_AND_OPERATIONAL_EVIDENCE,
PROVENANCE_COMPLETENESS
)
LEVELS {
HIGH
MODERATE
LOW
INSUFFICIENT
}
IF NODE_OR_EDGE_DATA_IS_PARTIAL
THEN REDUCE_PATH_PATTERN_AND_CONNECTIVITY_CONFIDENCE
IF GRAPH_MODEL_OR_DIRECTION_SEMANTICS_ARE_UNKNOWN
THEN REDUCE_QUERY_INFERENCE_CONFIDENCE
}
SEMANTIC_EQUIVALENCE {
EQUIVALENCE_KEY =
NORMALISE(
ENTITY_TYPE,
GRAPH_DATABASE_IDENTIFIER,
GRAPH_MODEL,
GRAPH_SCHEMA_IDENTIFIER,
NODE_OR_EDGE_IDENTIFIER,
CANONICAL_PROPERTY_OR_KEY,
CONFIGURATION
)
IF EQUIVALENCE_KEY(A) == EQUIVALENCE_KEY(B)
THEN A SEMANTICALLY_EQUIVALENT_TO B
ELSE PRESERVE_DISTINCT_ENTITIES
}
REASONING_CONSTRAINTS {
GRAPH_DATABASE != GRAPH_DATA_STRUCTURE
GRAPH_DATABASE != GRAPH_ALGORITHM
NODE != EDGE
EDGE != PATH
PROPERTY_GRAPH != RDF_GRAPH
LABEL != PROPERTY
NODE_IDENTIFIER != NODE_LABEL
ADJACENCY != REACHABILITY
QUERY != QUERY_PLAN
GRAPH_PARTITION != REPLICA
SHARDING != REPLICATION
INDEX_FREE_ADJACENCY != ABSENCE_OF_ALL_INDEXES
KNOWLEDGE_GRAPH_STORE != KNOWLEDGE_GRAPH_AS_IDENTICAL_CONCEPT
REPLICA_STATE != GLOBAL_GRAPH_STATE_WITHOUT_CONTEXT
QUERY_PERFORMANCE_DEPENDS_ON_GRAPH_SHAPE_INDEXES_CARDINALITY_PARTITIONING_AND_RUNTIME_CONTEXT
PROVENANCE_MUST_BE_PRESERVED
UNCERTAINTY_MUST_NOT_BE_DISCARDED
}
VALIDATION {
CHECK_ENTITY_TYPES
CHECK_RELATION_DOMAINS_AND_RANGES
CHECK_GRAPH_DATABASE_IDENTIFIER
CHECK_GRAPH_DATA_MODEL
CHECK_GRAPH_SCHEMA
CHECK_NODE_IDENTITIES
CHECK_EDGE_IDENTITIES
CHECK_EDGE_DIRECTION
CHECK_LABELS_AND_PROPERTIES
CHECK_ADJACENCY
CHECK_QUERIES
CHECK_PATTERN_MATCHES
CHECK_TRAVERSALS_AND_PATHS
CHECK_INDEXES
CHECK_CONSTRAINTS
CHECK_TRANSACTIONS
CHECK_QUERY_PLANS
CHECK_PARTITIONING_AND_SHARDING
CHECK_REPLICATION_AND_CONSISTENCY
CHECK_STORAGE_AND_RECOVERY
CHECK_GRAPH_STATE
CHECK_CONFIGURATION
CHECK_PROVENANCE
CHECK_CONFIDENCE
CHECK_SEMANTIC_CONSISTENCY
}
OUTPUTS {
NORMALISED_GRAPH_DATABASE_ENTITIES
GRAPH_MODEL_RELATIONS
GRAPH_SCHEMA_RELATIONS
NODE_EDGE_LABEL_AND_PROPERTY_RELATIONS
ADJACENCY_RELATIONS
QUERY_AND_PATTERN_RELATIONS
TRAVERSAL_RELATIONS
PATH_AND_REACHABILITY_RELATIONS
INDEX_RELATIONS
CONSTRAINT_RELATIONS
TRANSACTION_RELATIONS
QUERY_PLAN_RELATIONS
PARTITION_AND_SHARD_RELATIONS
REPLICATION_RELATIONS
CONSISTENCY_RELATIONS
STORAGE_AND_RECOVERY_RELATIONS
GRAPH_STATE_TRANSITIONS
PERFORMANCE_RELATIONS
CONFIDENCE_SCORES
EVIDENCE_LINKS
PROVENANCE_RECORDS
EXPLANATION_PATHS
}
UPDATE_MODEL {
ON GRAPH_SCHEMA_DATA_OR_CONFIGURATION_CHANGE {
NORMALISE
RESOLVE_DATABASE_GRAPH_NODE_AND_EDGE_IDENTITIES
UPDATE_GRAPH_SCHEMA
UPDATE_NODE_EDGE_LABEL_AND_PROPERTY_RELATIONS
UPDATE_INDEX_AND_CONSTRAINT_RELATIONS
UPDATE_PARTITION_REPLICATION_AND_STORAGE_CONTEXT
RECOMPUTE_AFFECTED_RELATIONS
UPDATE_CONFIDENCE
PRESERVE_VERSION_HISTORY
}
ON NEW_QUERY_TRANSACTION_OR_OPERATIONAL_EVIDENCE {
LINK_EVIDENCE
UPDATE_QUERY_AND_EXECUTION_PLANS
UPDATE_GRAPH_STATE
UPDATE_TRANSACTION_AND_CONSISTENCY_RELATIONS
UPDATE_PERFORMANCE_PROFILE
UPDATE_CONFIDENCE
RECORD_PROVENANCE
}
ON ONTOLOGY_REVISION {
REMAP_TERMS
CHECK_SEMANTIC_EQUIVALENCE
IDENTIFY_DEPRECATED_TERMS
MIGRATE_RELATIONSHIPS
PRESERVE_PRIOR_VERSION_REFERENCES
}
}
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_GRAPH_DATABASE
BY_GRAPH_MODEL
BY_NODE
BY_EDGE
BY_LABEL
BY_PROPERTY
BY_QUERY
BY_PATH
BY_INDEX
BY_TRANSACTION
BY_PARTITION
BY_REPLICA
BY_GRAPH_STATE
BY_CONFIDENCE
}
REASON {
APPLY_RELATIONSHIPS
APPLY_RULES
ANALYSE_PROPERTY_GRAPHS
ANALYSE_RDF_GRAPHS
ANALYSE_ADJACENCY
ANALYSE_GRAPH_QUERIES
ANALYSE_PATTERN_MATCHES
TRACE_TRAVERSALS
ANALYSE_PATHS
ANALYSE_INDEXES
ANALYSE_TRANSACTIONS
ANALYSE_PARTITIONING
ANALYSE_REPLICATION
ANALYSE_QUERY_OPTIMISATION
TRACE_GRAPH_STATE
CHECK_SEMANTIC_EQUIVALENCE
PRESERVE_UNCERTAINTY
TRACE_EVIDENCE
TRACE_PROVENANCE
GENERATE_EXPLANATION_PATH
}
RESPONSE_POLICY {
DISTINGUISH_GRAPH_DATABASE_FROM_GRAPH_DATA_STRUCTURE_AND_GRAPH_ALGORITHM
DISTINGUISH_PROPERTY_GRAPH_FROM_RDF_GRAPH
PRESERVE_GRAPH_MODEL_SCHEMA_NODE_EDGE_DIRECTION_PROPERTY_PARTITION_REPLICA_AND_CONFIGURATION_CONTEXT
DISTINGUISH_ADJACENCY_FROM_REACHABILITY
PRESERVE_GRAPH_STATE_AND_PROVENANCE
RETURN_CONFIDENCE_WHEN_AVAILABLE
RETURN_PROVENANCE_WHEN_AVAILABLE
AVOID_UNSUPPORTED_GRAPH_DATABASE_INFERENCE
}
}
TERMINAL {
RESULT =
VALIDATED(
SEMANTICALLY_NORMALISED(
EVIDENCE_LINKED(
CONFIDENCE_AWARE(
GRAPH_DATABASE_KNOWLEDGE
)
)
)
)
}
}
END FLOW
Download Code
Copy to Clipboard