Name: swish
Version: 0.9.0.11
Stability: experimental
License: LGPL
License-file: LICENSE
Author: Graham Klyne - GK@ninebynine.org
Copyright: (c) 2003, 2004 G. Klyne; 2009 Vasili I Galchin; 2011, 2012, 2013 Doug Burke; All rights reserved.
Maintainer: dburke@cfa.harvard.edu
Category: Semantic Web
Synopsis: A semantic web toolkit.
Tested-With: GHC==7.6.3
Cabal-Version: >= 1.9.2
Homepage: https://bitbucket.org/doug_burke/swish/wiki/Home
Bug-reports: https://bitbucket.org/doug_burke/swish/issues
Description:
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.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 the @runw3ctests@ executable,
which will run the W3C Turtle tests (if downloaded from
).
.
* 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 the @0.8@ series, I have decided to bump up the version to
@0.9@ just in case.
.
* Fix failing test on 64-bit GHC (no change to the library).
.
Changes in previous versions can be found at .
.
References:
.
-
.
-
.
- CWM:
.
Build-Type: Simple
Extra-Source-Files: README
CHANGELOG
Data-Files: scripts/*.ss
Source-repository head
type: mercurial
location: https://bitbucket.org/doug_burke/swish
Flag developer
Description: Turn on developer flags
Default: False
Flag w3ctests
Description: Build the RunW3CTests application
Default: False
Library
Build-Depends:
base >=3 && < 5,
containers >= 0.4 && < 0.6,
filepath >= 1.1 && < 1.4,
-- Early versions of hashable 1.2 are problematic
hashable (>= 1.1 && < 1.2) || (>= 1.2.0.6 && <1.3),
mtl >= 2 && < 3,
network >= 2.2 && < 2.5,
old-locale == 1.0.*,
polyparse >= 1.6 && <= 1.9,
semigroups >= 0.5 && < 0.13,
text >= 0.11 && < 1.1,
time >= 1.1 && < 1.5
if impl(ghc < 7.4.0)
Build-Depends: intern == 0.8
if impl(ghc >= 7.4.0)
Build-Depends: intern >= 0.8 && < 1.0
if impl(ghc < 7.6.0)
Build-Depends: directory >= 1.0 && < 1.2
if impl(ghc >= 7.6.0)
Build-Depends: directory >= 1.0 && < 1.3
Hs-Source-Dirs: src/
Other-Modules: Swish.RDF.Formatter.Internal
Exposed-Modules:
Data.Interned.URI
Data.Ord.Partial
Data.String.ShowLines
Network.URI.Ord
Swish
Swish.Commands
Swish.Datatype
Swish.GraphClass
Swish.GraphMatch
Swish.GraphMem
Swish.GraphPartition
Swish.Monad
Swish.Namespace
Swish.Proof
Swish.QName
Swish.RDF
Swish.RDF.BuiltIn
Swish.RDF.BuiltIn.Datatypes
Swish.RDF.BuiltIn.Rules
Swish.RDF.ClassRestrictionRule
Swish.RDF.Datatype
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
Swish.RDF.Formatter.NTriples
Swish.RDF.Formatter.N3
Swish.RDF.Formatter.Turtle
Swish.RDF.Graph
Swish.RDF.GraphShowLines
Swish.RDF.Parser.NTriples
Swish.RDF.Parser.N3
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
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
Swish.Utils.ListHelpers
Swish.VarBinding
ghc-options:
-Wall -fno-warn-orphans
if flag(developer)
ghc-options: -Werror
ghc-prof-options: -auto-all
Test-Suite test-builtinmap
type: exitcode-stdio-1.0
Hs-Source-Dirs: tests/
Main-Is: BuiltInMapTest.hs
Other-Modules: TestHelpers
ghc-options:
-Wall -fno-warn-orphans
Build-Depends:
base,
containers,
HUnit == 1.2.*,
swish,
test-framework,
test-framework-hunit == 0.3.*
Test-Suite test-graphpartition
type: exitcode-stdio-1.0
Hs-Source-Dirs: tests/
Main-Is: GraphPartitionTest.hs
Other-Modules: TestHelpers
ghc-options:
-Wall -fno-warn-orphans
Build-Depends:
base,
containers,
HUnit,
semigroups,
swish,
test-framework,
test-framework-hunit == 0.3.*
Test-Suite test-graph
type: exitcode-stdio-1.0
Hs-Source-Dirs: tests/
Main-Is: GraphTest.hs
Other-Modules: TestHelpers
ghc-options:
-Wall -fno-warn-orphans
Build-Depends:
base,
containers,
hashable,
HUnit,
swish,
test-framework,
test-framework-hunit == 0.3.*
Test-Suite test-nt
type: exitcode-stdio-1.0
Hs-Source-Dirs: tests/
Main-Is: NTTest.hs
Other-Modules: TestHelpers
ghc-options:
-Wall -fno-warn-orphans
Build-Depends:
base,
containers,
HUnit,
swish,
test-framework,
test-framework-hunit == 0.3.*,
text
Test-Suite test-turtle
type: exitcode-stdio-1.0
Hs-Source-Dirs: tests/
Main-Is: TurtleTest.hs
ghc-options:
-Wall -fno-warn-orphans
Build-Depends:
base,
containers,
HUnit,
network,
swish,
test-framework,
test-framework-hunit == 0.3.*,
text
Test-Suite test-n3parser
type: exitcode-stdio-1.0
Hs-Source-Dirs: tests/
Main-Is: N3ParserTest.hs
Other-Modules: TestHelpers
ghc-options:
-Wall -fno-warn-orphans
Build-Depends:
base,
containers,
HUnit,
network,
swish,
test-framework,
test-framework-hunit == 0.3.*,
text
Test-Suite test-n3formatter
type: exitcode-stdio-1.0
Hs-Source-Dirs: tests/
Main-Is: N3FormatterTest.hs
Other-Modules: TestHelpers
ghc-options:
-Wall -fno-warn-orphans
Build-Depends:
base,
containers,
HUnit,
network,
swish,
test-framework,
test-framework-hunit == 0.3.*,
text
Test-Suite test-rdfdatatypexsdinteger
type: exitcode-stdio-1.0
Hs-Source-Dirs: tests/
Main-Is: RDFDatatypeXsdIntegerTest.hs
Other-Modules: TestHelpers
ghc-options:
-Wall -fno-warn-orphans
Build-Depends:
base,
containers,
HUnit,
network,
swish,
test-framework,
test-framework-hunit == 0.3.*,
text
Test-Suite test-rdfgraph
type: exitcode-stdio-1.0
Hs-Source-Dirs: tests/
Main-Is: RDFGraphTest.hs
Other-Modules: TestHelpers
ghc-options:
-Wall -fno-warn-orphans
Build-Depends:
base,
containers,
HUnit,
network,
old-locale,
swish,
test-framework,
test-framework-hunit == 0.3.*,
text,
time
Test-Suite test-rdfproofcontext
type: exitcode-stdio-1.0
Hs-Source-Dirs: tests/
Main-Is: RDFProofContextTest.hs
Other-Modules: TestHelpers
ghc-options:
-Wall -fno-warn-orphans
Build-Depends:
base,
containers,
HUnit,
network,
swish,
test-framework,
test-framework-hunit == 0.3.*,
text
Test-Suite test-rdfproof
type: exitcode-stdio-1.0
Hs-Source-Dirs: tests/
Main-Is: RDFProofTest.hs
Other-Modules: TestHelpers
ghc-options:
-Wall -fno-warn-orphans
Build-Depends:
base,
containers,
HUnit,
network,
swish,
test-framework,
test-framework-hunit == 0.3.*,
text
Test-Suite test-rdfquery
type: exitcode-stdio-1.0
Hs-Source-Dirs: tests/
Main-Is: RDFQueryTest.hs
Other-Modules: TestHelpers
ghc-options:
-Wall -fno-warn-orphans
Build-Depends:
base,
containers,
HUnit,
network,
swish,
test-framework,
test-framework-hunit == 0.3.*,
text
Test-Suite test-rdfruleset
type: exitcode-stdio-1.0
Hs-Source-Dirs: tests/
Main-Is: RDFRulesetTest.hs
Other-Modules: TestHelpers
ghc-options:
-Wall -fno-warn-orphans
Build-Depends:
base,
containers,
HUnit,
network,
swish,
test-framework,
test-framework-hunit == 0.3.*,
text
Test-Suite test-varbinding
type: exitcode-stdio-1.0
Hs-Source-Dirs: tests/
Main-Is: VarBindingTest.hs
Other-Modules: TestHelpers
ghc-options:
-Wall -fno-warn-orphans
Build-Depends:
base,
containers,
HUnit,
swish,
test-framework,
test-framework-hunit == 0.3.*
Test-Suite test-qname
type: exitcode-stdio-1.0
Hs-Source-Dirs: tests/
Main-Is: QNameTest.hs
Other-Modules: TestHelpers
ghc-options:
-Wall -fno-warn-orphans
Build-Depends:
base,
containers,
HUnit,
network,
swish,
test-framework,
test-framework-hunit == 0.3.*,
text
-- we do not have the data files to run this test
Executable SwishTest
Main-Is: tests/SwishTest.hs
-- How can we include data files that are only used for
-- benchmark/tests and do not get installed?
Benchmark bench-ntriples
Type: exitcode-stdio-1.0
Hs-Source-Dirs: bench/
Other-Modules: Paths_swish
Main-Is: NTriples.hs
Build-Depends: base,
criterion,
deepseq,
network,
swish,
text
ghc-options: -Wall -fno-warn-orphans
Executable Swish
Main-Is: SwishApp.hs
Hs-Source-Dirs: app/
Other-Modules: Paths_swish
ghc-options:
-Wall -fno-warn-orphans
if flag(developer)
ghc-options: -Werror
ghc-prof-options: -auto-all
Build-Depends:
base,
swish
Executable runw3ctests
Main-Is: RunW3CTests.hs
Hs-Source-Dirs: app/
Other-Modules: Paths_swish
ghc-options:
-Wall -fno-warn-orphans
if flag(developer)
ghc-options: -Werror
ghc-prof-options: -auto-all
if flag(w3ctests)
Build-Depends:
base,
containers,
directory,
filepath,
network,
swish,
text
else
Buildable: False