Skip to main content

oxibrain_cli/cmd/
entity_show.rs

1use oxibrain::Brain;
2use oxibrain::BrainConfig;
3use oxibrain_core::BeliefStatus;
4use std::path::Path;
5
6pub async fn run(dir: &Path, id: &str, space: &str) -> anyhow::Result<()> {
7    let brain = Brain::open(BrainConfig::at(dir)).await?;
8    let space_id = brain.ensure_space(space).await?;
9    let beliefs = brain.beliefs(&space_id, id).await?;
10    println!("entity {id}: {} beliefs", beliefs.len());
11    for b in &beliefs {
12        let status = match b.status {
13            BeliefStatus::Active => "active",
14            BeliefStatus::Superseded => "superseded",
15            BeliefStatus::Contradicted => "contradicted",
16            BeliefStatus::Retracted => "retracted",
17        };
18        println!(
19            "  [{}] statement={} confidence={:.3} from={} to={}",
20            status,
21            b.statement,
22            b.confidence,
23            b.valid_from.millis(),
24            b.valid_to.millis()
25        );
26    }
27    Ok(())
28}