Crate oxirs_arq

Crate oxirs_arq 

Source
Expand description

§OxiRS ARQ - SPARQL Query Engine

Version docs.rs

Status: Production Release (v0.1.0) Stability: Public APIs are stable. Production-ready with comprehensive testing.

Advanced SPARQL 1.1/1.2 query engine with optimization, federation support, and custom functions. Provides Jena ARQ-style SPARQL algebra with modern Rust performance.

§Features

  • SPARQL 1.1 Query - Complete SPARQL 1.1 query support
  • Query Optimization - Cost-based optimization and join reordering
  • Parallel Execution - Multi-threaded query processing
  • Custom Functions - Extensible function framework
  • Federation Support - Basic federated query capabilities
  • Result Streaming - Memory-efficient result iteration

§Quick Start

use oxirs_core::query::QueryEngine;
use oxirs_core::RdfStore;

let engine = QueryEngine::new();
let store = RdfStore::new()?;

let sparql = "SELECT ?s ?p ?o WHERE { ?s ?p ?o } LIMIT 10";
let results = engine.query(sparql, &store)?;

§See Also

Re-exports§

pub use aggregates_ext::Accumulator;
pub use aggregates_ext::AggregateFactory;
pub use aggregates_ext::AggregateMetadata;
pub use aggregates_ext::AggregateOptimization;
pub use aggregates_ext::AggregateRegistry;
pub use aggregates_ext::MemoryUsage;
pub use algebra::Aggregate;
pub use algebra::Algebra;
pub use algebra::BinaryOperator;
pub use algebra::Binding;
pub use algebra::Expression;
pub use algebra::GroupCondition;
pub use algebra::Iri;
pub use algebra::Literal;
pub use algebra::OrderCondition;
pub use algebra::Solution;
pub use algebra::Term;
pub use algebra::TriplePattern;
pub use algebra::UnaryOperator;
pub use debug_utilities::DebugBreakpoint;
pub use debug_utilities::DebugConfig;
pub use debug_utilities::DebugReport;
pub use debug_utilities::ExecutionState as DebugExecutionState;
pub use debug_utilities::JoinType;
pub use debug_utilities::Operation;
pub use debug_utilities::QueryDebugger;
pub use debug_utilities::RewriteStep;
pub use debug_utilities::TraceEntry;
pub use debug_utilities::VariableBinding;
pub use debug_utilities::VisualizationFormat;
pub use executor::Dataset;
pub use executor::ExecutionContext;
pub use executor::InMemoryDataset;
pub use executor::ParallelConfig;
pub use executor::QueryExecutor;
pub use graphql_translator::GraphQLDirective;
pub use graphql_translator::GraphQLDocument;
pub use graphql_translator::GraphQLField;
pub use graphql_translator::GraphQLFragment;
pub use graphql_translator::GraphQLOperation;
pub use graphql_translator::GraphQLOperationType;
pub use graphql_translator::GraphQLSelection;
pub use graphql_translator::GraphQLTranslator;
pub use graphql_translator::GraphQLValue;
pub use graphql_translator::GraphQLVariableDefinition;
pub use graphql_translator::SchemaMapping;
pub use graphql_translator::TranslationError;
pub use graphql_translator::TranslationResult;
pub use graphql_translator::TranslationStats;
pub use graphql_translator::TranslatorConfig;
pub use jit_compiler::CompiledQuery;
pub use jit_compiler::CompilerStats;
pub use jit_compiler::ExecutionPlan;
pub use jit_compiler::ExecutionStats;
pub use jit_compiler::FilterType;
pub use jit_compiler::JitCompilerConfig;
pub use jit_compiler::JitJoinStrategy;
pub use jit_compiler::PatternType;
pub use jit_compiler::PlanOperation;
pub use jit_compiler::QueryJitCompiler;
pub use jit_compiler::QueryMetadata;
pub use jit_compiler::Specialization;
pub use jit_compiler::SpecializationType;
pub use path_extensions::BidirectionalPathSearch;
pub use path_extensions::CacheStats;
pub use path_extensions::CachedPathEvaluator;
pub use path_extensions::CostBasedPathOptimizer;
pub use path_extensions::PathAnalyzer;
pub use path_extensions::PathCache;
pub use path_extensions::PathComplexity;
pub use path_extensions::PathEvaluationStrategy;
pub use path_extensions::PathOptimizationConfig;
pub use path_extensions::PathOptimizationHint;
pub use path_extensions::PathStatistics;
pub use path_extensions::ReachabilityIndex;
pub use path_extensions::StrategyCostEstimate;
pub use procedures::Procedure;
pub use procedures::ProcedureArgs;
pub use procedures::ProcedureContext;
pub use procedures::ProcedureFactory;
pub use procedures::ProcedureRegistry;
pub use procedures::ProcedureResult;
pub use property_functions::PropFuncArg;
pub use property_functions::PropertyFunction;
pub use property_functions::PropertyFunctionContext;
pub use property_functions::PropertyFunctionRegistry;
pub use property_functions::PropertyFunctionResult;
pub use query_builder::AskBuilder;
pub use query_builder::ConstructBuilder;
pub use query_builder::DescribeBuilder;
pub use query_builder::SelectBuilder;
pub use query_plan_cache::CacheStats as QueryPlanCacheStats;
pub use query_plan_cache::CachedPlan;
pub use query_plan_cache::CachingConfig;
pub use query_plan_cache::QueryPlanCache;
pub use query_plan_cache::QuerySignature;
pub use query_plan_cache::StatisticsSnapshot;
pub use query_profiler::AverageStats;
pub use query_profiler::QueryPhase;
pub use query_profiler::QueryProfiler;
pub use query_profiler::QueryStats;
pub use query_validator::QueryValidator;
pub use query_validator::ValidationConfig;
pub use query_validator::ValidationResult;
pub use query_validator::ValidationStatistics;
pub use query_validator::ValidationWarning;
pub use query_validator::ValidationWarningType;
pub use result_formats::BinaryResultSerializer;
pub use result_formats::CustomFormatSerializer;
pub use result_formats::FormatConverter;
pub use result_formats::FormatRegistry;
pub use result_formats::StreamingResultIterator;
pub use result_formats::XmlResultSerializer;
pub use results::QueryResult;
pub use results::ResultFormat;
pub use results::ResultSerializer;
pub use scirs_optimize_integration::OptimizationResult;
pub use scirs_optimize_integration::PerformanceAnalysis;
pub use scirs_optimize_integration::QueryInfo;
pub use scirs_optimize_integration::QueryOptimizationConfig;
pub use scirs_optimize_integration::SciRS2QueryOptimizer;
pub use service_description::create_default_service_description;
pub use service_description::AggregateInfo;
pub use service_description::DatasetDescription;
pub use service_description::ExtensionFunction;
pub use service_description::Feature;
pub use service_description::LanguageExtension;
pub use service_description::NamedGraphDescription;
pub use service_description::ParameterInfo;
pub use service_description::ProcedureInfo;
pub use service_description::PropertyFunctionInfo;
pub use service_description::ServiceDescription;
pub use service_description::ServiceDescriptionBuilder;
pub use service_description::ServiceDescriptionRegistry;
pub use service_description::ServiceLimitations;
pub use string_functions_ext::StrAfterFunction;
pub use string_functions_ext::StrBeforeFunction;
pub use string_functions_ext::StrDtFunction;
pub use string_functions_ext::StrLangDirFunction;
pub use string_functions_ext::StrLangFunction;
pub use triple_functions::IsTripleFunction;
pub use triple_functions::ObjectFunction;
pub use triple_functions::PredicateFunction;
pub use triple_functions::SubjectFunction;
pub use triple_functions::TripleFunction;
pub use values_support::IndexedValues;
pub use values_support::JoinStrategy;
pub use values_support::OptimizedValues;
pub use values_support::ValuesBuilder;
pub use values_support::ValuesClause;
pub use values_support::ValuesExecutionStrategy;
pub use values_support::ValuesExecutor;
pub use values_support::ValuesJoinOptimizer;
pub use values_support::ValuesOptimizer;
pub use values_support::ValuesStatistics;
pub use adaptive_index_advisor::AccessPattern;
pub use adaptive_index_advisor::AdvisorConfig;
pub use adaptive_index_advisor::AdvisorStatistics;
pub use adaptive_index_advisor::AnalysisSummary;
pub use adaptive_index_advisor::IndexAdvisor;
pub use adaptive_index_advisor::IndexAnalysisReport;
pub use adaptive_index_advisor::IndexConfiguration;
pub use adaptive_index_advisor::IndexRecommendation;
pub use adaptive_index_advisor::IndexType;
pub use adaptive_index_advisor::IndexUsageStats;
pub use adaptive_index_advisor::PatternComponent;
pub use adaptive_index_advisor::QueryPattern;
pub use adaptive_index_advisor::RecommendationPriority;
pub use cost_model_calibration::CalibrationConfig;
pub use cost_model_calibration::CalibrationExport;
pub use cost_model_calibration::CalibrationReport;
pub use cost_model_calibration::CalibratorStatistics;
pub use cost_model_calibration::CostModelCalibrator;
pub use cost_model_calibration::CostModelParameters;
pub use cost_model_calibration::ExecutionSample;
pub use cost_model_calibration::OperationCalibrationExport;
pub use cost_model_calibration::OperationCalibrationStats;
pub use cost_model_calibration::OperationSummary;
pub use cost_model_calibration::OperationType;
pub use federation::EndpointCapabilities;
pub use federation::EndpointCriteria;
pub use federation::EndpointDiscovery;
pub use federation::EndpointHealth;
pub use federation::FederatedSubquery;
pub use federation::FederationConfig;
pub use federation::FederationExecutor;
pub use federation::FederationStats;
pub use federation::LoadBalancingStrategy;
pub use gpu_accelerated_ops::DeviceSelection;
pub use gpu_accelerated_ops::GpuConfig;
pub use gpu_accelerated_ops::GpuOperationStats;
pub use gpu_accelerated_ops::GpuQueryEngine;
pub use interactive_query_builder::helpers as query_helpers;
pub use interactive_query_builder::InteractiveQueryBuilder;
pub use interactive_query_builder::PatternBuilder;
pub use interactive_query_builder::QueryType;
pub use materialization::MaterializationAnalysis;
pub use materialization::MaterializationConfig;
pub use materialization::MaterializationSelector;
pub use materialization::MaterializationStats;
pub use materialization::MaterializationStrategy;
pub use materialization::MaterializedResults;
pub use materialization::ResultIterator;
pub use materialization::VariableStats;
pub use production::AuditEventType;
pub use production::BaselineTrackerConfig;
pub use production::CostEstimatorConfig;
pub use production::CostEstimatorStatistics;
pub use production::CostRecommendation;
pub use production::ErrorSeverity;
pub use production::GlobalStatistics;
pub use production::HealthStatus;
pub use production::MemoryStats;
pub use production::PerformanceBaselineTracker;
pub use production::PerformanceTrend;
pub use production::PrioritizedQuery;
pub use production::PrioritySchedulerConfig;
pub use production::PrioritySchedulerStats;
pub use production::QueryAuditEvent;
pub use production::QueryAuditTrail;
pub use production::QueryCancellationToken;
pub use production::QueryCircuitBreaker;
pub use production::QueryCostEstimate;
pub use production::QueryCostEstimator;
pub use production::QueryEngineHealth;
pub use production::QueryErrorContext;
pub use production::QueryFeatures;
pub use production::QueryMemoryTracker;
pub use production::QueryPriority;
pub use production::QueryPriorityScheduler;
pub use production::QueryRateLimiter;
pub use production::QueryResourceQuota;
pub use production::QuerySession;
pub use production::QuerySessionManager;
pub use production::QueryStatistics;
pub use production::QueryTimeoutManager;
pub use production::QueryTimeoutState;
pub use production::RegressionReport;
pub use production::RegressionSeverity;
pub use production::SparqlPerformanceMonitor;
pub use production::SparqlProductionError;
pub use production::TimeoutAction;
pub use production::TimeoutCheckResult;
pub use query_execution_history::ExecutionMetrics;
pub use query_execution_history::ExecutionRecord;
pub use query_execution_history::ExecutionStatus;
pub use query_execution_history::FormDistribution;
pub use query_execution_history::HistoryAnalysis;
pub use query_execution_history::HistoryConfig;
pub use query_execution_history::HistoryStatistics;
pub use query_execution_history::PeriodStatistics;
pub use query_execution_history::QueryExecutionHistory;
pub use query_execution_history::QueryFormType;
pub use query_execution_history::QueryGroupStats;
pub use query_execution_history::SlowQueryEntry;
pub use query_fingerprinting::FingerprintConfig;
pub use query_fingerprinting::FingerprintingStatistics;
pub use query_fingerprinting::HashAlgorithm;
pub use query_fingerprinting::ParameterSlot;
pub use query_fingerprinting::ParameterType;
pub use query_fingerprinting::QueryFeatures as FingerprintQueryFeatures;
pub use query_fingerprinting::QueryFingerprint;
pub use query_fingerprinting::QueryFingerprinter;
pub use query_fingerprinting::QueryForm as FingerprintQueryForm;
pub use query_hints::CacheHint;
pub use query_hints::CardinalityHint;
pub use query_hints::FilterHint;
pub use query_hints::FilterPushdownDirective;
pub use query_hints::HintApplicationResult;
pub use query_hints::HintParser;
pub use query_hints::HintParserStats;
pub use query_hints::HintValidationWarning;
pub use query_hints::HintValidator;
pub use query_hints::IndexDirective;
pub use query_hints::IndexHint;
pub use query_hints::JoinAlgorithmHint;
pub use query_hints::JoinBuildSide;
pub use query_hints::JoinHint;
pub use query_hints::JoinOrderHint;
pub use query_hints::JoinOrderStrategy;
pub use query_hints::MaterializationHint;
pub use query_hints::MaterializationStrategy as HintMaterializationStrategy;
pub use query_hints::MemoryHint;
pub use query_hints::ParallelismHint;
pub use query_hints::QueryHints;
pub use query_hints::QueryHintsBuilder;
pub use query_hints::WarningSeverity;
pub use query_plan_export::CostEstimate;
pub use query_plan_export::ExecutionStats as PlanExecutionStats;
pub use query_plan_export::ExportConfig;
pub use query_plan_export::ExportError;
pub use query_plan_export::ExportFormat;
pub use query_plan_export::ExporterStats;
pub use query_plan_export::OperatorType;
pub use query_plan_export::PlanNode;
pub use query_plan_export::QueryPlanExporter;
pub use query_regression_testing::ExecutionResult as RegressionExecutionResult;
pub use query_regression_testing::ExecutionStatistics as RegressionExecutionStats;
pub use query_regression_testing::GoldenQuery;
pub use query_regression_testing::QueryRegressionAnalysis;
pub use query_regression_testing::RegressionConfig;
pub use query_regression_testing::RegressionReport as QueryRegressionReport;
pub use query_regression_testing::RegressionStatus;
pub use query_regression_testing::RegressionTestSuite;
pub use query_regression_testing::RegressionTestSuiteBuilder;
pub use query_regression_testing::ReportComparison;
pub use query_regression_testing::ReportSummary;
pub use query_regression_testing::SuiteExport;
pub use query_regression_testing::SuiteStatistics;
pub use query_result_cache::CacheConfig as ResultCacheConfig;
pub use query_result_cache::CacheStatistics as ResultCacheStatistics;
pub use query_result_cache::QueryResultCache;
pub use query_result_cache::QueryResultCacheBuilder;
pub use simd_query_ops::ComparisonOp;
pub use simd_query_ops::JoinStats;
pub use simd_query_ops::SimdAggregations;
pub use simd_query_ops::SimdConfig;
pub use simd_query_ops::SimdFilterEvaluator;
pub use simd_query_ops::SimdHashJoin;
pub use simd_query_ops::SimdStringOps;
pub use simd_query_ops::SimdTripleMatcher;
pub use simd_query_ops::TripleCandidate;
pub use websocket_streaming::ConnectionStats;
pub use websocket_streaming::ManagerStats;
pub use websocket_streaming::WebSocketConfig;
pub use websocket_streaming::WebSocketManager;
pub use websocket_streaming::WebSocketMessage;
pub use websocket_streaming::WebSocketSession;
pub use star_integration::pattern_matching;
pub use star_integration::sparql_star_functions;
pub use star_integration::star_statistics::SparqlStarStatistics;
pub use star_integration::SparqlStarExecutor;

Modules§

adaptive_execution
Adaptive Query Execution
adaptive_index_advisor
Adaptive Index Advisor
advanced_optimizer
Advanced Query Optimization Engine
aggregates_ext
Extended Aggregate Functions for SPARQL
algebra
SPARQL Algebra Module
algebra_generation
Algebra Generation Module
bgp_optimizer
Advanced BGP (Basic Graph Pattern) Optimization
bgp_optimizer_types
Type definitions for BGP optimization
buffer_management
Advanced Buffer Pool Management
builtin
Built-in SPARQL Functions
builtin_fixed
Built-in SPARQL Functions
cache_integration
Advanced Caching Integration for OxiRS ARQ Query Engine
cardinality_estimator
Advanced Cardinality Estimation for Query Optimization
cost_model
Cost Model Module
cost_model_calibration
Cost Model Calibration for Adaptive Query Optimization
debug_utilities
Debugging Utilities for SPARQL Queries
distributed
Distributed Query Processing Module
executor
Query Execution Engine Modules
expression
Expression Evaluation System for SPARQL
extensions
Extension Framework for Custom Functions and Operators
federation
Federated SPARQL Query Execution
gpu_accelerated_ops
GPU-Accelerated SPARQL Operations
graphql_translator
integrated_query_planner
Integrated Query Planner
interactive_query_builder
Interactive SPARQL Query Builder
jit_compiler
JIT Compilation for SPARQL Queries
join_algorithms
Advanced Join Algorithm Selection and Execution
materialization
Query Result Materialization Strategies
materialized_views
Materialized Views for Query Optimization
optimizer
Query Optimization Module
parallel
Parallel Query Execution Module
path
Property Path Support for SPARQL
path_extensions
Extended Property Path Support for SPARQL
procedures
Stored Procedures for SPARQL
production
Production Hardening for SPARQL Query Engine
property_functions
Property Functions (Magic Predicates) for SPARQL
query
SPARQL Query Parser and AST
query_analysis
Query Analysis Module
query_batch_executor
Smart Query Batch Executor
query_builder
Query Builder API for SPARQL
query_execution_history
Query Execution History
query_fingerprinting
Advanced Query Fingerprinting for SPARQL Query Analysis
query_hints
Query Hints System for SPARQL Query Optimization
query_optimization_advisor
Automatic Query Optimization Advisor
query_pagination
Query Result Pagination
query_plan_cache
Query Plan Caching System
query_plan_diff
Query Plan Comparison and Diff Utilities
query_plan_export
Query Plan Export
query_profiler
SPARQL query profiling for performance analysis
query_regression_testing
Query Regression Testing Framework
query_result_cache
Query Result Caching with Fingerprint-Based Keys
query_rewriter
Advanced Query Rewriting
query_templates
SPARQL Query Template System
query_validator
Comprehensive SPARQL Query Validation
result_formats
Extended Result Format Support for SPARQL
results
SPARQL Query Results Format Support
scirs_optimize_integration
SciRS2 Optimization Integration for ARQ Query Processing
service_description
SPARQL 1.1 Service Description
simd_query_ops
SIMD-Accelerated Query Operations
star_integration
SPARQL-star Integration Module
statistics
Statistics and cardinality estimation for query optimization
statistics_collector
Advanced Statistics Collection for Query Optimization
streaming
Streaming Query Execution Engine
string_functions_ext
Enhanced String Functions for SPARQL 1.1+
system_load_monitor
System Load Monitoring for Adaptive Query Execution
term
Comprehensive Term System for SPARQL Query Processing
triple_functions
RDF-star TRIPLE Functions
update
SPARQL UPDATE Operations
values_support
VALUES Clause Support for SPARQL
vector_query_optimizer
Vector-Aware Query Optimizer
websocket_streaming
WebSocket Streaming for SPARQL Query Results

Macros§

iri
literal
path_alt
path_inv
path_opt
path_plus
path_seq
Convenience macros for building property paths
path_star
register_function
Macro for easy function registration
triple
Convenience macros for building algebra expressions
var

Structs§

Variable
Variable identifier - reuse from core A SPARQL variable

Type Aliases§

Result