swish /

Filename Size Date modified Message
47 B
Added .ghci
276 B
Add stack.yaml and update HUnit dependency
3.1 KB
Added tag for changeset da6e0f892ed1
19 B
Added basic Travis CI setup
20.6 KB
Release; build on ghc 8.2.1
139 B
Added HLint configuration file
26.5 KB
Initial import: version 0.2.1 from Hackage
3.7 KB
Removed Swish.HaskellUtils.ProcessURI (replaced by Network.URI)
2.6 KB
Update upper bounds and a time-related build error
72 B
Initial import: version 0.2.1 from Hackage
4.4 KB
Formatting: minor refactoring
74 B
Add stack files for ghc 7.8/7.10
74 B
Add stack files for ghc 7.8/7.10
73 B
Update to lts 9.1
14.1 KB
Release; build on ghc 8.2.1

Build Status

drone.io status page


Swish - which stands for Semantic Web Inference Scripting in Haskell - was written by Graham Klyne as a framework, written in the purely functional programming language Haskell, for performing deductions in RDF data using a variety of techniques. Swish was conceived as a toolkit for experimenting with RDF inference, and for implementing stand-alone RDF file processors (usable in similar style to CWM, but with a view to being extensible in declarative style through added Haskell function and data value declarations). One of the aims was to explore Haskell as "a scripting language for the Semantic Web".

It was updated from version 0.2.1 by Vasili I Galchin so that it would build with the current version of GHC, and released on Hackage.

Since then it has been updated to take advantage of recent developments in the Haskell ecosystem, add support for the NTriples and Turtle serialisation formats, and a number of convenience functions. Development is done on the bitbucket site; there is an outdated version on GitHub, which was being used for its access to Travis, but now I use drone.io for build/testing.


Current development is based on my own needs, which are more about using this as a RDF library for I/O with limited querying rather than for inferencing or use as a flexible graph-processing library (e.g. for extensions to non-RDF models).


(c) 2003, 2004 G. Klyne
(c) 2009 Vasili I Galchin
(c) 2011, 2012, 2013, 2014, 2015, 2016, 2017 Doug Burke

All rights reserved.



Haskell and the Semantic Web

Other Haskell packages for RDF support include


Install a recent version of the Haskell platform and then try

% cabal update
% cabal install swish

This will install a command-line tool Swish along with the modules in the Swish namespace; documentation can be found on Hackage.