swish-0.10.4.0: A semantic web toolkit.

# swish-0.10.4.0: 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://gitlab.com/dburke/swish/raw/master/CHANGELOG file.

References:

- http://www.ninebynine.org/RDFNotes/Swish/Intro.html
- http://www.ninebynine.org/Software/swish-0.2.1.html
- CWM: http://www.w3.org/2000/10/swap/doc/cwm.html

Modules

swish-0.10.4.0

- Data
  Submodules
  - Interned
    Submodules
    - Data.Interned.URI
  - Ord
    Submodules
    - Data.Ord.Partial
  - String
    Submodules
    - Data.String.ShowLines
- Network
  Submodules
  - URI
    Submodules
    - Network.URI.Ord
- Swish
  Submodules
  - Swish.Commands
  - Swish.Datatype
  - Swish.GraphClass
  - Swish.GraphMatch
  - Swish.GraphMem
  - Swish.GraphPartition
  - Swish.Monad
  - Swish.Namespace
  - Swish.Proof
  - Swish.QName
  - Swish.RDF
    Submodules
    - Swish.RDF.BuiltIn
      Submodules
      - Swish.RDF.BuiltIn.Datatypes
      - Swish.RDF.BuiltIn.Rules
    - Swish.RDF.ClassRestrictionRule
    - Swish.RDF.Datatype
      Submodules
      - XSD
        Submodules
        - Swish.RDF.Datatype.XSD.Decimal
        - Swish.RDF.Datatype.XSD.Integer
        - Swish.RDF.Datatype.XSD.MapDecimal
        - Swish.RDF.Datatype.XSD.MapInteger
        - Swish.RDF.Datatype.XSD.String
    - Formatter
      Submodules
      - Swish.RDF.Formatter.N3
      - Swish.RDF.Formatter.NTriples
      - Swish.RDF.Formatter.Turtle
    - Swish.RDF.Graph
    - Swish.RDF.GraphShowLines
    - Parser
      Submodules
      - Swish.RDF.Parser.N3
      - Swish.RDF.Parser.NTriples
      - Swish.RDF.Parser.Turtle
      - Swish.RDF.Parser.Utils
    - Swish.RDF.Proof
    - Swish.RDF.ProofContext
    - Swish.RDF.Query
    - Swish.RDF.Ruleset
    - Swish.RDF.VarBinding
    - Swish.RDF.Vocabulary
      Submodules
      - Swish.RDF.Vocabulary.DublinCore
      - Swish.RDF.Vocabulary.FOAF
      - Swish.RDF.Vocabulary.Geo
      - Swish.RDF.Vocabulary.OWL
      - Swish.RDF.Vocabulary.Provenance
      - Swish.RDF.Vocabulary.RDF
      - Swish.RDF.Vocabulary.SIOC
      - Swish.RDF.Vocabulary.XSD
  - Swish.Rule
  - Swish.Ruleset
  - Swish.Script
  - Utils
    Submodules
    - Swish.Utils.ListHelpers
  - Swish.VarBinding