Skip to main content

oxgraph_db/
lib.rs

1//! Standalone OxGraph-native database engine.
2//!
3//! `oxgraph-db` is a product layer above the topology substrate. It owns
4//! durable database identity, cataloged physical projections, properties,
5//! indexes, native `OxQL` execution, the pinned Cypher profile, and embedded
6//! transaction semantics. Foundation crates remain storage- and
7//! meaning-neutral.
8#![expect(
9    clippy::redundant_pub_crate,
10    reason = "internal modules use crate visibility for sibling boundaries while staying unexported"
11)]
12
13pub(crate) mod backing;
14pub(crate) mod catalog;
15pub(crate) mod crc;
16pub(crate) mod database;
17pub(crate) mod error;
18pub(crate) mod freeze;
19pub(crate) mod id;
20pub(crate) mod index;
21pub(crate) mod lock;
22pub(crate) mod overlay;
23pub(crate) mod projection;
24pub(crate) mod query;
25pub(crate) mod state;
26pub(crate) mod storage;
27pub(crate) mod traversal;
28pub(crate) mod value;
29pub(crate) mod wal;
30pub(crate) mod wire;
31
32pub use crate::{
33    catalog::{
34        Catalog, GraphProjectionDefinition, HypergraphProjectionDefinition, IndexDefinition,
35        IndexEntry, LabelDefinition, ProjectionDefinition, ProjectionEntry, PropertyFamily,
36        PropertyKeyDefinition, RelationTypeDefinition, RoleDefinition,
37    },
38    database::{
39        CatalogSummary, CheckpointPolicy, Database, DatabaseStatus, IndexLookup, ReadPin,
40        ReadTransaction, WriteTransaction,
41    },
42    error::DbError,
43    id::{
44        CheckpointGeneration, CommitSeq, ElementId, IncidenceId, IndexId, LabelId, ProjectionId,
45        PropertyKeyId, RelationId, RelationTypeId, RoleId, TransactionId,
46    },
47    projection::{
48        GraphProjection, HypergraphProjection, ProjectionElementId, ProjectionIncidenceId,
49        ProjectionRelationId,
50    },
51    query::{PreparedQuery, QueryLanguage, QueryResult, QueryRow, QueryValue},
52    state::{ElementRecord, IncidenceRecord, PropertySubject, RelationRecord},
53    traversal::{TraversalDirection, TraversalOptions, TraversalResult, TraversalRow},
54    value::{PropertyType, PropertyValue},
55};
56
57#[cfg(kani)]
58mod proofs;