OxiRS CLI
Command-line interface for OxiRS semantic web operations
Status: Alpha Release (v0.1.0-alpha.1) - Released September 30, 2025
⚠️ Alpha Software: This is an early alpha release. APIs may change without notice. Not recommended for production use.
Overview
oxirs is the unified command-line tool for the OxiRS ecosystem, providing comprehensive functionality for RDF data management, SPARQL operations, server administration, and development workflows. It's designed to be the Swiss Army knife for semantic web developers and data engineers.
Features
- Data Operations: Import, export, validate, and transform RDF data
- Query Execution: Run SPARQL queries against local and remote endpoints
- Server Management: Start, stop, and configure OxiRS servers
- Development Tools: Schema validation, query optimization, and debugging
- Benchmarking: Performance testing and dataset generation
- Migration Tools: Convert between RDF formats and upgrade datasets
- Configuration Management: Manage server and client configurations
- Interactive Mode: REPL for exploratory data analysis
Installation
From Crates.io
From Source
Pre-built Binaries
Download from GitHub Releases:
# Linux
|
# macOS
|
# Windows
Quick Start
Basic Usage
# Import RDF data
# Query the data
# Start a SPARQL server
# Export to different format
Interactive Mode
# Start interactive REPL
)
)
)
Commands
Data Management
Import Data
# Import single file
# Import multiple files
# Import from URL
# Import with custom base IRI
# Import with validation
Export Data
# Export entire dataset
# Export specific graph
# Export query results
# Streaming export for large datasets
Validate Data
# Validate syntax
# SHACL validation
# Schema validation
Query Operations
Execute Queries
# Run SPARQL query
# Run query from file
# Run query against remote endpoint
# Save results to file
Query Analysis
# Analyze query performance
# Show query plan
# Benchmark query
Server Management
Start Server
# Basic SPARQL server
# With GraphQL support
# With authentication
# With configuration file
Server Administration
# Check server status
# Upload data to running server
# Backup dataset
# View server metrics
Development Tools
Schema Operations
# Generate schema from data
# Validate against schema
# Compare schemas
# Convert schema formats
Optimization
# Optimize dataset
# Analyze dataset statistics
# Generate indices
# Compress dataset
Benchmarking
Dataset Generation
# Generate test dataset
# Generate synthetic data
# Generate benchmark queries
Performance Testing
# Run benchmarks
# Compare performance
# Stress testing
Migration and Conversion
Format Conversion
# Convert between RDF formats
# Batch conversion
# Streaming conversion for large files
Data Migration
# Migrate from older OxiRS version
# Migrate from other triple stores
# Migrate with transformation
Configuration
Configuration Management
# Initialize configuration
# Validate configuration
# Show current configuration
# Set configuration values
Environment Setup
# Setup development environment
# Install dependencies
# Setup CI/CD templates
Configuration
Global Configuration
The global configuration file is located at:
- Linux/macOS:
~/.config/oxirs/config.yaml - Windows:
%APPDATA%\oxirs\config.yaml
# ~/.config/oxirs/config.yaml
default:
format: turtle
output_dir: ./output
verbose: false
servers:
local:
url: http://localhost:3030
auth: none
production:
url: https://sparql.example.org
auth:
type: bearer
token: ${SPARQL_TOKEN}
profiles:
development:
log_level: debug
enable_timing: true
production:
log_level: warn
enable_timing: false
Command-specific Configuration
# Use specific profile
# Override global settings
# Use configuration file
Advanced Features
Scripting and Automation
# Bash completion
# Pipeline operations
| \
| \
# Batch processing
Custom Extensions
# Install plugin
# List plugins
# Run plugin command
Integration with Other Tools
# Integration with Git
|
# Integration with Apache Jena
|
# Integration with RDFLib
|
Examples
Data Processing Pipeline
#!/bin/bash
# data-pipeline.sh
# Download and import multiple datasets
# Merge datasets
# Validate merged data
# Generate optimized indices
# Start production server
Development Workflow
# Create new project
# Import development data
# Start development server with hot reload
# Run tests
# Deploy to staging
Performance
Benchmarks
| Operation | Dataset Size | Time | Memory |
|---|---|---|---|
| Import (Turtle) | 1M triples | 15s | 120MB |
| Export (JSON-LD) | 1M triples | 12s | 85MB |
| Query (simple) | 10M triples | 50ms | 45MB |
| Query (complex) | 10M triples | 300ms | 180MB |
| Server startup | 10M triples | 2s | 200MB |
Optimization Tips
# Use streaming for large files
# Enable parallel processing
# Use binary format for faster loading
# Compress datasets
Troubleshooting
Common Issues
# Debug mode
# Verbose output
# Check dataset integrity
# Memory profiling
Error Recovery
# Recover corrupted dataset
# Validate and repair
# Restore from backup
Related Tools
oxirs-fuseki: SPARQL HTTP serveroxirs-chat: AI-powered chat interfaceoxirs-workbench: Visual RDF editor- Apache Jena: Java-based semantic web toolkit
- RDFLib: Python RDF processing library
Contributing
- Fork the repository
- Create a feature branch
- Add tests for new commands
- Update documentation
- Submit a pull request
License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Status
🚧 Alpha Release (v0.1.0-alpha.1) - September 30, 2025
Current alpha features:
- ✅ Basic data import/export
- ✅ Query execution
- ✅ Server management (basic)
- 🚧 Benchmarking tools (in progress)
- ⏳ Migration utilities (planned)
- ⏳ Interactive REPL (planned)
Note: This is an alpha release. Some features are incomplete and APIs may change.