Linked Data Deployed using Virtuoso -- an Introductory Guide

Virtuoso provides a simple solution to what’s often perceived as the challenge process of Linked Data Deployment.

It achieves this feat by leveraging the following:

  1. SQL Stored Procedures integrated into HTML generation i.e., Virtuoso Server Pages
  2. Existing Virtuoso Server Pages that present output from underlying SPARQL DESCRIBE and CONSTRUCT queries as Entity Description Pages using a Property Sheet metaphor – where an entity is associated with a collection of its attributes
  3. Built-in HTTP functionality that includes support for Content-Negotiation (basic and dynamic using QoS algorithms) thereby enabling Entity Description Pages comprising a variety of content-types e.g., HTML, HTML+Microdata, HTML+JSON-LD, HTML+RDFa, RDF-Turtle, RDF-XML, RDF-JSON, JSON-LD, CSV, and others

How is it done?

Using the Faceted Browser Service published to the /descirbe/ endpoint, following installation from its VAD (fct_dav.vad), simply perform the following steps:

  1. Create Virtual Domain

  2. Establish a URL-pattern for your Virtual Domain

  3. Map the above to a SPARQL DESCRIBE or CONSTRUCT URL

Live example from our Web Site

  1. WebDAV Repository – various RDF-Turtle Docs

  2. http://www.openlinksw.com/data/turtle/general/GlossaryOfTerms.ttl – Glossary

  3. http://data.openlinksw.com/oplweb/glossary-term/LinkedData#this – Linked Data Concept

The results above where achieved via the following steps:

  1. http://data.openlinksw.com/ – Virtual Domain Creation

  2. http://data.openlinksw.com/oplweb/ – Virtual Directory Creation

  3. /(.*) – Rule for HTTP Request associated with Virtual Directory

  4. 303 – HTTP Response to trigger redirection in User Agent

  5. https://www.openlinksw.com/describe/?uri=http%3A%2F%2Fdata.openlinksw.com%2F$U1%23this – Redirection URL for HTTP response received by User Agent

Virtual Directory as it would be presented in the Virtuoso Conductor

Rule Creation for Virtual Directory as it would be presented in the Virtuoso Conductor

Rule Troubleshooting and Verification

Using cURL

curl -IL http://data.openlinksw.com/oplweb/glossary-term/LinkedData#this

HTTP/1.1 303 See Other
Server: Virtuoso/08.03.3321 (Linux) x86_64-generic-linux-glibc25 VDB
Connection: close
Content-Type: text/html; charset=UTF-8
Date: Thu, 03 Jun 2021 17:12:27 GMT
Accept-Ranges: bytes
Location: About: Linked Data
Content-Length: 0

HTTP/1.1 200 OK
Server: Virtuoso/08.03.3321 (Linux) x86_64-generic-linux-glibc25 VDB
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
Date: Thu, 03 Jun 2021 17:12:28 GMT
Accept-Ranges: bytes
Cache-Control: no-cache, must-revalidate
Pragma: no-cache

Using Vapour Linked Data Deployment Service

You can also troubleshoot your Linked Data deployment using the Linked Data Verification Service (called Vapour) that we provide.

Here is a Linked Data Verification Example using Vapour.

RDF-JSON Example

RDF-Turtle Example

Related