pub trait VectorFunction: Send + Sync {
// Required methods
fn name(&self) -> &str;
fn signature(&self) -> FunctionSignature;
fn execute(
&self,
args: &[FunctionArgument],
context: &ExecutionContext,
) -> Result<FunctionResult>;
fn optimization_hints(&self) -> Vec<OptimizationHint>;
fn estimate_cost(&self, args: &[FunctionArgument]) -> f64;
}Expand description
Vector function trait for SPARQL integration
Required Methods§
Sourcefn signature(&self) -> FunctionSignature
fn signature(&self) -> FunctionSignature
Function signature
Sourcefn execute(
&self,
args: &[FunctionArgument],
context: &ExecutionContext,
) -> Result<FunctionResult>
fn execute( &self, args: &[FunctionArgument], context: &ExecutionContext, ) -> Result<FunctionResult>
Execute function
Sourcefn optimization_hints(&self) -> Vec<OptimizationHint>
fn optimization_hints(&self) -> Vec<OptimizationHint>
Get optimization hints
Sourcefn estimate_cost(&self, args: &[FunctionArgument]) -> f64
fn estimate_cost(&self, args: &[FunctionArgument]) -> f64
Cost estimation