zLDP is a packaged
solution for rapid deployment of Linked Data. All components
have been optimized for interoperability and ease of installation.
The relationship of these components is shown in this diagram:
The major components are briefly described below, with links
to their specific documentation.
Zitgist Linked Data Server
The Zitgist Linked Data Server is the central component to zLDP and is based on the OpenLink Virtuoso
product. Zitgist has extended Virtuoso with relation to RDF and Linked
Data processing applications and scripts; the basic core software is
unchanged.
Virtuoso is a complete deployment environment
with its own broad data storage and indexing engine; a virtual database
server for interacting with all leading data types, third-party
database management systems (DBMSs) and Internet “endpoints”
(data-access points); and a virtual Web and application server for
hosting its own and external applications written in other leading
languages. The Virtuoso
universal server is the first
cross-platform product that implements Web, file, and database server
functionality in a single package.
The major functional components within Virtuoso are:
- A DBMS engine (object-relational like PostgreSQL and relational like MySQL)
- XML data management (with support for XQuery, XPath, XSLT, and XML Schema)
- An
RDF triple store (or database) that supports the SPARQL query language,
transport protocol, and various serialization formats (actually
implemented as a "quad" by providing graph assignments as well)
- A service-oriented architecture (SOA) that combines a BPEL engine with an enterprise service bus (ESB)
- A Web application server (supporting both HTTP and WebDAV), and
- An NNTP-compliant discussion server.
The Virtuoso architecture exposes modular tools that can be strung
together in a versatile information-processing pipeline. Via the
huge variety of structure and data format transformations that the
product supports (see Linked Data Conversions), the enterprise only need worry about
interacting with Virtuoso’s canonical formats and APIs.
Data and application interactions occur through the system’s virtual
or federated database server. This core provides internal storage and
application facilities, the ability to transparently expose tables and
views from external databases, and the capability of exposing external
application logic in a homogeneous way.
The variety of data sources supported by Virtuoso can be efficiently
joined in any number of ways in order to provide a cohesive view of
disparate data from virtually any source and in any form.
Since storage is supported for unstructured, semi-structured and
structured data in its various forms, applications and users have a
choice of retrieval and query constructs. Free-text searching is
provided for unstructured data, conventional documents and literal
objects within RDF triples; SQL is provided for conventional structured
data; and SPARQL is provided for RDF and -related graph data. These
forms are also supplemented with a variety of Web service protocols for
retrievals across the network.
Virtuoso provides its own scripting language (VSP, similar to
Microsoft’s ASP) and Web application scripting language (VSPX, similar
to Microsoft’s ASPX or PHP). Virtuoso Conductor is an accompanying system administrator’s console.
Virtuoso currently runs on Windows (XP/2000/2003), Linux (Redhat,
Suse) Mac OS X, FreeBSD, Solaris, and other UNIX variants (including
AIX and HP-UX and 32- and 64-bit platforms). Exclusive of
documentation, a typical install of Virtuoso application code is about
100 MB (with help, documentation and examples, about 300 MB).
Zitgist DataViewer
The Zitgist DataViewer is the packaged view and templating system within zLDP. See the DataViewer
pages for details; the standalone DataViewer is identical to the one
packaged with zLDP. (However, new data sources and templates may be
added as an optional service.)
Zitgist Query Builder
Unlike conventional search of Web
documents with only keywords, Linked Data allows the possible results
set to be sliced-and-diced by the structure or characteristics of the
data. Sometimes this is referred to as "faceted search" but, in fact,
Linked Data is much richer than a few simple facets. All relations,
types and data objects can themselves become structural dimensions for
pivoting and viewing results. This power also means that search
interfaces must also adapt.
The Zitgist Query Builder enables RDF
triples to be selected and mixed-and-matched solely through the user
interface via dropdown lists. As query subjects get selected, only the
applicable characteristics of that subject are next presented for
selection. For example, this screenshot of the Query Builder shows
that multiple search dimensions can be specified:
The other truth about Linked Data is that once we specify one of
these dimensions or its characteristics, we also know what type of data
we are querying. This knowledge then allows result or selection
templates to be provided in context with that data type. For example,
specifying a geographic data type could invoke a map template, as this
Query Builder example shows:
Like the DataViewer, the Query Builder has a rich storehouse of templates for query and results display.
The Query Builder works in conjunction with standard search forms. You may sign up for use of an online prototype of the Query Builder to learn more.
Optional Capabilities
The diagram for the Zitgist Linked Data Platform also shows linkages to zLinks and possible bulk processing steps. These are optional components; please contact Zitgist
for further details.