Name: swish Version: 0.6.5.2 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 Doug Burke; All rights reserved. Maintainer: dburke@cfa.harvard.edu Category: Semantic Web Synopsis: A semantic web toolkit. Tested-With: GHC==7.0.4 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: . [Version 0.6.5.2] Update cabal to allow @polyparse@ version @1.8@ and hopefully to build with ghc 7.4. The tests and application now build against the library rather than re-compiling (internal change only, thanks to a hint seen on haskell-cafe a while back). . [Version 0.6.5.1] Haddock fixes for @0.6.5.0@. . [Version 0.6.5.0] Export "Swish.RDF.TurtleFormatter.parseText". Updated @filepath@ dependency and removed unused @array@ one. . [Version 0.6.4.0] Added support for xsd:decimal with "Swish.RDF.RDFDatatypeXsdDecimal" and "Swish.RDF.MapXsdDecimal" thanks to William Waites . Added "Swish.RDF.Vocabulary.Provenance". . [Version 0.6.3.0] Added "Swish.RDF.Vocabulary.SIOC". . [Version 0.6.2.1] Hackage did not want to upload @0.6.2.0@, so re-try by disabling the @hpc@ and @developer@ flags for the tests to work around what appears to be . . [Version 0.6.2.0] Updated "Swish.RDF.Vocabulary" and "Swish.RDF.RDFGraph" to include more common RDF terms. Added "Swish.RDF.Vocabulary.DublinCore", "Swish.RDF.Vocabulary.FOAF", and "Swish.RDF.Vocabulary.Geo" modules, "Swish.RDF.Vocabulary.OWL", "Swish.RDF.Vocabulary.RDF", and "Swish.RDF.Vocabulary.XSD" modules (re-exported from "Swish.RDF.Vocabulary" as necessary). The test suite has been updated to take advantage of the support in recent Cabal versions which means that the @tests@ flag has been removed and the minimum Cabal version increased to @1.9.2@. A change was made to the internal labelling of the RDFS container-property axioms in "Swish.RDF.RDFProofContext". . [Version 0.6.1.2] Corrected minimum mtl constraint from 1 to 2 and updated the maximum time version to 1.4 from 1.3. . [Version 0.6.1.1] Minor improvement to the error message produced by the Turtle, Ntriples, and N3 parsers: a fragment of the remaining text is included to provide some context (still lacking compared to the information provided in version 0.3.2.1). . [Version 0.6.1.0] Added support for Turtle format (added the "Swish.RDF.TurtleFormatter" and "Swish.RDF.TurtleParser" modules). . [Version 0.6.0.2] Minor internal changes. . [Version 0.6.0.1] Moved to using hashing routine using the @Data.Hashable@ interface rather than "Swish.Utils.MiscHelpers", which is deprecated. . [Version 0.6.0.0] Add "Data.Interned.URI" and use it to speed up the 'QName' equality check. . [Version 0.5.0.3] Didn't get all the required @FlexibleInstances@. . [Version 0.5.0.2] HUnit constraint is only added when the @tests@ flag is used. Removed random and bytestring constraints. Add @FlexibleInstances@ pragma for ghc 7.2 compatability. . [Version 0.5.0.1] Update bounds on package constraints to try and get a successful build on ghc 7.2; removed parallel constraint as not used. . [Version 0.5.0.0] The constructors for @ScopedName@ and @QName@ have been removed to hide some experimental optimisations (partly added in 0.4.0.0); @Namespace@ has seen a similar change but no optimisation. Output speed should be improved but no systematic analysis has been performed. . [Version 0.4.0.0] Moving to using polyparse for parsing and @Text@ rather than @String@ where appropriate. Use of @URI@ and @Maybe Text@ rather than @String@ in the @Namespace@ type. Removed the Swish.Utils.DateTime and Swish.Utils.TraceHelpers modules. Symbols have been removed from the export lists of the following modules: Swish.Utils.LookupMap, Swish.Utils.ListHelpers, Swish.Utils.MiscHelpers, Swish.Utils.ShowM. Some significant improvements to parsing speed, but no concerted effort or checks made yet. . [Version 0.3.2.1] Marked a number of routines from the Swish.Utils modules as deprecated. Use foldl' rather than foldl. . [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.toRDFGraph' now 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:double@ values are not written using XSD canonical form/capital @E@ but with a lower-case @e@. On input of N3, literals that match @xsd:double@ are converted to XSD canonical form (as stored in 'RDFLabel'), which can make simple textual comparison of literals fail. The 'Eq' instance of 'RDFLabel' now ignores the case of the language tag for literals and the 'Show' instance uses XSD canonical form for @xsd:boolean@, @xsd:integer@, @xsd:decimal@ and @xsd:double@ literals. Noted that the 'ToRDFLable' and 'FromRDFLabel' classes replicate existing functionality in the "Swish.RDF.RDFDatatype" module. . [Version 0.3.1.0] Added the `Swish.RDF.RDFGraph.ToRDFLabel` and `Swish.RDF.RDFGraph.FromRDFLabel` classes and the `Swish.RDF.RDFGraph.toRDFTriple` and `Swish.RDF.RDFGraph.fromRDFTriple` functions. Added instances: @IsString RDFLabel@, @IsString QName@, @IsString ScopedName@ and @Monoid 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 with @xsd:boolean@, @xsd:integer@, @xsd:decimal@ and @xsd:double@ types as literals rather than as a typed string. . [Version 0.3.0.3] Changed @scripts/SwishExample.ss@ script 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.ss@ test pass again. Several commands in Swish scripts now create screen output (mainly to check what it is doing). Added the @developer@ flag 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 only @VehicleCapacity.ss@ works with this release. . [Version 0.3.0.0] is an attempt to update version 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: . - . - . - CWM: . Build-Type: Simple Data-Files: README scripts/*.ss Source-repository head type: mercurial location: https://bitbucket.org/doug_burke/swish Flag developer Description: Turn on developer flags Default: False -- Flag hpc -- Description: Use Hpc for the tests -- Default: False Library Build-Depends: base >=3 && < 5, binary == 0.5.*, containers >= 0.3 && < 0.5, directory >= 1.0 && < 1.2, filepath >= 1.1 && < 1.4, hashable == 1.1.*, -- intern == 0.8, mtl >= 2 && < 3, network >= 2.2 && < 2.4, old-locale == 1.0.*, polyparse >= 1.6 && < 1.9, text == 0.11.*, 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.* Hs-Source-Dirs: src/ Exposed-Modules: 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.MapXsdDecimal Swish.RDF.MapXsdInteger Swish.RDF.NTFormatter Swish.RDF.NTParser Swish.RDF.N3Formatter Swish.RDF.N3Parser Swish.RDF.Proof Swish.RDF.RDFDatatype Swish.RDF.RDFDatatypeXsdDecimal 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.TurtleFormatter Swish.RDF.TurtleParser 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.Utils.ListHelpers Swish.Utils.LookupMap Swish.Utils.MiscHelpers Swish.Utils.Namespace Swish.Utils.PartOrderedCollection Swish.Utils.QName Swish.Utils.ShowM Data.Interned.URI 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 >=3 && < 5, HUnit == 1.2.*, swish 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 >=3 && < 5, HUnit == 1.2.*, swish 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 >=3 && < 5, HUnit == 1.2.*, swish 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 >=3 && < 5, HUnit == 1.2.*, swish, text == 0.11.* 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 >=3 && < 5, HUnit == 1.2.*, network >= 2.2 && < 2.4, swish, text == 0.11.* 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 >=3 && < 5, HUnit == 1.2.*, network >= 2.2 && < 2.4, swish, text == 0.11.* 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 >=3 && < 5, HUnit == 1.2.*, network >= 2.2 && < 2.4, swish, text == 0.11.* 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 >=3 && < 5, HUnit == 1.2.*, network >= 2.2 && < 2.4, old-locale == 1.0.*, swish, text == 0.11.*, time >= 1.1 && < 1.5 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 >=3 && < 5, HUnit == 1.2.*, network >= 2.2 && < 2.4, swish, text == 0.11.* 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 >=3 && < 5, HUnit == 1.2.*, network >= 2.2 && < 2.4, swish, text == 0.11.* 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 >=3 && < 5, HUnit == 1.2.*, network >= 2.2 && < 2.4, swish, text == 0.11.* 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 >=3 && < 5, HUnit == 1.2.*, network >= 2.2 && < 2.4, swish, text == 0.11.* 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 >=3 && < 5, HUnit == 1.2.*, swish Test-Suite test-lookupmap type: exitcode-stdio-1.0 Hs-Source-Dirs: tests/ Main-Is: LookupMapTest.hs Other-Modules: TestHelpers ghc-options: -Wall -fno-warn-orphans Build-Depends: base >=3 && < 5, HUnit == 1.2.*, swish 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 >=3 && < 5, HUnit == 1.2.*, network >= 2.2 && < 2.4, swish, text == 0.11.* -- we do not have the data files to run this test Executable SwishTest Main-Is: tests/SwishTest.hs 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 >=3 && < 5, swish