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:
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:
- Version 0.3.2.0
- The N3 parser no longer assumes a set of pre-defined namespaces. There is no API change worthy of a bump to the minor version number, but it is a large-enough change in behaviour that I felt the need for the update.
- Version 0.3.1.2
Swish.RDF.RDFGraph.toRDFGraphnow sets up the namespace map of the graph based on the input labels (previously it left the map empty).- Version 0.3.1.1
- Bug fixes for N3 format: strings ending in a
double quote character are now written out correctly and
xsd:doublevalues are not written using XSD canonical form/capitalEbut with a lower-casee. On input of N3, literals that matchxsd:doubleare converted to XSD canonical form (as stored inRDFLabel), which can make simple textual comparison of literals fail. TheEqinstance ofRDFLabelnow ignores the case of the language tag for literals and theShowinstance uses XSD canonical form forxsd:boolean,xsd:integer,xsd:decimalandxsd:doubleliterals. Noted that theToRDFLableandFromRDFLabelclasses replicate existing functionality in the Swish.RDF.RDFDatatype module. - Version 0.3.1.0
- Added the
Swish.RDF.RDFGraph.ToRDFLabelandSwish.RDF.RDFGraph.FromRDFLabelclasses and theSwish.RDF.RDFGraph.toRDFTripleandSwish.RDF.RDFGraph.fromRDFTriplefunctions. Added instances:IsString RDFLabel,IsString QName,IsString ScopedNameandMonoid NSGraph. The modules Swish and Swish.RDF have been introduced to provide documentation. The module Swish.Utils.DateTime is deprecated and will be removed in a later release. The N3 formatter now writes out literals withxsd:boolean,xsd:integer,xsd:decimalandxsd:doubletypes as literals rather than as a typed string. - Version 0.3.0.3
- Changed
scripts/SwishExample.ssscript so that the proof succeeds. Some documentation improvements, including a discussion of the Swish script format (see Swish.RDF.SwishScript). Very minor changes to behavior of Swish in several edge cases. - Version 0.3.0.2
- Bugfix: stop losing triples with a bnode subject when
using the N3Formatter; this also makes the
scripts/SwishTest.sstest pass again. Several commands in Swish scripts now create screen output (mainly to check what it is doing). Added thedeveloperflag for building. - Version 0.3.0.1
- updates the Swish script parser to work with the
changes in 0.3.0.0 (reported by Rick Murphy).
Several example scripts are installed in the
scripts/directory, although onlyVehicleCapacity.ssworks with this release. - Version 0.3.0.0
- is an attempt to update version 0.2.1 (http://hackage.haskell.org/package/swish-0.2.1/) to build against a recent ghc install, with some clean ups - including support for the current N3 specification - and the addition of the NTriples format. It has not been tested against ghc7.
References:
[Skip to Readme]
Modules
[Index]
- Swish
- Swish.RDF
- Swish.RDF.BuiltInDatatypes
- Swish.RDF.BuiltInMap
- Swish.RDF.BuiltInRules
- Swish.RDF.ClassRestrictionRule
- Swish.RDF.Datatype
- Swish.RDF.GraphClass
- Swish.RDF.GraphMatch
- Swish.RDF.GraphMem
- Swish.RDF.GraphPartition
- Swish.RDF.MapXsdInteger
- Swish.RDF.N3Formatter
- Swish.RDF.N3Parser
- Swish.RDF.NTFormatter
- Swish.RDF.NTParser
- Swish.RDF.Proof
- Swish.RDF.RDFDatatype
- Swish.RDF.RDFDatatypeXsdInteger
- Swish.RDF.RDFDatatypeXsdString
- Swish.RDF.RDFGraph
- Swish.RDF.RDFGraphShowM
- Swish.RDF.RDFParser
- Swish.RDF.RDFProof
- Swish.RDF.RDFProofContext
- Swish.RDF.RDFQuery
- Swish.RDF.RDFRuleset
- Swish.RDF.RDFVarBinding
- Swish.RDF.Rule
- Swish.RDF.Ruleset
- Swish.RDF.SwishCommands
- Swish.RDF.SwishMain
- Swish.RDF.SwishMonad
- Swish.RDF.SwishScript
- Swish.RDF.VarBinding
- Swish.RDF.Vocabulary
- Utils
- Swish.RDF
Flags
Automatic Flags
| Name | Description | Default |
|---|---|---|
| developer | Turn on developer flags | Disabled |
| tests | Build the test programs. | Disabled |
| hpc | Use Hpc for the tests | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- swish-0.3.2.0.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 | array (>=0.3 && <0.4), base (>=3 && <5), binary (>=0.5 && <0.6), bytestring (>=0.9 && <0.10), containers (>=0.3 && <0.4), directory (>=1.0 && <=1.1), filepath (>=1.1 && <=1.2), HUnit (>=1.2 && <1.3), mtl (>=1 && <3), network (>=2.2 && <2.4), old-locale (>=1.0 && <1.1), old-time (>=1.0 && <1.1), parallel (>=2.2 && <2.3), parsec (>=2.1 && <2.2), random (>=1.0 && <1.1), time (>=1.1 && <1.2) [details] |
| Tested with | ghc ==6.12.3 |
| License | LicenseRef-LGPL |
| Copyright | (c) 2003, 2004 G. Klyne; 2009 Vasili I Galchin; 2011 Doug Burke; All rights reserved. |
| Author | Graham Klyne - GK@ninebynine.org |
| Maintainer | dburke@cfa.harvard.edu |
| Uploaded | by DouglasBurke at 2011-06-16T21:25:14Z |
| 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, QNameTest, LookupMapTest, VarBindingTest, RDFRulesetTest, RDFQueryTest, RDFProofTest, RDFProofContextTest, RDFGraphTest, RDFDatatypeXsdIntegerTest, N3FormatterTest, N3ParserTest, NTTest, GraphTest, GraphPartitionTest, BuiltInMapTest |
| Downloads | 53743 total (258 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] |