www.openlinksw.com
docs.openlinksw.com

Book Home

Contents
Preface

Overview
Installation Guide
Quick Start & Tours
Sample ODBC & JDBC Applications
Conceptual Overview
Server Administration
Virtuoso Cluster Operation
Conductor Administration Interface
Data Access Interfaces
SQL Reference
Virtuoso Cluster Programming
SQL Procedure Language Guide
Database Event Hooks
Data Replication, Synchronization and Transformation Services
Web Application Development
XML Support
RDF Database and SPARQL
Data Representation
RDF and SPARQL API and SQL
SPARUL -- an Update Language For RDF Graphs
Dereferencable IRIs and RDF Linked Data
RDF Views -- Mapping Relational Data to RDF
SPARQL Implementation
RDF Inference in Virtuoso
Using Full Text Search in SPARQL
Aggregates in SPARQL
Virtuoso SPARQL Query Service
Virtuoso RDF Performance Tuning
RDF Insert Methods in Virtuoso
RDF Store Benchmarks
Virtuoso Sponger
Web Services
Runtime Hosting
Internet Services
Free Text Search
TPC C Benchmark Kit
Using Virtuoso with Tuxedo
Appendix
Virtuoso Functions Guide

Abstract

Starting with version 4.5, Virtuoso provides built-in support for SPARQL, the standard query language for RDF and the semantic web. Adoption of SPARQL with Virtuoso is effortless, as any existing SQL client applications and stored procedures can take advantage of SPARQL simply by using it in the place of or inside SQL queries. Additionally, Virtuoso offers the standard SPARQL protocol to HTTP clients.

This chapter discusses Virtuoso's RDF triple storage and query capabilities. This is divided into a discussion of the RDF data representation, the SPARQL and SQL API's, protocol support and standard compliance notes.

Table of Contents

17.1. Data Representation
17.1.1. IRI_ID Type
17.1.2. RDF_QUAD and other tables
17.1.3. Short, Long and SQL Values
17.1.4. Special Cases and XML Schema Compatibility
17.1.5. SQL Compiler Support - QUIETCAST option
17.2. RDF and SPARQL API and SQL
17.2.1. SPARQL Inline in SQL
17.2.2. API Functions
17.2.3. Useful Internal Functions
17.2.4. Default and Named Graphs
17.2.5. Calling SQL from SPARQL
17.3. SPARUL -- an Update Language For RDF Graphs
17.3.1. Introduction
17.3.2. Manage RDF Storage
17.3.3. Examples
17.3.4. More Detailed Examples
17.4. Dereferencable IRIs and RDF Linked Data
17.4.1. IRI Dereferencing For FROM Clauses, "define get:..." Pragmas
17.4.2. IRI Dereferencing For Variables, "define input:grab-..." Pragmas
17.4.3. Examples of other Web Resolvers
17.5. RDF Views -- Mapping Relational Data to RDF
17.5.1. Introduction
17.5.2. Rationale
17.5.3. Quad Map Patterns, Value and IRI Classes
17.5.4. Configuring RDF Storages
17.5.5. Translation Of SPARQL Triple Patterns To Quad Map Patterns
17.5.6. Describing Source Relational Tables
17.5.7. RDF Metadata Maintenance and Recovery
17.6. SPARQL Implementation
17.6.1. SPARQL and XQuery
17.7. RDF Inference in Virtuoso
17.7.1. Introduction
17.7.2. Making Rule Sets
17.7.3. Changing Rule Sets
17.7.4. Subclasses and Subproperties
17.7.5. OWL same-as Support
17.7.6. Implementation
17.7.7. Enabling Inference
17.7.8. Examples
17.8. Using Full Text Search in SPARQL
17.8.1. Specifying What to Index
17.8.2. Time of Indexing
17.8.3. Free-Text Indexes on RDF Views
17.9. Aggregates in SPARQL
17.9.1. Examples
17.9.2. Note on Aggregates and Inference
17.10. Virtuoso SPARQL Query Service
17.10.1. Introduction
17.10.2. Service Endpoint
17.10.3. Request Methods
17.10.4. Functions
17.10.5. Request Parameters
17.10.6. Response Codes
17.10.7. Response Format
17.10.8. Additional Response Formats -- SELECT
17.10.9. Examples
17.10.10. Implementation Notes
17.10.11. Virtuoso Semantic Bank end point
17.10.12. RDF proxy service
17.10.13. SPARQL ini service
17.11. Virtuoso RDF Performance Tuning
17.11.1. General
17.11.2. Loading
17.11.3. Using SPARUL
17.12. RDF Insert Methods in Virtuoso
17.12.1. HTTP Post using Content-Type: application/sparql-query
17.12.2. HTTP PUT using Content-Type: application/rdf+xml
17.12.3. SPARQL Insert using LOAD
17.12.4. SPARQL Insert via /sparql endpoint
17.12.5. SPARQL Insert via HTTP Post using Content-Type: application/sparql-query and ODS wiki
17.12.6. Using WebDAV
17.12.7. Using Virtuoso Crawler
17.12.8. Using SPARQL Query and Sponger (i.e. we Sponge the Resources in the FROM Clause or values for the graph-uri parameter in SPARQL protocol URLs)
17.12.9. Using Virtuoso PL APIs
17.12.10. Using SIMILE RDF Bank API
17.12.11. Using RDF NET
17.13. RDF Store Benchmarks
17.13.1. Introduction
17.13.2. Using bitmap indexes
17.14. Virtuoso Sponger
17.14.1. Virtuoso Cartridge-Supported Data Sources
17.14.2. Virtuoso Sponger Cartridge RDF Extractor
17.14.3. Extending SPARQL IRI Dereferencing with RDF Mappers