<docbook><section><title>VirtDeployingLinkedDataGuide</title><title>Deploying Linked Data</title>Deploying Linked Data
<para>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 &quot;Linked Data Web&quot; and the traditional &quot;Document Web&quot;.
 Two generic approaches to resolving these deployment challenges are described, content negotiation and URL rewriting, before looking at <ulink url="http://virtuoso.openlinksw.com/">OpenLink Virtuoso</ulink>, both from the standpoint of how it implements these solutions and how Linked Data is deployed.</para>
<para>A companion document, <emphasis><ulink url="http://virtuoso.openlinksw.com/Whitepapers/pdf/Virtuoso_SQL_to_RDF_Mapping.pdf">Virtuoso Linked Data Views - Getting Started Guide (PDF)</ulink></emphasis>, 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.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2">Contents</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VirtDeployingLinkedDataGuide_Introduction">Introduction (Part 1)</ulink> <itemizedlist mark="bullet" spacing="compact"><listitem>What&#39;s The Current Problem? </listitem>
<listitem>What is Linked Data? </listitem>
<listitem>What Does the Linked Data Meme Enable? </listitem>
<listitem>Deployment Challenges <itemizedlist mark="bullet" spacing="compact"><listitem>Exploiting HTTP URI Duality </listitem>
<listitem>Real-World Object Referencing </listitem>
</itemizedlist></listitem>
<listitem>Resource Identity </listitem>
<listitem>Hash &amp; Slash based URIs <itemizedlist mark="bullet" spacing="compact"><listitem>Hash URIs </listitem>
<listitem>Slash URIs </listitem>
</itemizedlist></listitem>
<listitem>Resolution of the Deployment Challenge </listitem>
<listitem>Content Negotiation <itemizedlist mark="bullet" spacing="compact"><listitem>HttpRange-14 Recommendations </listitem>
</itemizedlist></listitem>
<listitem>Content Negotiation &amp; Linked Data Deployment <itemizedlist mark="bullet" spacing="compact"><listitem>Content Negotiation with Hash URI Based Data Object Naming Scheme <itemizedlist mark="bullet" spacing="compact"><listitem>Example 1: Static descriptions of a Data Object </listitem>
<listitem>Example 2: Dynamically derived descriptions of a Data Object using a SPARQL DESCRIBE </listitem>
</itemizedlist></listitem>
<listitem>Content Negotiation with a Slash URI Based Data Object Naming Scheme </listitem>
</itemizedlist></listitem>
<listitem>URL Rewriting <itemizedlist mark="bullet" spacing="compact"><listitem>Using URL Rewriting to Solve Linked Data Deployment Challenges </listitem>
</itemizedlist></listitem>
</itemizedlist></listitem>
<listitem><ulink url="VirtDeployingLinkedDataGuide_UsingVirtuoso">Deploying Linked Data using Virtuoso (Part 2a)</ulink> <itemizedlist mark="bullet" spacing="compact"><listitem>The Virtuoso Rules-Based URL Rewriter </listitem>
<listitem>Conductor UI for the URL Rewriter </listitem>
<listitem>Virtual Domains (Hosts) &amp; Directories </listitem>
<listitem>&#39;Nice&#39; URLs vs.
 &#39;Long&#39; URLs </listitem>
<listitem>Rule Processing Mechanics </listitem>
<listitem>Enabling URL Rewriting via the Virtuoso Conductor UI <itemizedlist mark="bullet" spacing="compact"><listitem>Northwind Demonstration Database </listitem>
<listitem>Configuring Rewrite Rules using Conductor </listitem>
<listitem>Dissection of Northwind Rewrite Rules Configured using Conductor <itemizedlist mark="bullet" spacing="compact"><listitem>Regex Rule for RDF Requests </listitem>
<listitem>Constructing the Destination Path Format </listitem>
<listitem>Data Flow in Conductor-Defined Northwind RDF Regex Rule </listitem>
<listitem>Regex Rule for HTML Requests </listitem>
</itemizedlist></listitem>
</itemizedlist></listitem>
<listitem>Enabling URL Rewriting via Virtuoso PL <itemizedlist mark="bullet" spacing="compact"><listitem>Exporting Rewriting Rules from Conductor </listitem>
<listitem>Defining Virtual Hosts in Virtuoso PL </listitem>
<listitem>URL Rewriting Configuration API </listitem>
<listitem>Creating Rewriting Rules <itemizedlist mark="bullet" spacing="compact"><listitem>URLREWRITE_CREATE_REGEX_RULE </listitem>
</itemizedlist></listitem>
<listitem>Dissection of Northwind Rewrite Rules Configured using Virtuoso PL <itemizedlist mark="bullet" spacing="compact"><listitem>Data Flow in Virtuoso/PL-Defined Northwind RDF Regex Rule </listitem>
</itemizedlist></listitem>
</itemizedlist></listitem>
<listitem>Northwind URL Rewriting Verification Using curl </listitem>
<listitem><ulink url="VirtDeployingLinkedDataGuide_BrowsingNorthwindRdfView">Browsing &amp; Exploring the Northwind Linked Data View (Part 2b)</ulink> <itemizedlist mark="bullet" spacing="compact"><listitem>Interacting with Linked Data via ODE </listitem>
<listitem>Interacting with Linked Data via iSPARQL </listitem>
</itemizedlist></listitem>
<listitem><ulink url="VirtDeployingLinkedDataGuide_TCN">Transparent Content Negotiation (Part 2c)</ulink> <itemizedlist mark="bullet" spacing="compact"><listitem>HTTP/1.1 Content Negotiation </listitem>
<listitem>Transparent Content Negotiation <itemizedlist mark="bullet" spacing="compact"><listitem>Deficiencies of HTTP/1.1 Server-Driven Negotiation </listitem>
<listitem>Variant Selection By User Agent </listitem>
<listitem>Variant Selection By Server </listitem>
<listitem>Variant Selection By End-User </listitem>
</itemizedlist></listitem>
</itemizedlist></listitem>
<listitem>Transparent Content Negotiation in Virtuoso HTTP Server <itemizedlist mark="bullet" spacing="compact"><listitem>Describing Resource Variants <itemizedlist mark="bullet" spacing="compact"><listitem>HTTP_VARIANT_MAP Table </listitem>
<listitem>Configuration using Virtuoso/PL </listitem>
<listitem>Variant Selection Algorithm </listitem>
</itemizedlist></listitem>
</itemizedlist></listitem>
<listitem>Transparent Content Negotiation Examples <itemizedlist mark="bullet" spacing="compact"><listitem>Simple TCN with Static Content </listitem>
<listitem>Northwind Linked Data View </listitem>
<listitem>DBpedia </listitem>
</itemizedlist></listitem>
<listitem>Simplifying Deployment with RDFa <itemizedlist mark="bullet" spacing="compact"><listitem>No Content Negotiation or 303 Redirects </listitem>
<listitem>Generating RDFa Dynamically Using Description.vsp </listitem>
<listitem>RDFa Output From Non-RDF Data Sources </listitem>
<listitem>Sample RDFa Output From Description.vsp </listitem>
</itemizedlist></listitem>
</itemizedlist></listitem>
<listitem><ulink url="VirtDeployingLinkedDataGuide_description_vsp">Appendix A</ulink>: Description.vsp - Rendering RDF as HTML </listitem>
<listitem><ulink url="VirtDeployingLinkedDataGuide_AppendixB">Appendix B</ulink>: New Proxy URI Formats </listitem>
<listitem><ulink url="VirtDeployingLinkedDataGuide_Glossary">Glossary</ulink> </listitem>
<listitem><ulink url="VirtDeployingLinkedDataGuide_Bibliography">Bibliography</ulink> </listitem>
</itemizedlist></section></docbook>