Deploying Linked Data
This document describes the process of deploying Linked Data into the existing Web.
It discusses some of the difficulties faced in exposing RDF data and in bridging the "Linked Data Web" and the traditional "Document Web".
Two generic approaches to resolving these deployment challenges are described, content negotiation and URL rewriting, before looking at OpenLink Virtuoso, both from the standpoint of how it implements these solutions and how Linked Data is deployed.
A companion document, Virtuoso Linked Data Views - Getting Started Guide (PDF), focuses on Virtuoso Linked Data Views, a facility for exposing relational data as RDF.
In addition, it provides useful background information for readers unfamiliar with RDF and outlines some of the key technologies of the Linked Data Web.
- Introduction (Part 1)
- What's The Current Problem?
- What is Linked Data?
- What Does the Linked Data Meme Enable?
- Deployment Challenges
- Exploiting HTTP URI Duality
- Real-World Object Referencing
- Resource Identity
- Hash & Slash based URIs
- Resolution of the Deployment Challenge
- Content Negotiation
- HttpRange-14 Recommendations
- Content Negotiation & Linked Data Deployment
- Content Negotiation with Hash URI Based Data Object Naming Scheme
- Example 1: Static descriptions of a Data Object
- Example 2: Dynamically derived descriptions of a Data Object using a SPARQL DESCRIBE
- Content Negotiation with a Slash URI Based Data Object Naming Scheme
- URL Rewriting
- Using URL Rewriting to Solve Linked Data Deployment Challenges
- Deploying Linked Data using Virtuoso (Part 2a)
- The Virtuoso Rules-Based URL Rewriter
- Conductor UI for the URL Rewriter
- Virtual Domains (Hosts) & Directories
- 'Nice' URLs vs.
- Rule Processing Mechanics
- Enabling URL Rewriting via the Virtuoso Conductor UI
- Northwind Demonstration Database
- Configuring Rewrite Rules using Conductor
- Dissection of Northwind Rewrite Rules Configured using Conductor
- Regex Rule for RDF Requests
- Constructing the Destination Path Format
- Data Flow in Conductor-Defined Northwind RDF Regex Rule
- Regex Rule for HTML Requests
- Enabling URL Rewriting via Virtuoso PL
- Exporting Rewriting Rules from Conductor
- Defining Virtual Hosts in Virtuoso PL
- URL Rewriting Configuration API
- Creating Rewriting Rules
- Dissection of Northwind Rewrite Rules Configured using Virtuoso PL
- Data Flow in Virtuoso/PL-Defined Northwind RDF Regex Rule
- Northwind URL Rewriting Verification Using
- Browsing & Exploring the Northwind Linked Data View (Part 2b)
- Interacting with Linked Data via ODE
- Interacting with Linked Data via iSPARQL
- Transparent Content Negotiation (Part 2c)
- HTTP/1.1 Content Negotiation
- Transparent Content Negotiation
- Deficiencies of HTTP/1.1 Server-Driven Negotiation
- Variant Selection By User Agent
- Variant Selection By Server
- Variant Selection By End-User
- Transparent Content Negotiation in Virtuoso HTTP Server
- Describing Resource Variants
- Configuration using Virtuoso/PL
- Variant Selection Algorithm
- Transparent Content Negotiation Examples
- Simple TCN with Static Content
- Northwind Linked Data View
- Simplifying Deployment with RDFa
- No Content Negotiation or 303 Redirects
- Generating RDFa Dynamically Using Description.vsp
- RDFa Output From Non-RDF Data Sources
- Sample RDFa Output From Description.vsp
- Appendix A:
Description.vsp - Rendering RDF as HTML
- Appendix B: New Proxy URI Formats