oxirs_embed/models/
mod.rs

1//! Embedding model implementations
2//!
3//! This module provides various knowledge graph embedding models including:
4//! - TransE: Translation-based embeddings
5//! - ComplEx: Complex number embeddings for asymmetric relations
6//! - DistMult: Bilinear diagonal model
7//! - RotatE: Rotation-based embeddings
8//! - HolE: Holographic embeddings using circular correlation
9//! - ConvE: Convolutional embeddings with 2D CNNs (optional)
10//! - TuckER: Tucker decomposition based embeddings (optional)
11//! - TransformerEmbedding: Transformer-based embeddings (BERT, RoBERTa, etc.)
12//! - GNNEmbedding: Graph Neural Network embeddings (GCN, GraphSAGE, GAT, etc.)
13//! - OntologyAwareEmbedding: Embeddings that respect RDF/OWL ontology constraints
14
15pub mod complex;
16pub mod distmult;
17pub mod gnn;
18pub mod hole;
19pub mod ontology;
20pub mod rotate;
21pub mod transe;
22pub mod transformer;
23
24#[cfg(feature = "conve")]
25pub mod conve;
26
27#[cfg(feature = "tucker")]
28pub mod tucker;
29
30#[cfg(feature = "quatd")]
31pub mod quatd;
32
33pub mod base;
34pub mod common;
35pub mod scirs_neural;
36
37// Re-export all models
38pub use complex::ComplEx;
39pub use distmult::DistMult;
40pub use gnn::{AggregationType, GNNConfig, GNNEmbedding, GNNType};
41pub use hole::{HoLE, HoLEConfig};
42pub use ontology::{
43    OntologyAwareConfig, OntologyAwareEmbedding, OntologyConstraints, OntologyRelation,
44};
45pub use rotate::RotatE;
46pub use transe::TransE;
47pub use transformer::{PoolingStrategy, TransformerConfig, TransformerEmbedding, TransformerType};
48
49#[cfg(feature = "conve")]
50pub use conve::{ConvE, ConvEConfig};
51
52#[cfg(feature = "tucker")]
53pub use tucker::TuckER;
54
55#[cfg(feature = "quatd")]
56pub use quatd::QuatD;
57
58pub use base::*;
59pub use common::*;
60pub use scirs_neural::{ActivationType, OptimizerType, SciRS2NeuralConfig, SciRS2NeuralEmbedding};