swish-0.9.1.5: 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 are given in the https://bitbucket.org/doug_burke/swish/src/tip/CHANGELOG.
References:
Modules
- 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