File: README.md

package info (click to toggle)
haskell-swish 0.10.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,604 kB
  • sloc: haskell: 20,924; makefile: 49; sh: 5
file content (86 lines) | stat: -rw-r--r-- 3,068 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86

# Introduction

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](http://www.ninebynine.org/RDFNotes/Swish/Intro.html)".

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](http://hackage.haskell.org/package/swish-0.2.1).

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](https://bitbucket.org/doug_burke/swish/); there is an *outdated*
version [on GitHub](https://github.com/DougBurke/swish), which was
being used for its access to Travis.

I attempt to keep Swish buildable on recent GHC versions - at present
back to GHC 7.4 although not actually tested on such - but it is done
on a best-effort basis, so is not guaranteed.

# Aim

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).

# Copyright

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

All rights reserved.

# License

[LGPL V2.1](https://bitbucket.org/doug_burke/swish/src/tip/LICENSE)

# Haskell and the Semantic Web 

Other Haskell packages for RDF support include

 * [rdf4h](http://hackage.haskell.org/package/rdf4h)
 * [hsparql](http://hackage.haskell.org/package/hsparql)
 * [hasparql-client](http://hackage.haskell.org/package/hasparql-client)

# Installation

The following commands will install a command-line tool `Swish` along
with the modules in the `Swish` namespace; documentation can be found 
[on Hackage](http://hackage.haskell.org/package/swish).

## With cabal

Install a recent version of the [Haskell
platform](http://hackage.haskell.org/platform/) and then try

    % cabal update
    % cabal install swish

## With stack

Swish is available as part of the stackage curated package set (at
least it is available in lts-11.1 to lts-12.2, the latest version
at the time of writing).

There are several stack configuration files, for different GHC
versions:

    % cd swish
    % stack install
    % STACK_YAML=stack-8.2.yaml stack install
    % STACK_YAML=stack-8.0.yaml stack install
    % STACK_YAML=stack-7.10.yaml stack install
    % STACK_YAML=stack-7.8.yaml stack install