OpenLink Virtuoso Universal Server Documentation
Copyright © 1999 - 2020 OpenLink Software
Table of Contents
- Preface
-
- 1. Conventions
- 1. Overview
-
- 1.1. What is Virtuoso?
- 1.2. Why Do I Need Virtuoso?
- 1.3. Key Features of Virtuoso
-
- 1.3.1. XML Document Storage & Creation
- 1.3.2. Web Page Hosting
- 1.3.3. Web Services Creation & Hosting
- 1.3.4. WebDAV Compliant Web Store
- 1.3.5. Content Replication & Synchronization
- 1.3.6. Transparent Access To Heterogeneous Data
- 1.3.7. Mail Delivery & Retrieval Services
- 1.3.8. NNTP Aggregation & Serving
- 1.4. Virtuoso FAQ
-
- 1.4.1. What is the storage cost per triple?
- 1.4.2. What is the cost to insert a triple (for the insertion itself, as well as for updating any indices)?
- 1.4.3. What is the cost to delete a triple (for the deletion itself, as well as for updating any indices)?
- 1.4.4. What is the cost to search on a given property?
- 1.4.5. What data types are supported?
- 1.4.6. What inferencing is supported?
- 1.4.7. Is the inferencing dynamic, or is an extra step required before inferencing can be used?
- 1.4.8. Do you support full-text search?
- 1.4.9. What programming interfaces are supported? Do you support standard SPARQL protocol?
- 1.4.10. How can data be partitioned across multiple servers?
- 1.4.11. How many triples can a single server handle?
- 1.4.12. What is the performance impact of going from the billion to the trillion triples?
- 1.4.13. Do you support additional metadata for triples, such as time-stamps, security tags etc?
- 1.4.14. Should we use RDF for our large metadata store? What are the alternatives?
- 1.4.15. How multithreaded is Virtuoso?
- 1.4.16. Can multiple servers run off a single shared disk database?
- 1.4.17. Can Virtuoso run on a SAN?
- 1.4.18. How does Virtuoso join across partitions?
- 1.4.19. Does Virtuoso support federated triple stores? If there are multiple SPARQL end points, can Virtuoso be used to do queries joining between these?
- 1.4.20. How many servers can a cluster contain?
- 1.4.21. How do I reconfigure a cluster, adding and removing machines, etc?
- 1.4.22. How will Virtuoso handle regional clusters?
- 1.4.23. Is there a mechanism for terminating long running queries?
- 1.4.24. Can the user be asynchronously notified when a long running query terminates?
- 1.4.25. How many concurrent queries can Virtuoso handle?
- 1.4.26. What is the relative performance of SPARQL queries vs native relational queries?
- 1.4.27. Does Virtuoso Support Property Tables?
- 1.4.28. What performance metrics does Virtuoso offer?
- 1.4.29. What support do you provide for concurrent/multithreaded operation? Is your interface thread-safe?
- 1.4.30. What level of ACID properties is supported?
- 1.4.31. Do you provide the ability to atomically add a set of triples, where either all are added or none are added?
- 1.4.32. Do you provide the ability to add a set of triples, respecting the isolation property (so concurrent accessors either see none of the triple values, or all of them)?
- 1.4.33. What is the time to start a database, create/open a graph?
- 1.4.34. What sort of security features are built into Virtuoso?
- 1.5. Tips and Tricks
-
- 1.5.1. How Can I convert triples with geo properties to geometries to use spartial query?
- 1.5.2. How Can I execute SPARQL queries containing '$' character using ISQL?
- 1.5.3. How can I find on which table deadlocks occur?
- 1.5.4. How Can I configure parameters to avoid out of memory error?
- 1.5.5. What are "Generate RDB2RDF triggers" and "Enable Data Syncs with Physical Quad Store" Linked Data Views options?
- 1.5.6. How to Manage Date Range SPARQL queries?
- 1.5.7. How can I see which quad storages exist and in which quad storage a graph resides?
- 1.5.8. Can I drop and re-create the DefaultQuadStorage?
- 1.5.9. How to display only some information from RDF graph?
- 1.5.10. Is it possible to have the SPARQL endpoint on a different port than the Conductor?
- 1.5.11. How to enable the Virtuoso Entity Framework 3.5 ADO.Net Provider in Visual Studio 2010?
- 1.5.12. How Can I Control the normalization of UNICODE3 accented chars in free-text index?
- 1.5.13. How Can I define graph with virt:rdf_sponger option set to "on"?
- 1.5.14. How do I use SPARUL to change a selection of property values from URI References to Literals?
- 1.5.15. How is a Checkpoint performed against a Virtuoso Clustered Server?
- 1.5.16. How can I use CONSTRUCT with PreparedStatements?
- 1.5.17. How can perform SPARQL Updates without transactional log size getting exceed?
- 1.5.18. How can I write custom crawler using PL?
- 1.5.19. How Can I Get an exact mapping for a date?
- 1.5.20. How Can I Get certificate attributes using SPARQL?
- 1.5.21. How can I make Multi Thread Virtuoso connection using JDBC?
- 1.5.22. How Do I Perform Bulk Loading of RDF Source Files into one or more Graph IRIs?
- 1.5.23. How to exploit RDF Schema and OWL Inference Rules with minimal effort?
- 1.5.24. How can I dump arbitrary query result as N-Triples?
- 1.5.25. How do I bind named graph parameter in prepared statement?
- 1.5.26. How can I insert binary data to Virtuoso RDF storage in plain queries and with parameter binding via ADO.NET calls?
- 1.5.27. How can I insert RDF data from Visual Studio to Virtuoso?
- 1.5.28. How does default describe mode work?
- 1.5.29. What should I do if the Virtuoso Server is not responding to HTTP requests?
- 1.5.30. What CXML params are supported for the SPARQL URL pattern?
- 1.5.31. How can I replicate all graphs?
- 1.5.32. What is best method to get a random sample of all triples for a subset of all the resources of a SPARQL endpoint?
- 1.5.33. How can I replicate all graphs?
- 1.5.34. How can I use SPARQL to make Meshups?
- 1.5.35. How can I use the net_meter utility before starting the ingestion to a cluster?
- 1.5.36. How can I use the LOAD command to import RDF data?
- 1.5.37. How can I delete graphs using stored procedure?
- 1.5.38. How can I use SPARUL to add missing triples to a Named Graph?
- 1.5.39. How can I use the SPARQL IF operator for SPARQL-BI endpoint?
- 1.5.40. How can I handle checkpoint condition?
- 1.5.41. How can I incorporate Content Negotiation into RDF bulk loaders?
- 1.5.42. Virtuoso Linked Data Deployment In 3 Simple Steps?
- 1.5.43. What are the differences between create, drop, clear and delete Graph?
- 1.5.44. How can I perform search for predicate values?
- 1.5.45. How can I use INSERT via CONSTRUCT Statements?
- 1.5.46. How to clear graphs which are related to empty graphs?
- 1.5.47. How can I use sub-queries to enable literal values based joins?
- 1.5.48. How can I execute query with labels preference order?
- 1.5.49. How can I get object datatype?
- 1.5.50. How Can I Backup and Restore individual table(s) and individual index(s)?
- 1.5.51. What bif:contains free-text options can I use?
- 1.5.52. What SPARQL Endpoint Protection Methods can I use?
- 1.5.53. How do I assign SPARQL role to SQL user?
- 1.5.54. How Do I Gecode Data?
- 1.5.55. How Can I Delete a Specific Triple Across Graphs?
- 1.5.56. How Do I Use NOT EXISTS in SPARQL Query?
- 1.5.57. How Do I Use MINUS in SPARQL Query?
- 1.5.58. How Do I Use Transitive SPARQL Query Options and Exploit Inference Rules?
- 1.5.59. What is the difference between the functions SAMPLE, GROUP_CONCAT and GROUP_DIGEST?
- 1.5.60. How Do I use CONSTRUCT with objects which are value of aggregate function?
- 1.5.61. How Do I Clean Up Errant Data using SPARQL Update Language?
- 1.5.62. How to Use SPARQL to add missing isDefinedBy relations to an Ontology?
- 1.5.63. How Can I execute load of sql dump from jdbc?
- 1.5.64. How Can I Use MODIFY to update triples?
- 1.5.65. How Can I execute INSERT/DELETE (SPARUL) statements against a WebID? protected SPARQL endpoint?
- 1.5.66. How can I make HTTP Logging and Recording in Virtuoso?
- 1.5.67. Quad Store Data Loading via Virtuoso's In-built Content Crawler?
- 1.5.68. What is the ShortenLongURIs Virtuoso configuration parameter?
- 1.5.69. How Can I send SOAP requests to Virtuoso SPARQL Endpoint?
- 1.5.70. How Can I Delete Triples containing blank nodes?
- 1.5.71. How Can I Get a full explain plan for a simple SPARQL query?
- 1.5.72. How Can I Use Expressions inside CONSTRUCT, INSERT and DELETE {...} Templates?
- 1.5.73. How to optimize bif:dateadd in SPARQL query using selective index-friendly filter?
- 1.5.74. How can I Determine the data usage across a Virtuoso instance?
- 1.5.75. How to discover the capabilities of a SPARQL endpoint to enhancing SPARQL-FED usage from Virtuoso instances?
- 1.5.76. How to split a urlencoded ";-" separated list of urls in a SPARQL query?
- 1.5.77. How to Update Large SPARQL Data avoiding due to database checkpoint abortion?
- 1.5.78. How to Manage SSL Protocols and Ciphers used with Virtuoso?
- 2. Installation Guide
-
- 2.1. Virtuoso on All platforms Commmon Specifics
-
- 2.1.1. Installation Requirements
- 2.1.2. Operational Requirements
- 2.1.3. Operating System Support
- 2.1.4. Limits
- 2.2. Virtuoso for Windows
-
- 2.2.1. Before You Start
- 2.2.2. Getting To Know Your Virtuoso Components
- 2.2.3. Installation Steps
- 2.2.4. Post Installation
- 2.2.5. Starting Your Virtuoso Server
- 2.2.6. Creating and Deleting Virtuoso Services
- 2.2.7. Configuring Virtuoso Client Components
- 2.2.8. Default passwords
- 2.3. Installing the Virtuoso Universal Server on Unix-like OS (AIX, HP-UX, Linux, Solaris, etc.)
-
- 2.3.1. Installation
- 2.3.2. Configuration
- 2.3.3. Demo Database
- 2.4. Virtuoso for Mac OS X
-
- 2.4.1. Before You Install
- 2.4.2. Virtuoso Drag and Drop Installer for Mac OS X
- 2.4.3. Installing Virtuoso 6 or earlier
- 2.4.4. Configuration
- 2.4.5. Post Installation
- 2.4.6. Configuring an ODBC Data Source
- 2.4.7. Testing an ODBC Data Source
- 2.4.8. Default passwords
- 2.4.9. Demo Database
- 2.5. OpenLink License Management
-
- 2.5.1. License Files
- 2.5.2. License Manager
- 2.5.3. Debugging License Problems
- 2.6. Virtuoso ADO.Net Data Grid Form Application
- 2.7. Using Visual Studio 2008 to Build an Entity Frameworks based Windows Form Application
-
- 2.7.1. Pre-requisites
- 2.7.2. Create the School database and schema
- 2.7.3. Generating the School Entity Data Mode
- 2.7.4. Querying Entities and Associations
- 2.7.5. Inserting and Updating Data
- 2.8. Using Visual Studio 2008 to Build an ADO.NET Data Services based Application
- 2.9. Windows Form Application for accessing Virtuoso RDF data via SPASQL using the Virtuoso ADO.Net Provider
-
- 2.9.1. Pre-requisites
- 2.9.2. Creating the Application
- 2.9.3. Extending RDFDemo to Allow Dereferencing of External IRIs
- 2.9.4. Extending RDFDemo to Display More Compact Labels
- 2.9.5. Modifying the Northwind Ontology to Add Labels
- 2.9.6. Extending RDFDemo to Display Images and Longer Text Fields.
- 2.9.7. Extending RDFDemo To Make The Property Labels Clickable
- 2.10. Creating a Web Browser Application to Access RDF Data Using The Virtuoso ADO.Net Provider
-
- 2.10.1. Pre-requisites
- 2.10.2. Creating the Web Service
- 2.10.3. Creating the Browser Application
- 2.10.4. Deploy With IIS
- 2.11. Creating a Silverlight Application to consume the service
-
- 2.11.1. Pre-requisites
- 2.11.2. Creating the Application for Silverlight.
- 2.12. Creating A Simple .NET RIA Services Application To Display Data From Virtuoso
-
- 2.12.1. Pre-requisites
- 2.12.2. Creating the Application
- 2.12.3. Displaying RDF Data
- 2.12.4. Next Steps
- 2.13. Creating a .Net RIA Services Application That Will Update Virtuoso Data
-
- 2.13.1. Pre-requisites
- 2.13.2. Creating the Application
- 2.13.3. Propagate Updates to Virtuoso
- 2.14. Cluster Installation and Configuration
-
- 2.14.1. Virtuoso Elastic Cluster Installation & Configuration -- Version 7.x
- 2.14.2. Virtuoso default Cluster Installation and Configuration
- 2.14.3. Backup and Restore
- 2.14.4. Cluster Configuration
- 2.14.5. HTTP Service Configuration on Subordinate Nodes of a Virtuoso Cluster
- 2.14.6. Troubleshooting Tips
- 2.14.7. See Also:
- 3. Quick Start & Tours
-
- 3.1. Where to Start
-
- 3.1.1. Default Passwords
- 3.1.2. Post-Installation Sanity Check
- 3.1.3. Administering Your Virtuoso Installation
- 3.2. Client Connections
- 3.3. Virtual Database Server
-
- 3.3.1. Configuring Your ODBC Data Sources
- 3.3.2. Datasource Check
- 3.3.3. Demo Datasource Query
- 3.3.4. Linking Remote Tables Into Virtuoso
- 3.3.5. Listing or Unlinking Tables
- 3.3.6. Querying Linked Tables
- 3.4. Web Server
-
- 3.4.1. Virtual Directories
- 3.4.2. Multi Homing
- 3.5. WebDAV
-
- 3.5.1. Web Folders
- 3.6. Web Services
- 3.7. Exposing Persistent Stored Modules as Web Services
- 3.8. VSMX - Virtuoso Service Module for XML
- 3.9. SQL to XML
-
- 3.9.1. FOR XML Execution Modes
- 3.9.2. Tables With XML Columns
- 3.10. NNTP
-
- 3.10.1. NNTP Server Setup
- 3.10.2. Local & Remote Groups
- 3.10.3. NNTP Client Setup
- 3.11. Dynamic Web Pages
- 3.12. VSP Examples
-
- 3.12.1. Simple HTML FORM usage
- 3.12.2. Manipulating Database Data in VSP
- 3.12.3. Simple Tutorial
- 3.13. Third-Party Runtime Typing, Hosting & User Defined Types
- 3.14. Troubleshooting Tips
-
- 3.14.1. General Tips
- 3.14.2. DBMS Server will not start
- 3.14.3. Case Mode
- 4. Sample ODBC & JDBC Applications
-
- 4.1. Binary & Source File Locations
- 4.2. Sample ODBC Applications
-
- 4.2.1. Mac OS X
- 4.2.2. Windows 95/98/NT/2000
- 4.2.3. Linux & UNIX
- 4.2.4. MS DTC ODBC Sample Application
- 4.2.5. MS DTC OLE DB Sample Application
- 4.3. Sample JDBC Applications & Applets
-
- 4.3.1. JDBCDemo Java Application
- 4.3.2. ScrollDemo2 Java Application
- 4.3.3. ScrollDemo2 Java Applet
- 4.3.4. JBench Application
- 4.3.5. JTA Demo Application
- 5. Conceptual Overview
-
- 5.1. Core Database Engine
-
- 5.1.1. Logical Data Model
- 5.1.2. Data Types
- 5.1.3. Virtuoso Column Store
- 5.1.4. Explicit Vectoring of Procedural Code
- 5.1.5. Locking
- 5.1.6. Internationalization & Unicode
- 5.1.7. Creating A Collation
- 5.2. Virtual Database (VDB) Engine
- 5.3. Web & Internet Protocol Support
- 5.4. Web Services Protocol Support
- 5.5. Architecture
- 6. Administration
-
- 6.1. Database Server Administration
-
- 6.1.1. Database
- 6.1.2. Virtual Database
- 6.1.3. Virtuoso User Model
- 6.1.4. VAD - Virtuoso Application Distribution
- 6.1.5. Data Backup & Recovery
- 6.1.6. Performance diagnostics
- 6.1.7. Performance Tuning
- 6.2. HTML based Administration Console (Conductor) Guide
-
- 6.2.1. Virtuoso Conductor Administration
- 6.2.2. Runtime Hosting
- 6.2.3. Web Services
- 6.2.4. WebDAV Administration
- 6.2.5. Internet Domains
- 6.2.6. XML Services
- 6.2.7. Query Tools
- 6.2.8. Replication & Synchronization
- 6.2.9. Database Administration
- 6.2.10. Conductor Linked Data Administration
- 6.2.11. Conductor News Server Administration
- 6.3. Virtuoso Cluster Operation
-
- 6.3.1. General
- 6.3.2. Setting up a Cluster
- 6.3.3. Using Clustering with an Existing Database
- 6.3.4. Partitioning
- 6.3.5. Transactions
- 6.3.6. Administration
- 6.3.7. Cluster Network Diagnostics and Metrics
- 6.3.8. Elastic Cluster Operations
- 6.3.9. Setting CPU Affinity
- 6.4. Virtuoso Cluster Fault Tolerance
-
- 6.4.1. Introduction
- 6.4.2. Sample Configuration
- 6.4.3. Transactions
- 6.4.4. Dividing Virtuoso Hosts Over Physical Machines
- 6.4.5. Managing Availability
- 6.4.6. Optimizing Schema for Fault Tolerance
- 6.4.7. Interpreting Status Messages
- 6.4.8. Administration API
- 6.4.9. RDF Specifics
- 6.4.10. Fault Tolerance Programming
- 7. Data Access Interfaces
-
- 7.1. ADO.Net Data Provider
-
- 7.1.1. Introduction
- 7.1.2. Installation & Configuration
- 7.1.3. Programmers Guide
- 7.2. Interactive SQL Utility
-
- 7.2.1. Invoking ISQL
- 7.2.2. ISQL Commands
- 7.2.3. ISQL Macro Substitution
- 7.2.4. ISQL Variables
- 7.2.5. Using isql as a General Purpose Test Driver
- 7.3. Virtuoso Driver for ODBC
-
- 7.3.1. Windows ODBC Driver Configuration
- 7.3.2. Using X509 Certificates With ODBC Connection
- 7.3.3. Manually configuring a Virtuoso ODBC DSN on Unix
- 7.3.4. ODBC Compliance
- 7.3.5. Virtuoso Scrollable Cursor Engine
- 7.3.6. Effect of Connection & Statement Options
- 7.3.7. Efficient Use of API
- 7.3.8. Executing SQL from Python script
- 7.3.9. Extensions
- 7.3.10. Examples
- 7.4. Virtuoso Driver for JDBC
-
- 7.4.1. Virtuoso Drivers for JDBC Packaging
- 7.4.2. Virtuoso Driver For JDBC URL Format
- 7.4.3. Virtuoso Driver JDBC 3.0 features
- 7.4.4. Virtuoso Driver JDBC 4.0 features
- 7.4.5. Installation & Configuration Steps
- 7.4.6. Virtuoso JDBC Driver Hibernate Support
- 7.4.7. Examples
- 7.5. OLE DB Provider for Virtuoso
-
- 7.5.1. Using the OLE DB Provider for Virtuoso
- 7.5.2. Known Limitations
- 7.5.3. Data Types
- 7.5.4. Metadata
- 7.5.5. Supported Interfaces
- 7.5.6. Data Source Objects
- 7.5.7. Sessions
- 7.5.8. Rowsets
- 7.6. Virtuoso In-Process Client
- 7.7. Unix Domain Socket Connections
- 7.8. Virtuoso Data Access Clients Connection Fail over and Load Balancing Support
- 8. Virtual Database Engine
-
- 8.1. Virtual Database (VDB) Engine
-
- 8.1.1. The Need for VDB Engines
- 8.1.2. First Generation Virtual Database Products
- 8.1.3. VDB Implementation Issues
- 8.1.4. VDB Engine Components
- 8.2. Using Microsoft Entity Frameworks to Access Oracle Schema Objects with Virtuoso
- 8.3. Using Microsoft Entity Frameworks to Access Progress Schema Objects with Virtuoso
-
- 8.3.1. Install and configure OpenLink ODBC Driver for Progress (SQL-92)
- 8.3.2. Install and configure OpenLink Virtuoso Universal Server
- 8.3.3. Linking Progress tables into Virtuoso
- 8.3.4. Creating EDM in Visual Studio 2008
- 8.3.5. Manually creating EDM Associations (FKs) for the Progress isports database
- 8.3.6. Using EDM to create Entity Framework based applications
- 8.4. Using Microsoft Entity Frameworks to Access Ingres Schema Objects with Virtuoso
-
- 8.4.1. Install and configure OpenLink ODBC Driver for Ingres
- 8.4.2. Install and configure OpenLink Virtuoso Universal Server
- 8.4.3. Linking Ingres tables into OpenLink Virtuoso
- 8.4.4. Creating EDM in Visual Studio 2008
- 8.4.5. Manually creating EDM Associations (FKs) for the Ingres Tutorial database
- 8.4.6. Using EDM to create Entity Framework based applications
- 8.5. Using Microsoft Entity Frameworks to Access Informix Schema Objects with Virtuoso
- 8.6. Using Microsoft Entity Frameworks to Access DB2 Schema Objects with Virtuoso
- 8.7. Using Microsoft Entity Frameworks to Access Sybase Schema Objects with Virtuoso
-
- 8.7.1. Install and configure OpenLink ODBC Driver for Sybase
- 8.7.2. Install and configure OpenLink Virtuoso Universal Server
- 8.7.3. Linking Sybase tables into OpenLink Virtuoso
- 8.7.4. Creating EDM in Visual Studio 2008
- 8.7.5. Manually creating EDM Associations (FKs) for the Sybase pubs2 database
- 8.7.6. Using EDM to create Entity Framework based applications
- 8.8. Using Microsoft Entity Frameworks to Access MySQL Schema Objects with Virtuoso
- 8.9. Using Microsoft Entity Frameworks to Access PostgreSQL Schema Objects with Virtuoso
- 8.10. Using Microsoft Entity Frameworks to Access ODBC to JDBC Bridge Schema Objects with Virtuoso
-
- 8.10.1. Install and configure OpenLink ODBC Driver for ODBC to JDBC Bridge
- 8.10.2. Install and configure OpenLink Virtuoso Universal Server
- 8.10.3. Linking ODBC to JDBC Bridge tables into OpenLink Virtuoso
- 8.10.4. Creating EDM in Visual Studio 2008
- 8.10.5. Using EDM to create Entity Framework based applications
- 8.11. Using Microsoft Entity Frameworks to Access ODBC to ODBC Bridge Schema Objects with Virtuoso
- 8.12. Using Microsoft Entity Frameworks to Access Firebird Schema Objects with Virtuoso
- 8.13. Using Microsoft Entity Frameworks to Access Microsoft SQL Server Schema Objects with Virtuoso
-
- 8.13.1. Install and configure OpenLink ODBC Driver for Microsoft SQL Server
- 8.13.2. Install and configure OpenLink Virtuoso Universal Server
- 8.13.3. Linking Microsoft SQL Server tables into OpenLink Virtuoso
- 8.13.4. Creating EDM in Visual Studio 2008
- 8.13.5. Using EDM to create Entity Framework based applications
- 8.14. Parallel Operations and Bulk Data Transfer with Remote Tables
- 9. SQL Reference
-
- 9.1. Datatypes
-
- 9.1.1. Date Literals
- 9.1.2. Casting
- 9.1.3. Time & Date Manipulation
- 9.1.4. Declaring Collations of Expressions
- 9.2. User Defined Types
-
- 9.2.1. CREATE TYPE Statement
- 9.2.2. ALTER TYPE Statement
- 9.2.3. DROP TYPE Statement
- 9.2.4. CREATE METHOD Statement
- 9.2.5. Type Instances
- 9.2.6. Instance References
- 9.2.7. NEW Operator
- 9.2.8. Finding Methods - Method Signatures Generation & Comparison
- 9.2.9. Getting & Setting Member Values of Type Instances (member observers & mutators)
- 9.2.10. Calling Static Methods
- 9.2.11. Calling Instance Methods
- 9.2.12. Serializing & Deserializing Type Instances
- 9.2.13. User Defined Types Utility Functions
- 9.2.14. Hosted Foreign Objects in Virtuoso
- 9.2.15. Using User Defined Types to Represent SOAP Structures
- 9.2.16. Consuming Third-Party SOAP Services via User Defined Types
- 9.2.17. UDT Security
- 9.3. XML Column Type
- 9.4. Identifier Case & Quoting
- 9.5. Wide Character Identifiers
- 9.6. Qualified Names
-
- 9.6.1. Qualifiers and Owners
- 9.6.2. Default Qualifiers
- 9.6.3. USE Statement, USE identifier
- 9.7. Literals, Brace Escapes
-
- 9.7.1. Strings
- 9.7.2. Numbers
- 9.7.3. ODBC Brace Escapes
- 9.7.4. Hexadecimal Literals
- 9.7.5. Binary Literals
- 9.8. CREATE TABLE Statement
-
- 9.8.1. Syntax
- 9.8.2. NOT NULL
- 9.8.3. IDENTITY (Auto Increment)
- 9.8.4. DEFAULT
- 9.8.5. PRIMARY KEY Constraint
- 9.8.6. UNDER
- 9.8.7. FOREIGN KEY Constraint
- 9.8.8. The CHECK Constraint
- 9.8.9. The WITH SCHEMA Constraint
- 9.9. DROP TABLE Statement
- 9.10. CREATE INDEX Statement
- 9.11. DROP INDEX Statement
- 9.12. ALTER TABLE Statement
-
- 9.12.1. Adding a CHECK Constraint
- 9.13. CREATE VIEW Statement
- 9.14. CREATE XML SCHEMA Statement
- 9.15. DROP XML SCHEMA Statement
- 9.16. Sequence Objects
- 9.17. INSERT Statement
-
- 9.17.1. INSERT SOFT
- 9.17.2. INSERT REPLACING
- 9.18. UPDATE Statement
- 9.19. SELECT Statement
-
- 9.19.1. Syntax
- 9.19.2. Description
- 9.19.3. Column Aliasing - AS Declaration
- 9.19.4. Join examples
- 9.19.5. Ordering and Grouping
- 9.19.6. Grouping Sets
- 9.19.7. Derived Tables
- 9.19.8. Query Expressions
- 9.19.9. LIKE Predicate & Search Patterns
- 9.19.10. The TOP SELECT Option
- 9.19.11. CASE, NULLIF, COALESCE, CAST Value Expressions
- 9.19.12. SELECT BREAKUP
- 9.20. COMMIT WORK, ROLLBACK WORK Statement
- 9.21. CHECKPOINT, SHUTDOWN Statement
-
- 9.21.1. Checkpoint & Page Remapping
- 9.22. Stored Procedures as Views & Derived Tables
-
- 9.22.1. Procedure Table Parameters
- 9.22.2. Procedure Table Result Sets
- 9.22.3. Procedure Tables & Security
- 9.22.4. Procedure Table Cost and Join Order
- 9.22.5. Limitations
- 9.22.6. Procedure Table Examples
- 9.23. GRANT, REVOKE Statement
- 9.24. SET Statement
-
- 9.24.1. ISOLATION
- 9.24.2. LOCK_ESCALATION_PCT
- 9.24.3. transaction_timeout
- 9.24.4. PARAM_BATCH
- 9.25. Anytime Queries
- 9.26. Best Effort Union
- 9.27. Standard and User-Defined Aggregate Functions
-
- 9.27.1. Create Aggregate Statement
- 9.27.2. Drop Aggregate Statement
- 9.27.3. Examples of User-Defined Aggregates
- 9.28. Virtuoso SQL Optimization
-
- 9.28.1. Optimization Techniques
- 9.28.2. Query Options
- 9.28.3. Query Optimization Diagnostics
- 9.28.4. ANY ORDER
- 9.28.5. VDB Statistics for the SQL Compiler Collection
- 9.29. SQL Inverse Functions
-
- 9.29.1. Updating through Inverses
- 9.30. SQL Grammar
- 9.31. Bitmap Indices
-
- 9.31.1. Bitmap Indices and Transactions
- 9.31.2. Performance Implications
- 9.31.3. Physical Structure and Overheads
- 9.32. Transitivity in SQL
- 9.33. Fast Phrase Match Processor
-
- 9.33.1. Phrases, Phrase Sets and Phrase Classes
- 9.33.2. Phrase Set Configuration API
- 9.33.3. Advertisers and Advertisement Rules
- 9.33.4. Example
- 9.34. Geometry Data Types and Spatial Index Support
-
- 9.34.1. Spatial References
- 9.34.2. Geometric Objects
- 9.34.3. Precision of Geometries
- 9.34.4. Predicates
- 9.34.5. Querying Geometric Relations
- 9.34.6. Defining a Geometry Index
- 9.34.7. Insert and Delete
- 9.34.8. Using Geometries in Client Applications and SQL Procedures
- 9.34.9. Virtuoso 7.1+ Geo Spatial Data type and function enhancements
- 9.35. SQL Bulk Load, ELT, File Tables and Zero Load Operations
-
- 9.35.1. File Tables
- 9.35.2. Parallel Insert With File Tables and Transactions
- 10. Virtuoso Cluster Programming
-
- 10.1. Cluster SQL Execution Model
- 10.2. Sequences, Identity and Registry
- 10.3. SQL Options
-
- 10.3.1. Parallel INSERT Options
- 10.3.2. INSERT KEY Option
- 10.4. Calling Procedures in Cluster
- 10.5. Partition Functions
- 10.6. Distributed Pipe
-
- 10.6.1. SQL optimization and Dpipe
- 10.7. Cluster and RDF
- 10.8. Cluster, Virtual Database and Replication
- 10.9. Troubleshooting
- 11. SQL Procedure Language Guide
-
- 11.1. General Principles
- 11.2. Scope of Declarations
- 11.3. Data Types
- 11.4. Handling Result Sets
- 11.5. Result Sets and Array Parameters
- 11.6. Exception Semantics
- 11.7. Virtuoso/PL Syntax
-
- 11.7.1. Create Procedure Statement
- 11.7.2. Grant Execute Statement
- 11.7.3. Stored Procedures as Views & Derived Tables
- 11.7.4. Keyword and Optional Procedure Arguments
- 11.7.5. if, while, for, foreach statements
- 11.7.6. compound statement
- 11.7.7. goto, return statements
- 11.7.8. whenever statement
- 11.7.9. call, assignment statements
- 11.7.10. open, fetch, close, select ... into statements
- 11.7.11. FOR Select Statement
- 11.7.12. SET statement
- 11.7.13. SET Triggers
- 11.7.14. Vectored Procedures
- 11.7.15. FOR VECTORED Statement
- 11.7.16. Limitations on Vectored Code
- 11.7.17. Data Types and Vectoring
- 11.8. Execute Stored Procedures via SELECT statement
- 11.9. Execute Stored Procedures In Background
- 11.10. CREATE ASSEMBLY Syntax - External Libraries
- 11.11. CREATE PROCEDURE Syntax - External hosted procedures
- 11.12. Asynchronous Execution and Multithreading in Virtuoso/PL
-
- 11.12.1. Synchronization
- 11.13. Performance Tips
-
- 11.13.1. Remember the following:
- 11.14. Procedures and Transactions
- 11.15. Distributed Transaction & Two Phase Commit
-
- 11.15.1. Initiating Distributed Transactions
- 11.15.2. Responding to Distributed Transactions
- 11.15.3. 2PC Log & Recovery
- 11.15.4. Error Codes
- 11.16. Triggers
-
- 11.16.1. The CREATE TRIGGER statement
- 11.16.2. Triggers on Views
- 11.16.3. The DROP TRIGGER statement
- 11.16.4. Triggers and Virtual Database
- 11.17. Character Escaping
-
- 11.17.1. Statement Level
- 11.17.2. Connection Level
- 11.17.3. Server Default
- 11.18. Virtuoso/PL Scrollable Cursors
-
- 11.18.1. Declaring a Scrollable Cursor
- 11.18.2. Opening a Scrollable Cursor
- 11.18.3. Fetching Data From a Scrollable Cursor
- 11.18.4. Virtuoso/PL Scrollable Cursor Examples
- 11.18.5. FORWARD-ONLY (traditional cursor statement) Example
- 11.18.6. DYNAMIC (traditional cursor statement) Example
- 11.18.7. KEYSET (traditional cursor statement) Example
- 11.19. Virtuoso PL Modules
- 11.20. Handling Conditions In Virtuoso/PL Procedures
-
- 11.20.1. Declaring Condition Handlers
- 11.20.2. Stack Trace Reporting On Sql Error Generation
- 11.21. Procedure Language Debugger
-
- 11.21.1. Branch Coverage
- 11.21.2. Coverage Functions
- 11.22. Row Level Security
-
- 11.22.1. Row Level Security Functions
- 11.23. Vectored Execution and Query Parallelization
- 12. Database Event Hooks
-
- 12.1. Database Startup
- 12.2. Database Connections
- 12.3. Database Logins
- 12.4. Database Disconnections
- 12.5. Database Shutdown
- 12.6. SQL Statement Preparation
- 12.7. SQL Parse Tree
-
- 12.7.1. Notes on Special Features of the Parse Tree
- 12.7.2. SQL Security and Parse Trees
- 12.7.3. Debugging with Parse Trees
- 12.8. WebDAV Logins
- 12.9. Associating Auxiliary Data With A Connection
- 13. Data Replication, Synchronization and Transformation Services
-
- 13.1. Introduction
-
- 13.1.1. Snapshot replication
- 13.1.2. Transactional replication
- 13.2. Snapshot Replication
-
- 13.2.1. Non incremental snapshot replication
- 13.2.2. Incremental snapshot replication
- 13.2.3. Command reference
- 13.2.4. Bi-Directional Snapshot Replication
- 13.2.5. Registry variables
- 13.2.6. Heterogeneous snapshot replication
- 13.2.7. Data type mappings
- 13.2.8. Objects created by incremental snapshot replication
- 13.2.9. Objects created by bi-directional snapshot replication
- 13.2.10. Replication system tables
- 13.2.11. Table snapshot logs
- 13.3. Transactional Replication
-
- 13.3.1. Publishable Items
- 13.3.2. Errors in Replication
- 13.3.3. Publisher Transactional Replication Functions
- 13.3.4. Subscriber Functions
- 13.3.5. Common Status Functions
- 13.3.6. Bi-Directional Transactional Replication
- 13.3.7. Purging replication logs
- 13.3.8. Objects created by transactional replication
- 13.4. Virtuoso scheduler
-
- 13.4.1. SYS_SCHEDULED_EVENT
- 13.5. Transactional Replication Example
- 13.6. Replication Logger Sample
-
- 13.6.1. Configuration of the Sample
- 13.6.2. Synchronization
- 13.6.3. Running the Sample
- 13.6.4. Notes on the Sample's Dynamics
- 14. Web Application Development
-
- 14.1. The HTTP Server
-
- 14.1.1. HTTP Server Base Configuration
- 14.1.2. Virtual Directories
- 14.1.3. Authentication
- 14.1.4. Session Management
- 14.1.5. Writing Your Own Authentication and Session Handling
- 14.1.6. Cancellation of Web Requests
- 14.1.7. Virtuoso WebRobot API
- 14.1.8. HTTP Server Extensions
- 14.1.9. Chunked Transfer Encoding
- 14.1.10. Using Virtuoso Server capabilities via Apache Web Server
- 14.1.11. Setting Up the Virtuoso HTTPS Listener
- 14.2. Web Services ACL (Access Control List)
-
- 14.2.1. General purpose ACLs
- 14.2.2. ACL Definition/Removal
- 14.2.3. Using ACL's Within Application Logic
- 14.2.4. Predefined ACLs
- 14.3. Virtuoso Server Pages (VSP)
-
- 14.3.1. VSP Markup & Basic Functions
- 14.3.2. Access Request Information
- 14.3.3. Errors in Page Procedures
- 14.3.4. /INLINEFILE HTTP Server Pseudo-Directory
- 14.3.5. Beyond Basics
- 14.3.6. Long HTTP Transactions
- 14.3.7. Using chunked encoding in HTTP 1.1
- 14.3.8. Making Simple Dynamic Web Pages
- 14.3.9. Generation of non-HTML output
- 14.3.10. Post VSP XSLT Transformation Mode
- 14.3.11. XML & XSLT Generated VSP Pages
- 14.4. Virtuoso Server Pages for XML (VSPX)
-
- 14.4.1. Processing Model
- 14.4.2. Object Model
- 14.4.3. Keeping Page and Session State
- 14.4.4. Application Code
- 14.4.5. A Simple Example
- 14.4.6. VSPX Event Handler Parameters
- 14.4.7. Registering a VSPX Event Callbacks
- 14.4.8. Commonly Used Types of Attributes of VSPX Controls
- 14.4.9. VSPX Controls
- 14.4.10. XForms rendering
- 14.4.11. XMLSchema for VSPX page
- 14.5. Deploying ASP.Net Web Applications
-
- 14.5.1. Programming Concepts
- 14.5.2. ASP.Net Deployment & Configuration
- 14.5.3. The Mono Project
- 14.5.4. Migrating ASP.Net Applications to Virtuoso
- 14.6. ASMX Web Service Hosting
- 14.7. Blogging & Weblogs
-
- 14.7.1. The Virtuoso Blogging Application
- 14.7.2. Blogger Clients Compatibility
- 14.7.3. Blogs Management User Interface
- 14.7.4. Community Blog Site
- 14.7.5. Blogger API
- 14.7.6. MetaWeblog API
- 14.7.7. Movable Type API
- 14.7.8. Atom API
- 14.7.9. XML-RPC Endpoint Configuration
- 14.7.10. Blog Hooks - Customizing the Blog Server
- 14.7.11. Blogger Client API
- 14.7.12. xmlStorageSystem API
- 14.7.13. User's Blog quota
- 14.7.14. Posting a message in to the Blog
- 14.7.15. Multi-author blogging
- 14.7.16. Posting a comments
- 14.7.17. Blog Post Upstreaming (bridging)
- 14.7.18. Weblogs API
- 14.7.19. Subscriptions
- 14.7.20. Trackback API
- 14.7.21. Pingback API
- 14.7.22. E-mail Notifications
- 14.7.23. Comments tracking options
- 14.7.24. Subscription Harmonizer API
- 14.7.25. Mobile Blogging (Moblog)
- 14.7.26. Posting a dynamic content
- 14.7.27. Notification Services
- 14.7.28. Rendering the RSS feed in WML format
- 14.8. Deploying PHP Applications
-
- 14.8.1. Building the Virtuoso Server With PHP Extension
- 14.8.2. PHP Extension Functions
- 14.8.3. PHP Examples
- 14.9. Deploying JSP Applications
-
- 14.9.1. Environment Setup & Verification
- 14.10. Perl Hosting
- 14.11. Python Hosting
- 14.12. Ruby Hosting
- 15. XML Support
-
- 15.1. Rendering SQL Queries as XML (FOR XML Clause)
-
- 15.1.1. FOR XML EXPLICIT Mode
- 15.1.2. Examples of FOR XML
- 15.1.3. Functions
- 15.1.4. FOR XML Syntax
- 15.2. XML Composing Functions in SQL Statements (SQLX)
- 15.3. Virtuoso XML Services
-
- 15.3.1. XPATH Implementation and SQL
- 15.3.2. XPATH Query Options
- 15.3.3. XML Views - Representing SQL Data as Dynamic and Persistent XML
- 15.3.4. External Entity References in Stored XML
- 15.3.5. Using XPATH in SQL Queries and Procedures
- 15.3.6. XQUERY and XML view
- 15.3.7. Mapping Schemas as XML Views
- 15.3.8. Differences Between SQLX, FOR XML and XML Views
- 15.4. Querying Stored XML Data
-
- 15.4.1. XPATH_CONTAINS SQL Predicate
- 15.4.2. Using xpath_eval()
- 15.4.3. External Entity References in Stored XML
- 15.4.4. XML Schema & DTD Functions
- 15.4.5. Using XML and Free Text
- 15.4.6. XCONTAINS predicate
- 15.4.7. text-contains XPath Predicate
- 15.4.8. XML Free Text Indexing Rules
- 15.4.9. XML Processing & Free Text Encoding Issues
- 15.5. Using UpdateGrams to Modify Data
-
- 15.5.1. Updategrams Basics
- 15.5.2. Elements Description
- 15.5.3. Determining Actions
- 15.5.4. Using Input Parameters
- 15.5.5. Examples
- 15.6. XML Templates
-
- 15.6.1. Syntax
- 15.6.2. Saving SQL Queries to XML Template
- 15.6.3. Saving XQUERY Queries to XML Template
- 15.6.4. Saving XPATH Queries to XML Template
- 15.6.5. Programmatic Examples
- 15.7. XML DTD and XML Schemas
-
- 15.7.1. XML Document Type Definition (DTD)
- 15.7.2. Configuration Options of the DTD Validator
- 15.7.3. XML Schema Definition Language
- 15.7.4. XML Schema Functions
- 15.7.5. XML Schema & SOAP
- 15.8. XQuery 1.0 Support
-
- 15.8.1. Types of XQuery Expressions
- 15.8.2. Details of XQuery Syntax
- 15.8.3. Pre-compilation of XPath and XQuery Expressions
- 15.9. XSLT Transformation
-
- 15.9.1. Namespaces
-
15.9.2. The
<xsl:output>
Tag - 15.9.3. External Parameters in XSLT Stylesheets
- 15.9.4. Functions
- 15.9.5. XSLT Examples
- 15.9.6. XPath Function Extensions for XSLT
- 15.9.7. Status Of XSLT And XPath Implementation
- 15.10. XMLType
- 15.11. Changing XML entities in DOM style
- 16. RDF Data Access and Data Management
-
- 16.1. Data Representation
-
- 16.1.1. IRI_ID Type
- 16.1.2. RDF_BOX Type
- 16.1.3. RDF_QUAD and other tables
- 16.1.4. Short, Long and SQL Values
- 16.1.5. Programatically resolving DB.DBA.RDF_QUAD.O to SQL
- 16.1.6. Special Cases and XML Schema Compatibility
- 16.1.7. SQL Compiler Support - QUIETCAST option
- 16.1.8. Dynamic Renaming of Local IRI's
- 16.2. SPARQL
-
- 16.2.1. SPARQL Implementation Details
- 16.2.2. Query Constructs
- 16.2.3. SPARQL Web Services & APIs
- 16.2.4. Troubleshooting SPARQL Queries
- 16.2.5. SPARQL Inline in SQL
- 16.2.6. API Functions
- 16.2.7. Useful Internal Functions
- 16.2.8. Default and Named Graphs
- 16.2.9. Calling SQL from SPARQL
- 16.2.10. SPARQL DESCRIBE
- 16.2.11. Transitivity in SPARQL
- 16.2.12. Supported SPARQL-BI "define" pragmas
- 16.2.13. Built-in bif functions
- 16.2.14. Sending SOAP Requests to Virtuoso SPARQL Endpoint
- 16.2.15. Use of Hash Join With RDF
- 16.3. Extensions
- 16.4. RDF Graphs Security
-
- 16.4.1. RDF Graph Groups
- 16.4.2. NOT FROM and NOT FROM NAMED Clauses
- 16.4.3. Graph-Level Security
- 16.4.4. Graph-Level Security and SQL
- 16.4.5. Understanding Default Permissions
- 16.4.6. Initial Configuration of SPARQL Security
- 16.4.7. Application Callbacks for Graph Level Security
- 16.4.8. Graph-level security and sponging
- 16.5. Linked Data Views over RDBMS Data Source
-
- 16.5.1. Introduction
- 16.5.2. Rationale
- 16.5.3. Quad Map Patterns, Values and IRI Classes
- 16.5.4. Configuring RDF Storages
- 16.5.5. Translation Of SPARQL Triple Patterns To Quad Map Patterns
- 16.5.6. Describing Source Relational Tables
- 16.5.7. Function-Based IRI Classes
- 16.5.8. Connection Variables in IRI Classes
- 16.5.9. Lookup Optimization -- BIJECTION and RETURNS Options
- 16.5.10. Join Optimization -- Declaring IRI Subclasses
- 16.5.11. RDF Metadata Maintenance and Recovery
- 16.5.12. Split Linked Data View
- 16.5.13. Linked Data Views and recursive FK relationships
- 16.6. Automated Generation of Linked Data Views over Relational Data Sources
- 16.7. Virtuoso R2RML Support
-
- 16.7.1. What is R2RML?
- 16.7.2. Why use it?
- 16.7.3. How do I use it with Virtuoso?
- 16.7.4. Known Limitations
- 16.7.5. Generating an R2RML based Linked Data View from iSQL command-line
- 16.7.6. Virtuoso Conductor R2RML Import Wizard
- 16.7.7. Generate Transient and/or Persistent Linked Data Views atop Remote Relational Data Sources Using Conductor
- 16.8. Examples of Linked Data Views
-
- 16.8.1. Simple Mapping Example -- Northwind Linked Data View
- 16.8.2. BSBM to RDF
- 16.8.3. TPCH to RDF
- 16.8.4. TPCD to RDF
- 16.8.5. Thalia to RDF
- 16.8.6. Musicbrainz to RDF
- 16.8.7. Virtuoso ODS to RDF
- 16.8.8. Sybase using demonstration 'pubs2' database
- 16.8.9. Virtuoso's Northwind based Demo Database (Tutorials variant) to RDF
- 16.8.10. SQL Server's Northwind Demo Database
- 16.8.11. Oracle Demonstration 'HR' Database
- 16.8.12. Oracle using the demonstration 'Human Resources' database
- 16.8.13. DB2 using the demonstration 'Sample' database
- 16.8.14. Informix using demonstration 'Stores' database
- 16.8.15. Ingres using demonstration 'Tutorial' database
- 16.8.16. Progress (SQL-89) using demonstration 'iSports' database
- 16.8.17. Progress (SQL-92) using demonstration 'iSports' database
- 16.9. RDF Insert Methods in Virtuoso
-
- 16.9.1. Using API functions
- 16.9.2. SPARQL endpoint REST API
- 16.9.3. HTTP PUT using Content-Type: application/rdf+xml
- 16.9.4. SPARQL Insert using LOAD
- 16.9.5. SPARQL Insert via /sparql endpoint
- 16.9.6. SPARQL Insert via SPARQL endpoint REST API and ODS wiki
- 16.9.7. Using WebDAV
- 16.9.8. Using Virtuoso Crawler
- 16.9.9. Using SPARQL Query and Sponger (i.e. we Fetch the Network Resources in the FROM Clause or values for the graph-uri parameter in SPARQL protocol URLs)
- 16.9.10. Using Virtuoso PL APIs
- 16.9.11. Using SIMILE RDF Bank API
- 16.9.12. Using RDF NET
- 16.9.13. Using the RDF Proxy (Sponger) Service
- 16.10. RDFizer Middleware (Sponger)
-
- 16.10.1. What Is The Sponger?
- 16.10.2. Why is it Important?
- 16.10.3. How Does It Work?
- 16.10.4. Installation Steps
- 16.10.5. Using The Sponger
- 16.10.6. Consuming the Generated RDF Structured Data
- 16.10.7. RDF Cartridges Use Cases
- 16.10.8. Cartridge Architecture
- 16.10.9. Sponger Programmers Guide
- 16.10.10. Sponger and Nanotations
- 16.10.11. Sponger Usage Examples
- 16.11. Virtuoso Faceted Browser Installation and configuration
-
- 16.11.1. Prerequisites
- 16.11.2. Pre Installation
- 16.11.3. VAD Package Installation
- 16.11.4. Post Installation
- 16.11.5. URI Labels
- 16.11.6. Usage Statistics
- 16.11.7. Examples
- 16.12. Virtuoso Faceted Web Service
-
- 16.12.1. Customizing
- 16.12.2. Examples
- 16.12.3. WebService Interface
- 16.13. Linked Data
- 16.14. Inference Rules & Reasoning
-
- 16.14.1. Introduction
- 16.14.2. Making Rule Sets
- 16.14.3. Changing Rule Sets
- 16.14.4. Subclasses and Subproperties
- 16.14.5. OWL sameAs Support
- 16.14.6. Implementation
- 16.14.7. Enabling Inferencing
- 16.14.8. Examples
- 16.14.9. Identity With Inverse Functional Properties
- 16.14.10. Inference Rules and SPARQL with Transitivity Option
- 16.14.11. Inference Rules, OWL Support and Relationship Ontology
- 16.15. RDF and Geometry
-
- 16.15.1. Programmatic Manipulation of Geometries in RDF
- 16.15.2. Creating Geometries From RDF Data
- 16.15.3. Using Geometries With Existing Databases
- 16.15.4. GEO Spatial Examples
- 16.16. RDF Replication
- 16.17. RDF Performance Tuning
-
- 16.17.1. General
- 16.17.2. RDF Index Scheme
- 16.17.3. Index Scheme Selection
- 16.17.4. Manage Public Web Service Endpoints
- 16.17.5. Erroneous Cost Estimates and Explicit Join Order
- 16.17.6. Using "swappiness" parameter ( Linux only )
- 16.17.7. Get All Graphs
- 16.17.8. Rename RDF Graph and RDF Graph Groups
- 16.17.9. Dump and Reload Graphs
- 16.17.10. RDF dumps from Virtuoso Quad store hosted data into NQuad dumps
- 16.17.11. Dump Linked Data View Graph to n3
- 16.17.12. Loading RDF
- 16.17.13. Using SPARUL
- 16.17.14. DBpedia Benchmark
- 16.17.15. RDF Store Benchmarks
- 16.17.16. Fast Approximate RDF Graph Diff and Patch
- 16.17.17. RDB2RDF Triggers
- 16.18. RDF Data Access Providers (Drivers)
-
- 16.18.1. Virtuoso Jena Provider
- 16.18.2. Virtuoso Sesame Provider
- 16.18.3. Virtuoso Redland Provider
- 16.19. RDF Graph Replication
-
- 16.19.1. Replication Scenarios
- 16.19.2. Replication Topologies
- 16.19.3. Set up RDF Replication via procedure calls
- 17. Web Services
-
- 17.1. SOAP
-
- 17.1.1. Virtuoso SOAP Support Overview
- 17.1.2. Handling of SOAP HTTP Requests
- 17.1.3. Extending Datatypes for SOAP Objects
- 17.1.4. Inheritance of Datatypes for SOAP Objects
- 17.1.5. Complex Types in PL Procedure and UDT Method Definition
- 17.1.6. Complex Types in Procedure Definition using a pre-defined XML Schema datatypes
- 17.1.7. Default SOAP-SQL Datatype Mappings
- 17.1.8. Exposing Stored Procedures as SOAP Objects
- 17.1.9. Creation of SOAP proxy based on User Defined Types
- 17.1.10. Exposing User Defined Type Methods as SOAP Objects
- 17.1.11. Exposing Remote Third Party SQL Stored Procedures as SOAP Services
- 17.1.12. Virtuoso/PL SOAP Client
- 17.1.13. Execution Privileges
- 17.1.14. Custom Soap Server Support
- 17.1.15. PL Procedures and UDT Methods Syntax Affecting WSDL & SOAP Processing
- 17.1.16. Exposing & Processing SOAP Header Messages
- 17.1.17. Exposing & Processing SOAP Fault Messages
- 17.1.18. Document Literal Encoding
- 17.1.19. DIME encapsulation of SOAP messages
- 17.1.20. SOAP Endpoint Options
- 17.2. WSDL
-
- 17.2.1. Exposing Stored Procedures as WSDL Services
- 17.2.2. Exposing SQL Stored Procedures containing complex datatype definitions
- 17.2.3. Exposing Third Party SQL Stored Procedures as WSDL-Compliant Web Services
- 17.2.4. WSDL Descriptions of SOAP Header Messages
- 17.2.5. Importing A WSDL File & SOAP/WSDL Proxying
- 17.2.6. SOAP/WSDL Interoperability
- 17.3. WebID Protocol Support
-
- 17.3.1. x.509 certificate
- 17.3.2. Setting up Virtuoso HTTPS
- 17.3.3. Setting Up Firefox
- 17.3.4. Configuring ODS Account to use WebID Protocol
- 17.3.5. Testing the setup
- 17.3.6. WebID Protocol ACLs
- 17.3.7. SPARQL-WebID based Endpoint
- 17.3.8. CA Keys Import using Conductor
- 17.3.9. Set Up X.509 certificate issuer, HTTPS listener and generate ODS user's certificates
- 17.3.10. WebID Protocol ODBC Login
- 17.4. OAuth Support
-
- 17.4.1. OAuth Access Tokens
- 17.4.2. Virtuoso OAuth server
- 17.4.3. OAuth Implementation in OpenLink Data Spaces
- 17.4.4. OAuth Generate Keys for ODS Controllers (Web Services)
- 17.4.5. ODS Ubiquity Commands
- 17.4.6. OAuth Test Tool for ODS Controllers
- 17.4.7. OAuth QA
- 17.5. WS-Security (WSS) Support in Virtuoso SOAP Server
-
- 17.5.1. Client and Server side Certificates & Keys
- 17.5.2. SOAP Server WS-Security Endpoint
- 17.5.3. Virtual Directory SOAP WSS Options
- 17.5.4. Accounting & Accounting Hook
- 17.5.5. Signature Templates
- 17.5.6. SOAP Client
- 17.6. Web Services Routing Protocol (WS-Routing)
-
- 17.6.1. Configuration
- 17.6.2. Traversing Message Paths
- 17.7. Web Services Reliable Messaging Protocol (WS-ReliableMessaging)
-
- 17.7.1. SOAP CLIENT API Extensions
- 17.7.2. WS-RM Sender API
- 17.7.3. WSRM Receiver API
- 17.7.4. WS-RM Protocol Endpoint Configuration
- 17.7.5. Message Examples
- 17.7.6. WS-RM Schema
- 17.8. Web Services Trust Protocol (WS-Trust)
- 17.9. XML for Analysis Provider
- 17.10. XML-RPC support
- 17.11. SyncML
- 17.12. UDDI
-
- 17.12.1. Concepts
- 17.12.2. Dealing with SOAP
- 17.12.3. Supported API Calls
- 17.12.4. Authorization Mechanism
- 17.12.5. UDDI API Calls
- 17.12.6. Examples
- 17.13. Exposing Persistent Stored Modules as Web Services
-
- 17.13.1. Publishing Stored Procedures as Web Services
- 17.13.2. XML Query Templates
- 17.13.3. Publishing VSE's as Web Services
- 17.14. Testing Web Published Web Services
- 17.15. BPEL Reference
-
- 17.15.1. Activities
- 17.15.2. Protocol Support
- 17.15.3. Process lifecycle
- 17.15.4. Using virtual directories
- 17.15.5. Process archiving
- 17.15.6. Configuration parameters
- 17.15.7. Process Statistics
- 17.15.8. Deployment file suitcase format
- 17.15.9. SQL API
- 17.15.10. BPEL XPath Functions
- 17.15.11. Tables
- 17.15.12. Errors
- 17.15.13. Samples
- 17.15.14. References
- 17.15.15. BPEL4WS VAD Package installation
- 17.16. XSQL
-
- 17.16.1. XSQL Syntax
- 17.16.2. XSQL Directives
- 18. Runtime Hosting
-
- 18.1. Runtime Environments
- 18.2. CLR, .Net & ASPX Host
-
- 18.2.1. Environment Setup
- 18.2.2. Testing the Virtuoso .NET Runtime Environment
- 18.3. CLR & Mono
-
- 18.3.1. Environment Setup
- 18.3.2. Testing the Virtuoso Mono Runtime Environment
- 18.4. Embedded Java VM API
-
- 18.4.1. Correspondence Between Virtuoso & Java VM Threads
- 18.4.2. Virtuoso/PL <-> Java VM Type Mapping Schema
- 18.4.3. References to Java VM Class Instances in Virtuoso/PL
- 18.4.4. Specifying the Correct Java Type When Passing Values from Virtuoso/PL
- 18.4.5. Virtuoso Java PL API VSEs
- 18.4.6. Java Security
- 18.5. Virtuoso Server Extension Interface (VSEI) (C Interface)
-
- 18.5.1. Virtuoso Server Extension Interface (VSEI)
- 18.5.2. SQL Run Time Objects
- 18.5.3. Memory Management Rules
- 18.5.4. Server Main Function
- 18.5.5. Compiling & Linking
- 18.5.6. Functions by Category
- 18.5.7. VSEI Definition
- 18.5.8. SQL Exceptions
- 18.5.9. Executing SQL
- 18.5.10. Adding New Languages And Encodings Into Virtuoso
- 18.6. VSEI Plugins
- 19. Internet Services
-
- 19.1. WebDAV Server
-
- 19.1.1. DAV User Accounts
- 19.1.2. WebDAV Authentication
- 19.1.3. WebDAV Symbolic Links
- 19.1.4. Access Right Permissions of Web Resources
- 19.1.5. DAV and RDF Metadata
- 19.1.6. Special Attributes of Web Resources
- 19.2. URIQA Semantic Web Enabler
-
- 19.2.1. URIQA HTTP Methods
- 19.2.2. URIQA Web Service
- 19.2.3. URIQA Section in Virtuoso Configuration File
- 19.2.4. URI Matching Rules
- 19.3. Mail Delivery & Storage
-
- 19.3.1. The SMTP Client
- 19.3.2. POP3 Server
- 19.3.3. Storing Email in Virtuoso
- 19.3.4. The Virtuoso Mail Sink
- 19.4. NNTP Newsgroups
-
- 19.4.1. NNTP Client
- 19.4.2. Commands and Examples
- 19.5. NNTP Server
-
- 19.5.1. Enabling the NNTP Server
- 19.5.2. NNTP Server Commands
- 19.5.3. Add Groups to NNTP Server
- 19.6. MIME & Internet Messages
- 19.7. FTP Services
-
- 19.7.1. FTP Client
- 19.7.2. FTP Server
- 19.8. VSP Guide
-
- 19.8.1. Introduction
- 19.8.2. Simple HTML FORM usage
- 19.8.3. Interacting with the Database
- 19.8.4. The Forums Application
- 19.8.5. Setting up server-side Cross-Origin Resource Sharing (CORS) with Virtuoso
- 19.9. LDAP
-
- 19.9.1. LDAP Client
- 19.9.2. LDAP Server
- 20. Free Text Search
-
- 20.1. Basic Concepts
- 20.2. Creating Free Text Indexes
-
- 20.2.1. The CREATE TEXT INDEX statement
- 20.2.2. Choosing An Application Specific Document ID
- 20.2.3. The composite Data Type
- 20.2.4. Free Text Index Examples
- 20.2.5. Pre-processing and Extending the Content Being Indexed
- 20.2.6. Hit Scores
- 20.2.7. Word Ranges
- 20.2.8. Using Offband Data for Faster Filtering
- 20.2.9. Order of Hits
- 20.2.10. Noise Words
- 20.3. Querying Free Text Indexes
-
- 20.3.1. CONTAINS predicate
- 20.3.2. Comments
- 20.3.3. Text Expression Syntax
- 20.4. Text Triggers
-
- 20.4.1. Creating Text Triggers
- 20.4.2. Created Database Objects
- 20.5. Generated Tables and Internals
-
- 20.5.1. Generated Tables and Procedures
- 20.5.2. The procedures are:
- 20.5.3. Tables and Procedures Created By Text Triggers
- 20.6. Removing A Text Index
- 20.7. Removing A Text Trigger
-
- 20.7.1. vt_drop_ftt_dedup
- 20.8. Internationalization & Unicode
- 20.9. Performance
-
- 20.9.1. Restrictions
- 20.10. Free Text Functions
-
- 20.10.1. vt_batch_dedup
- 20.10.2. vt_batch_d_id_dedup
- 20.10.3. vt_batch_feed_dedup
- 20.10.4. vt_batch_feed_offband_dedup
- 20.10.5. vt_batch_update_dedup
- 20.10.6. vt_is_noise_dedup
- 20.11.
- 21. TPC C Benchmark Kit
-
- 21.1. Building the Test Database
- 21.2. Using the Test Program
- 21.3. Tuning Parameters and Number of Users
- 21.4. Omissions, Exceptions from the Definition
- 21.5. Sample Configuration
- 21.6. Other Factors
- 21.7. TPC C Procedures
-
- 21.7.1. Introduction
- 21.7.2. New Order
- 21.7.3. Payment
- 21.7.4. Delivery
- 21.7.5. Order Status
- 21.7.6. Stock Level
- 21.8. DDL Statements
- 21.9. Stored Procedures
- 22. Using Virtuoso with Tuxedo
-
- 22.1. Building the Transaction Manager Server
- 22.2. Configuration
- 22.3. Services
-
- 22.3.1. Introduction
- 22.3.2. VQL functions
- 22.3.3. Services concept
- 22.3.4. OPENINFO
- 22.4. Clients
- 22.5. Service example
- 23. Appendix A
-
- 23.1. YACC SQL Grammar Reference
- 23.2. Error Codes Reference
-
- 23.2.1. Virtuoso Error Codes
- 23.2.2. Data Type Errors
- 23.3. Signals and Exit codes
-
- 23.3.1. Exit codes
- 23.3.2. Signals
- 23.4. Release Notes
-
- 23.4.1. New Features
- 23.4.2. Bugs Fixed
- 23.5. Product Support
-
- 23.5.1. OpenLink Discussion Forums
- 23.6. Virtuoso System Tables
-
- 23.6.1. Core System Tables
- 23.6.2. System Tables
- 23.6.3. Row Level Security Table
- 23.6.4. SYS_CHARSETS
- 23.6.5. Collations System Table
- 23.6.6. UDDI Schema
- 23.6.7. Web Robot System Tables
- 23.6.8. Web Server & DAV System Tables
- 23.6.9. Mail Table Description
- 23.6.10. NNTP Server Tables
- 23.6.11. WS Reliable Messaging
- 23.6.12. WS Trust
- 23.6.13. SyncML Schema Objects
- 23.6.14. INFORMATION_SCHEMA views
- 23.7. Basic Syntax of Regular Expressions
- 23.8. Server & client versions compatibility
- 24. Functions Reference