Skip to main content

DataPoint

Struct DataPoint 

Source
pub struct DataPoint {
Show 15 fields pub id: Uuid, pub created_at: i64, pub updated_at: i64, pub ontology_valid: bool, pub version: i32, pub topological_rank: Option<i32>, pub metadata: HashMap<String, Value>, pub data_type: String, pub belongs_to_set: Option<Vec<Value>>, pub source_pipeline: Option<String>, pub source_task: Option<String>, pub source_node_set: Option<String>, pub source_user: Option<String>, pub source_content_hash: Option<String>, pub feedback_weight: f64,
}
Expand description

Base model for all storage-layer entities.

Provides:

  • Unique identifier (UUID)
  • Timestamps (created_at, updated_at) as milliseconds since epoch
  • Ontology validation flag
  • Version tracking (integer)
  • Topological rank for graph traversal
  • Flexible metadata storage
  • Type discriminator
  • Dataset membership
  • Pipeline provenance fields
  • Feedback weight

Fields§

§id: Uuid

Unique identifier

§created_at: i64

Creation timestamp (milliseconds since epoch, matching Python)

§updated_at: i64

Last update timestamp (milliseconds since epoch, matching Python)

§ontology_valid: bool

Whether this entity has been validated against an ontology

§version: i32

Version number (default 1, matching Python)

§topological_rank: Option<i32>

Topological rank for graph traversal optimization

§metadata: HashMap<String, Value>

Flexible metadata storage (e.g., index_fields, custom attributes)

§data_type: String

Type discriminator (e.g., “Entity”, “EntityType”, “EdgeType”)

§belongs_to_set: Option<Vec<Value>>

Dataset this data point belongs to (list of JSON values, matching Python)

§source_pipeline: Option<String>

Pipeline that created this data point

§source_task: Option<String>

Task that created this data point

§source_node_set: Option<String>

Node set source

§source_user: Option<String>

User that triggered creation

§source_content_hash: Option<String>

Content hash of the raw Data artefact that produced this DataPoint. Propagates from upstream Data.content_hash through every task in the cognify pipeline, enabling content-addressed lineage queries.

§feedback_weight: f64

Feedback weight (default 0.5, matching Python)

Implementations§

Source§

impl DataPoint

Source

pub fn new(data_type: impl Into<String>, dataset_id: Option<Uuid>) -> Self

Create a new DataPoint with default values.

§Arguments
  • data_type - Type discriminator (e.g., “Entity”, “EntityType”)
  • dataset_id - Optional dataset UUID
Source

pub fn with_metadata( data_type: impl Into<String>, dataset_id: Option<Uuid>, metadata: HashMap<String, Value>, ) -> Self

Create a DataPoint with specific metadata.

Source

pub fn get_embeddable_data(&self) -> String

Get embeddable data as JSON string for vector indexing.

Returns a JSON representation of this DataPoint.

Source

pub fn to_json(&self) -> Value

Convert to JSON value.

Source

pub fn vector_metadata(&self) -> HashMap<String, Value>

Canonical vector-store payload keys for this DataPoint.

Mirrors Python’s DataPoint.model_dump() payload shape: every pydantic-equivalent field flows into the metadata map. Keys with None values are omitted (consistent with the skip_serializing_if = "Option::is_none" annotations on the struct).

Used by the cognify and memify pipelines when constructing VectorPoint payloads to keep the Rust shape byte-comparable to Python’s for the cross-SDK parity tests. Note: the data_type field carries #[serde(rename = "type")], so the resulting map uses the JSON key "type" (matching Python).

Source

pub fn touch(&mut self)

Update the timestamp to current time.

Source

pub fn set_ontology_valid(&mut self, valid: bool)

Set ontology validation status.

Source

pub fn set_metadata(&mut self, key: impl Into<String>, value: Value)

Add or update metadata field.

Source

pub fn get_metadata(&self, key: &str) -> Option<&Value>

Get metadata field.

Trait Implementations§

Source§

impl Clone for DataPoint

Source§

fn clone(&self) -> DataPoint

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DataPoint

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for DataPoint

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for DataPoint

Source§

fn eq(&self, other: &DataPoint) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for DataPoint

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for DataPoint

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.