pub struct Explanation {
pub schema: String,
pub explainer: String,
pub facet_sources: Vec<FacetSource>,
pub sides: Vec<Side>,
pub redaction: Option<Redaction>,
pub query: Query,
pub answer: Answer,
pub truncation: Option<Truncation>,
pub facts: Vec<Fact>,
}Expand description
The record canonical explanation document (spec 040, 3.3).
Fields§
§schema: String§explainer: String§facet_sources: Vec<FacetSource>§sides: Vec<Side>§redaction: Option<Redaction>§query: Query§answer: Answer§truncation: Option<Truncation>§facts: Vec<Fact>Implementations§
Source§impl Explanation
impl Explanation
Sourcepub fn validate(&self) -> Result<(), DocumentError>
pub fn validate(&self) -> Result<(), DocumentError>
Checks structure only. Resolution and factual correctness belong to the explainer.
Trait Implementations§
Source§impl Clone for Explanation
impl Clone for Explanation
Source§impl Debug for Explanation
impl Debug for Explanation
Source§impl<'de> Deserialize<'de> for Explanation
impl<'de> Deserialize<'de> for Explanation
Source§fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error>
Deserialize this value from the given Serde deserializer. Read more
Source§impl Document for Explanation
impl Document for Explanation
Source§const SCHEMA: &'static str = schema::EXPLANATION
const SCHEMA: &'static str = schema::EXPLANATION
The schema string this document carries (spec 002, 3.2.1).
Source§const LIMITS: ParseLimits = REPLAY_V1
const LIMITS: ParseLimits = REPLAY_V1
The limit set its bytes are scanned against (spec 002, 3.2.5).
Source§fn parse(bytes: &[u8]) -> Result<Self, DocumentError>
fn parse(bytes: &[u8]) -> Result<Self, DocumentError>
Scan, deserialize and check the schema string.
Source§fn record_canonical(&self) -> Result<Vec<u8>, CanonicalError>where
Self: PartialEq,
fn record_canonical(&self) -> Result<Vec<u8>, CanonicalError>where
Self: PartialEq,
The record canonical bytes (spec 004, 5.6): the canonical bytes, with
finite fractional numbers written in shortest round-trip form.
Source§fn record_digest(&self) -> Result<ContentDigest, CanonicalError>where
Self: PartialEq,
fn record_digest(&self) -> Result<ContentDigest, CanonicalError>where
Self: PartialEq,
sha256(SCHEMA || 0x00 || record canonical bytes) (spec 004, 3.1.6).
Equal to the identity of an identified document.Source§impl JsonSchema for Explanation
impl JsonSchema for Explanation
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§impl PartialEq for Explanation
impl PartialEq for Explanation
Source§impl Serialize for Explanation
impl Serialize for Explanation
impl StructuralPartialEq for Explanation
Auto Trait Implementations§
impl Freeze for Explanation
impl RefUnwindSafe for Explanation
impl Send for Explanation
impl Sync for Explanation
impl Unpin for Explanation
impl UnsafeUnpin for Explanation
impl UnwindSafe for Explanation
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more