swish: A semantic web toolkit.
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:
Turtle, 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.
Changes in version 0.8.0.3
:
Fix up the tests so that they pass with
hashable-1.1.2.5
.Update to support
network-2.4.0.0
:Network.URI.Ord
is now a no-op since the network package provides the instance; fix to change in API ofrelativeTo
.Removed binary constraint as unused.
Changes in version 0.8.0.2
:
Restrict
hashable
since tests fail with1.1.2.5
(this is a hack).Updated
directory
constraint to include1.2
on ghc 7.6.
Changes in version 0.8.0.1
(unreleased):
Internal changes to Turtle/N3 formatting. No user-visible changes.
Changes in version 0.8.0.0
:
The
LDGraph
class now usesSet (Arc lb)
, rather than[Arc lb]
, forsetArcs
,getArcs
, andupdate
. Several data types - e.g.NSGraph
- now use sets rather than lists. There are a number of API tweaks - e.g. the addition of Ord constraints and the removal of Functor, Foldable, and Traversable instances. Not all list of Arcs have been converted since a review is needed to see where it makes sense and where it does not. This definitely speeds up some operations but a full analysis has not been attempted.Replaced used of
Data.LookupMap
withData.Map.Map
. This has led to the removal of a number of language extensions from some modules.Added
Network.URI.Ord
to provide an ordering for URIs.A few other minor changes have been made: the removal of
subset
andequiv
fromSwish.Utils.ListHelpers
; the ordering used forRDFLabel
values has changed; added aMonoid
instance forVarBinding
; addedOrd
instances for a number of containers; removed some un-needed constraints; addedNetwork.URI.Ord
.The containers upper limit has been increased to support version 0.5.
Changes in previous versions can be found at https://bitbucket.org/doug_burke/swish/src/tip/CHANGES.
References:
[Skip to Readme]
Modules
[Index]
- Data
- Interned
- Ord
- String
- Network
- Swish
- Swish.Commands
- Swish.Datatype
- Swish.GraphClass
- Swish.GraphMatch
- Swish.GraphMem
- Swish.GraphPartition
- Swish.Monad
- Swish.Namespace
- Swish.Proof
- Swish.QName
- Swish.RDF
- Swish.Rule
- Swish.Ruleset
- Swish.Script
- Utils
- Swish.VarBinding
Flags
Automatic Flags
Name | Description | Default |
---|---|---|
developer | Turn on developer flags | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- swish-0.8.0.3.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
Versions [RSS] | 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, 0.9.1.9, 0.9.1.10, 0.9.2.0, 0.9.2.1, 0.10.0.0, 0.10.0.1, 0.10.0.2, 0.10.0.3, 0.10.0.4, 0.10.0.5, 0.10.0.6, 0.10.0.7, 0.10.0.8, 0.10.0.9, 0.10.1.0, 0.10.2.0, 0.10.3.0, 0.10.4.0, 0.10.5.0, 0.10.6.0, 0.10.7.0, 0.10.8.0, 0.10.9.0, 0.10.10.0 |
---|---|
Dependencies | base (>=3 && <5), containers (>=0.4 && <0.6), directory (>=1.0 && <1.3), filepath (>=1.1 && <1.4), hashable (>=1.1 && <1.2), intern (>=0.8 && <1.0), mtl (>=2 && <3), network (>=2.2 && <2.5), old-locale (>=1.0 && <1.1), polyparse (>=1.6 && <1.9), semigroups (>=0.5 && <0.9), swish, text (>=0.11 && <0.12), time (>=1.1 && <1.5) [details] |
Tested with | ghc ==7.4.2 |
License | LicenseRef-LGPL |
Copyright | (c) 2003, 2004 G. Klyne; 2009 Vasili I Galchin; 2011, 2012 Doug Burke; All rights reserved. |
Author | Graham Klyne - GK@ninebynine.org |
Maintainer | dburke@cfa.harvard.edu |
Category | Semantic Web |
Home page | https://bitbucket.org/doug_burke/swish/wiki/Home |
Bug tracker | https://bitbucket.org/doug_burke/swish/issues |
Source repo | head: hg clone https://bitbucket.org/doug_burke/swish |
Uploaded | by DouglasBurke at 2012-09-19T19:19:08Z |
Distributions | Debian:0.10.1.0, LTSHaskell:0.10.10.0, NixOS:0.10.9.0, Stackage:0.10.10.0 |
Reverse Dependencies | 1 direct, 0 indirect [details] |
Executables | Swish |
Downloads | 52216 total (3 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |