swish-0.9.0.15: 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.9.0.15
:
- Updated the upper bound on the semigroups dependency.
Changes in version 0.9.0.14
:
- Updated the upper bound on the network dependency.
Changes in version 0.9.0.13
:
- Updated the upper bound on the semigroups dependency.
Changes in version 0.9.0.12
:
- Updated the upper bound on the text dependency to include version 1.1 (requires an update to semigroups to use).
Changes in version 0.9.0.11
:
- Hackage has a better chance of finding the CHANGELOG file if it is included in the distribution! There are *no* changes to the library or examples.
Changes in version 0.9.0.10
:
- Renamed CHANGES to CHANGELOG in the hope it will get picked up by Hackage. There are *no* changes to the library or examples.
Changes in version 0.9.0.9
:
- Updated the upper bound on the semigroups dependency (thanks to Leif Warner).
- Updated the upper bound on the text dependency (however, requires changes to intern and semigroups to use).
Changes in version 0.9.0.8
:
- Updated the upper bound on the semigroups dependency (thanks to Leif Warner).
- Display library version when running the
runw3ctests
executable and ensure there is a space between file name and test result in the screen output.
Changes in version 0.9.0.7
:
- Minor documentation fix for
Swish.RDF.Graph.quote
.
Changes in version 0.9.0.6
:
- Turtle/N3 output:
\f
characters in literals are converted to\u000C
to work around some interoperability issues. - Changed the test handling to use
test-framework
.
Changes in version 0.9.0.5
:
- Turtle/N3 output: more changes for string literals containing double-quote characters.
- N3 Parser: parsing of string literals within three quote marks has been updated to match the Turtle parser.
- Turtle Parser: a few more error messages have been added.
Changes in version 0.9.0.4
:
- Turtle parser: updated to the Candidate Recommendation (19 February 2013) specification; added minor improvements to error messages when given invalid syntax. As part of the upgrade, there is no longer a default namespace set up for the empty prefix and numeric literals are no-longer converted into a canonical form.
- Turtle/N3 output: improved string formatting (better handling of
string literals with three or more consecutive
"
characters); blank node handling has been improved but the output may not be as elegant. - NTriples parser: now accepts upper-case language tags such as
en-UK
(case is preserved). -
Swish.QName.LName
names can now contain#
,:
and/
characters. - Added tests for the Turtle parser and formatter.
- The new
w3ctests
flag will build therunw3ctests
executable, which will run the W3C Turtle tests (if downloaded from http://www.w3.org/2013/TurtleTests/). - Minor fixes and additions to the documentation.
Changes in version 0.9.0.3
:
- Minor Haddock fix to
Swish.RDF.Parser.Utils.appendURIs
.
Changes in version 0.9.0.2
:
- Updated the upper bound on the polyparse dependency.
Changes in version 0.9.0.1
:
- Updated the upper bound on the semigroups dependency (thanks to Leif Warner).
Changes in version 0.9.0.0
:
- Updated to support
hashable-1.2
series; although this should *not* change the API from the0.8
series, I have decided to bump up the version to0.9
just in case. - Fix failing test on 64-bit GHC (no change to the library).
Changes in previous versions can be found at 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