Expand description
§OxiRS ARQ - SPARQL Query Engine
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
oxirs-core- RDF data modeloxirs-fuseki- SPARQL HTTP server
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