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.Ordis 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
hashablesince tests fail with1.1.2.5(this is a hack).Updated
directoryconstraint to include1.2on 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
LDGraphclass 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.LookupMapwithData.Map.Map. This has led to the removal of a number of language extensions from some modules.Added
Network.URI.Ordto provide an ordering for URIs.A few other minor changes have been made: the removal of
subsetandequivfromSwish.Utils.ListHelpers; the ordering used forRDFLabelvalues has changed; added aMonoidinstance forVarBinding; addedOrdinstances 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, 0.10.11.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 |
| Uploaded | by DouglasBurke at 2012-09-19T19:19:08Z |
| 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 |
| Reverse Dependencies | 1 direct, 0 indirect [details] |
| Executables | Swish |
| Downloads | 53795 total (178 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] |