The SPIN Technology Stack

March 25, 2010

Holger Knublauch <>

The SPIN Stack is a group of industrial-strength technologies that can be used to build real-world solutions with Semantic Web standards. Hardened over many years of exposure to customer requirements and supported by professional development tools, the SPIN Stack provides a complete solution platform for building services and applications that operate on linked data. The SPIN Stack is fully supported by TopQuadrant's TopBraid Suite.

An overview of the various technologies involved in this family of languages is provided in the figure below.

The foundation of the various SPIN languages is RDF, which also serves as the base infrastructure of the W3C Semantic Web activity including the higher level language RDF Schema and the various modeling languages such as OWL, SKOS etc. The standard Semantic Web query language SPARQL plays a key role in the SPIN framework.

While the official W3C standards provide good infrastructure for declaring classes, properties and instances, they do not address the problem of implementing executable behavior. The SPARQL Inferencing Notation (SPIN) extends SPARQL and RDF Schema with means to attach behavior (rules and constraints) to classes. Furthermore, the SPIN Modeling Vocabulary defines mechanisms for creating new language elements (functions and templates) in an object-oriented approach. A key aspect of SPIN is that it allows users to define those rules and extensions in a completely declarative manner, entirely in RDF. This means that anything that is defined with SPIN can be shared and discovered in the same infrastructure that also holds the data.

Building on SPIN, SPARQLMotion is a declarative language with a visual notation that can be used to define data processing pipelines. SPARQLMotion scripts consist of simple steps such as loading data, running transformations and then exporting the results. The result of one step may be passed as input to the next step, leading to endless data combination and mash-up possibilities. SPARQLMotion is aimed at modelers and business users who do not necessarily have a programming background. SPARQLMotion can be used to define (web) services, and to create new SPARQL functions, which can then be used as part of other SPIN features.

SWP extends SPIN with additional vocabulary to link domain concepts with user interface descriptions. For example, SWP expressions link classes with forms, charts and diagrams so that graphical user interfaces can dynamically discover how to best display linked data to the user and in reports. SWP provides a powerful object-oriented model that brings together the best of Semantic Web technology with display standards such as HTML and SVG.


Tool Support