Name: swish Version: 0.7.0.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.4.2 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.7.0.2@: . * The @Swish.QName.LName@ type now requires all characters to be ASCII. This avoids downstream errors when trying to convert a @QName@ to a @URI@. . Changes in version @0.7.0.1@: . * Internal changes to parsing of URI values for NTriples, Turtle, and N3 parsers (error messages will be slightly different when IRIs are used). Unfortunately IRIs are still not supported. . Changes in version @0.7.0.0@: . For code that uses the Swish script language, the main change is to import @Swish@ rather than @Swish.RDF.SwishMain@, and to note that the other @Swish.RDF.Swish*@ modules are now called @Swish.*@. . For code that uses the graph library, the main changes are that @Swish.RDF.RDFGraph@ is now called @Swish.RDF.Graph@, the @Lit@ constructor of the @RDFLabel@ has been split into three (@Lit@, @LangLit@, and @TypedLit@) and a new @LanguageTag@ type introduced, local names now use the @LName@ type (previously they were just @Text@ values), and the parsers and formatters have renamed to @Swish.RDF.Parser.*@ and @Swish.RDF.Formatter.*@. . * Moved a number of modules around: generic code directly into @Swish@ and the @Swish.RDF.RDF*@ forms renamed to @Swish.RDF.*@. Some modules have been moved out of the @Swish.Utils.*@ namespace. Generic modules have been placed into the @Data.*@ namespace. The @Swish.RDF.Swish*@ modules have been moved to @Swish.*@ and @Swish.RDF.SwishMain@ has been removed; use @Swish@ instead. . * Parsing modules are now in the @Swish.RDF.Parser@ hierarchy and @Swish.RDF.RDFParser@ has been renamed to @Swish.RDF.Parser.Utils@. . * Formatting modules are now in the @Swish.RDF.Formatter@ hierarchy. . * RDF literals are now stored using the @Lit@, @LangLit@, or @TypedLit@ constructors (@RDFLabel@) rather than using just @Lit@. Language codes are now represented by @Swish.RDF.Vocabulary.LanguageTag@ rather than as a @ScopedName@. . * Local names are now represented by the @Swish.QName.LName@ type rather than as a @Text@ value. A few routines now return a @Maybe@ value rather than error-ing out on invalid input. . * Make use of @Data.List.NonEmpty@ in a few cases. . * Removed @mkTypedLit@ from @Swish.RDF.RDFParser@; use @Swish.RDF.RDFDatatype.makeDataTypedLiteral@ instead. . * Removed @asubj@, @apred@ and @aobj@ from @Swish.RDF.GraphClass@ and @Swish.RDF.RDFGraph@; use @arcSubj@, @arcPred@ or @arcObj@ instead. . * Removed un-used @containedIn@ element of the @LDGraph@ type class. The arguments to @setArcs@ have been flipped, @replaceArcs@ removed, @add@ renamed to @addGraphs@, and @emptyGraph@ added. . * Removed un-used exports from @Swish.Utils.PartOrderedCollection@: @partCompareOrd@, @partCompareMaybe@, @partCompareListOrd@, and @partCompareListPartOrd@. . * Removed the @Swish.Utils.MiscHelpers@ module and moved single-use functionality out of @Swish.Utils.ListHelpers@. . * Removed various exported symbols from a range of modules as they were unused. . * Use @Word32@ rather than @Int@ for label indexes (@Swish.GraphMatch.LabelIndex@) and in the bnode counts when formatting to N3/Turtle. . * Minor clean up of the @LookupMap@ module: @mergeReplaceOrAdd@ and @mergeReplace@ are now combined into @mergeReplace@; @mapSelect@, @mapApplyToAll@, and @mapTranslate*@ have been removed; documentation slightly improved; and a few minor internal clean ups. . * Clarified that @Swish.RDF.RDFDatatypeXsdDecimal@ is for @xsd:decimal@ rather than @xsd:double@. . * Support using versions 0.8 or 0.9 of the @intern@ package and version 0.5 of @containers@. . * Switch to @Control.Exception.try@ to avoid deprecation warnings from @System.IO.Error.try@. . Changes in previous versions can be found at . . 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.6, directory >= 1.0 && < 1.2, filepath >= 1.1 && < 1.4, hashable == 1.1.*, mtl >= 2 && < 3, network >= 2.2 && < 2.4, old-locale == 1.0.*, polyparse >= 1.6 && < 1.9, semigroups >= 0.5 && < 0.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 && < 1.0 Hs-Source-Dirs: src/ Exposed-Modules: Data.Interned.URI Data.LookupMap Data.Ord.Partial Data.String.ShowLines 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 >=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.*, semigroups >= 0.5 && < 0.9, 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 -- 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 >=3 && < 5, swish