pub trait RdfFusionFunctionRegistry:
Debug
+ Send
+ Sync {
// Required methods
fn udf_supported_encodings(
&self,
function_name: &FunctionName,
) -> Result<Vec<EncodingName>, DataFusionError>;
fn udf(
&self,
function_name: &FunctionName,
) -> Result<Arc<ScalarUDF>, DataFusionError>;
fn udaf(
&self,
function_name: &FunctionName,
) -> Result<Arc<AggregateUDF>, DataFusionError>;
fn register_udf(&self, udf: ScalarUDF);
fn register_udaf(&self, udaf: AggregateUDF);
}
Expand description
A registry for SPARQL functions that can create DataFusion UDFs and UDAFs.
This trait defines the interface for creating DataFusion user-defined functions (UDFs) and user-defined aggregate functions (UDAFs) that implement SPARQL function semantics.
§Additional Resources
Required Methods§
Sourcefn udf_supported_encodings(
&self,
function_name: &FunctionName,
) -> Result<Vec<EncodingName>, DataFusionError>
fn udf_supported_encodings( &self, function_name: &FunctionName, ) -> Result<Vec<EncodingName>, DataFusionError>
Returns the encodings supported by function_name
.
Sourcefn udf(
&self,
function_name: &FunctionName,
) -> Result<Arc<ScalarUDF>, DataFusionError>
fn udf( &self, function_name: &FunctionName, ) -> Result<Arc<ScalarUDF>, DataFusionError>
Creates a ScalarUDF.
Sourcefn udaf(
&self,
function_name: &FunctionName,
) -> Result<Arc<AggregateUDF>, DataFusionError>
fn udaf( &self, function_name: &FunctionName, ) -> Result<Arc<AggregateUDF>, DataFusionError>
Creates a AggregateUDF.
Sourcefn register_udf(&self, udf: ScalarUDF)
fn register_udf(&self, udf: ScalarUDF)
Register a ScalarUDF.
Sourcefn register_udaf(&self, udaf: AggregateUDF)
fn register_udaf(&self, udaf: AggregateUDF)
Register a AggregateUDF.