The swish package
Swish is a framework, written in the purely functional programming language Haskell, for performing deductions in RDF data using a variety of techniques. Swish is 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). It explores Haskell as "a scripting language for the Semantic Web".
Swish is a work-in-progress, and currently incorporates:
Notation3 and NTriples input and output. The N3 support is incomplete (no handling of @forAll).
RDF graph isomorphism testing and merging.
Display of differences between RDF graphs.
Inference operations in forward chaining, backward chaining and proof-checking modes.
Simple Horn-style rule implementations, extendable through variable binding modifiers and filters.
Class restriction rule implementation, primarily for datatype inferences.
RDF formal semantics entailment rule implementation.
Complete, ready-to-run, command-line and script-driven programs.
- Version 0.3.1.0
- Added the Swish.RDF.RDFGraph.ToRDFLabel and Swish.RDF.RDFGraph.FromRDFLabel classes and the Swish.RDF.RDFGraph.toRDFTriple and Swish.RDF.RDFGraph.fromRDFTriple functions. Added instances: IsString RDFLabel, IsString QName, IsString ScopedName and Monoid NSGraph. The modules Swish and Swish.RDF have been introduced to provide documentation. The module Swish.Utils.DateTime is deprecated and will be removed in a later release. The N3 formatter now writes out literals with xsd:boolean, xsd:integer, xsd:decimal and xsd:double types as literals rather than as a typed string.
- Version 0.3.0.3
- Changed scripts/SwishExample.ss script so that the proof succeeds. Some documentation improvements, including a discussion of the Swish script format (see Swish.RDF.SwishScript). Very minor changes to behavior of Swish in several edge cases.
- Version 0.3.0.2
- Bugfix: stop losing triples with a bnode subject when using the N3Formatter; this also makes the scripts/SwishTest.ss test pass again. Several commands in Swish scripts now create screen output (mainly to check what it is doing). Added the developer flag for building.
- Version 0.3.0.1
- updates the Swish script parser to work with the changes in 0.3.0.0 (reported by Rick Murphy). Several example scripts are installed in the scripts/ directory, although only VehicleCapacity.ss works with this release.
- Version 0.3.0.0
- is an attempt to update version 0.2.1 (http://hackage.haskell.org/package/swish-0.2.1/) to build against a recent ghc install, with some clean ups - including support for the current N3 specification - and the addition of the NTriples format. It has not been tested against ghc7.
[Skip to Readme]
|Versions||0.2.1, 0.3.0.0, 0.3.0.1, 0.3.0.2, 0.3.0.3, 0.3.1.0, 0.3.1.1, 0.3.1.2, 0.3.2.0, 0.3.2.1, 0.4.0.0, 0.5.0.0, 0.5.0.1, 0.5.0.2, 0.5.0.3, 0.6.0.0, 0.6.0.1, 0.6.1.0, 0.6.1.1, 0.6.1.2, 0.6.2.1, 0.6.3.0, 0.6.4.0, 0.6.5.0, 0.6.5.1, 0.6.5.2, 0.7.0.0, 0.7.0.1, 0.7.0.2, 0.8.0.0, 0.8.0.2, 0.8.0.3, 0.9.0.0, 0.9.0.1, 0.9.0.2, 0.9.0.3, 0.9.0.4, 0.9.0.5, 0.9.0.6, 0.9.0.7, 0.9.0.8, 0.9.0.9, 0.9.0.10, 0.9.0.11, 0.9.0.12, 0.9.0.13, 0.9.0.14, 0.9.0.15, 0.9.1.0, 0.9.1.1, 0.9.1.2, 0.9.1.3, 0.9.1.5, 0.9.1.6, 0.9.1.7, 0.9.1.8|
|Dependencies||array (==0.3.*), base (>=3 && <5), binary (==0.5.*), bytestring (==0.9.*), containers (==0.3.*), directory (>=1.0 && <=1.1), filepath (>=1.1 && <=1.2), HUnit (==1.2.*), mtl (>=1 && <3), network (>=2.2 && <2.4), old-locale (==1.0.*), old-time (==1.0.*), parallel (==2.2.*), parsec (==2.1.*), random (==1.0.*), time (==1.1.*) [details]|
|Copyright||(c) 2003, 2004 G. Klyne; 2009 Vasili I Galchin; 2011 Doug Burke; All rights reserved.|
|Author||Graham Klyne - GK@ninebynine.org|
|Source repository||head: hg clone https://bitbucket.org/doug_burke/swish|
|Uploaded||Sun May 8 12:11:10 UTC 2011 by DouglasBurke|
|Downloads||10466 total (477 in the last 30 days)|
|Status||Docs uploaded by user
Build status unknown [no reports yet]
|developer||Turn on developer flags||Disabled||Automatic|
|tests||Build the test programs.||Disabled||Automatic|
|hpc||Use Hpc for the tests||Disabled||Automatic|
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
For package maintainers and hackage trustees