Skip to main content

xz_knowledge_graph/types/
consistency.rs

1use serde::{Deserialize, Serialize};
2
3/// Consistency issue found during validation.
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct ConsistencyIssue {
6    pub severity: IssueSeverity,
7    pub issue_type: ConsistencyIssueType,
8    pub description: String,
9    pub related_entities: Vec<String>,
10    pub related_relations: Vec<String>,
11}
12
13#[derive(Debug, Clone, Serialize, Deserialize)]
14pub enum ConsistencyIssueType {
15    OrphanRelation,
16    SelfReferencing,
17    CircularReference,
18    DuplicateEntity,
19    ConflictingAttribute,
20    ExpiredRelation,
21    OrphanEntity,
22}
23
24#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
25pub enum IssueSeverity {
26    Info,
27    Warning,
28    Error,
29}