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, 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 mod projection;
24pub(crate) mod query;
25pub(crate) mod read;
26pub(crate) mod schema;
27pub(crate) mod state;
28pub(crate) mod storage;
29pub(crate) mod traversal;
30pub(crate) mod typed;
31pub(crate) mod value;
32pub(crate) mod wal;
33pub(crate) mod wire;
34
35pub use crate::{
36    catalog::{
37        Catalog, GraphProjectionDefinition, HypergraphProjectionDefinition, IndexDefinition,
38        IndexEntry, LabelDefinition, ProjectionDefinition, ProjectionEntry, PropertyFamily,
39        PropertyKeyDefinition, RelationTypeDefinition, RoleDefinition,
40    },
41    database::{
42        CatalogSummary, CheckpointPolicy, CommitOutcome, Db, Match, ReadPin, Reader, Stats, Writer,
43    },
44    error::DbError,
45    id::{
46        CheckpointGeneration, CommitSeq, ElementId, IncidenceId, IndexId, LabelId, ProjectionId,
47        PropertyKeyId, RelationId, RelationTypeId, RoleId, TransactionId,
48    },
49    query::{PreparedQuery, QueryResult, QueryRow, QueryValue},
50    read::{Element, Properties, Relation},
51    schema::{Bound, GraphProjectionSpec, Schema},
52    state::{ElementRecord, IncidenceRecord, PropertySubject, RelationRecord},
53    traversal::{Direction, Subgraph, TraversedEdge, TraversedNode, Walk},
54    typed::{Assignable, Bool, EqualityIndex, Int, Key, RangeIndex, Readable, Text, ValueType},
55    value::{PropertyType, PropertyValue},
56};
57
58#[cfg(kani)]
59mod proofs;