relay-knowledge 1.1.17

Graph-database-based knowledge graph project.
Documentation
use crate::domain::{RetrievalHit, RetrieverSource};

pub(in crate::storage::sqlite::retrieval) struct ScoredHit {
    pub(in crate::storage::sqlite::retrieval) key: String,
    pub(in crate::storage::sqlite::retrieval) hit: RetrievalHit,
    pub(in crate::storage::sqlite::retrieval) source: RetrieverSource,
    pub(in crate::storage::sqlite::retrieval) source_score: f64,
    pub(in crate::storage::sqlite::retrieval) modality: String,
    pub(in crate::storage::sqlite::retrieval) explanation: Option<String>,
}

pub(in crate::storage::sqlite::retrieval) fn evidence_group_key(evidence_id: &str) -> String {
    format!("evidence_group:{evidence_id}")
}

pub(in crate::storage::sqlite::retrieval) fn sort_scored_hits(hits: &mut [ScoredHit]) {
    hits.sort_by(|left, right| {
        right
            .source_score
            .total_cmp(&left.source_score)
            .then_with(|| left.hit.evidence_id.cmp(&right.hit.evidence_id))
    });
}

#[cfg(test)]
#[path = "candidate_tests.rs"]
mod candidate_tests;