hsparql 0.2.9 → 0.3.0
raw patch · 2 files changed
+30/−6 lines, 2 filesdep ~rdf4hPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: rdf4h
API changes (from Hackage documentation)
+ Database.HSparql.QueryGenerator: (.&&.) :: (TermLike a, TermLike b) => a -> b -> Expr
+ Database.HSparql.QueryGenerator: (.||.) :: (TermLike a, TermLike b) => a -> b -> Expr
+ Database.HSparql.QueryGenerator: infixl 6 .-.
+ Database.HSparql.QueryGenerator: infixl 7 ./.
+ Database.HSparql.QueryGenerator: infixr 2 .||.
+ Database.HSparql.QueryGenerator: infixr 3 .&&.
+ Database.HSparql.QueryGenerator: regexOpts :: BuiltinFunc3
Files
- Database/HSparql/QueryGenerator.hs +27/−3
- hsparql.cabal +3/−3
Database/HSparql/QueryGenerator.hs view
@@ -39,7 +39,7 @@ -- * Term Manipulation -- ** Operations- , (.+.), (.-.), (.*.), (./.)+ , (.+.), (.-.), (.*.), (./.), (.&&.), (.||.) -- ** Relations , (.==.), (.!=.), (.<.), (.>.), (.<=.), (.>=.)@@ -58,7 +58,7 @@ , isURI , isBlank , isLiteral- , regex+ , regex, regexOpts -- * Printing Queries , qshow@@ -308,6 +308,21 @@ (./.) :: (TermLike a, TermLike b) => a -> b -> Expr (./.) = operation Divide +-- | Combine two boolean terms with AND+(.&&.) :: (TermLike a, TermLike b) => a -> b -> Expr+(.&&.) = operation And++-- | Combine two boolean terms with OR+(.||.) :: (TermLike a, TermLike b) => a -> b -> Expr+(.||.) = operation Or++infixr 2 .||.+infixr 3 .&&.+infixl 7 .*.+infixl 7 ./.+infixl 6 .+.+infixl 6 .-.+ -- Relations relation :: (TermLike a, TermLike b) => Relation -> a -> b -> Expr relation rel x y = RelationalExpr rel (expr x) (expr y)@@ -357,6 +372,10 @@ builtinFunc2 :: Function -> BuiltinFunc2 builtinFunc2 f x y = BuiltinCall f [expr x, expr y] +type BuiltinFunc3 = forall a b c . (TermLike a, TermLike b, TermLike c) => a -> b -> c -> Expr+builtinFunc3 :: Function -> BuiltinFunc3+builtinFunc3 f x y z = BuiltinCall f [expr x, expr y, expr z]+ str :: BuiltinFunc1 str = builtinFunc1 StrFunc @@ -390,6 +409,9 @@ regex :: BuiltinFunc2 regex = builtinFunc2 RegexFunc +regexOpts :: BuiltinFunc3+regexOpts = builtinFunc3 RegexFunc+ -- Default QueryData queryData :: QueryData queryData = QueryData@@ -448,7 +470,7 @@ data VarOrNode = Var' Variable | RDFNode Node -data Operation = Add | Subtract | Multiply | Divide+data Operation = Add | Subtract | Multiply | Divide | And | Or data NumericExpr = NumericLiteralExpr Integer | OperationExpr Operation Expr Expr@@ -571,6 +593,8 @@ qshow Subtract = "-" qshow Multiply = "*" qshow Divide = "/"+ qshow And = "&&"+ qshow Or = "||" instance QueryShow NumericExpr where qshow (NumericLiteralExpr n) = show n
hsparql.cabal view
@@ -1,6 +1,6 @@ Name: hsparql Homepage: https://github.com/robstewart57/hsparql-Version: 0.2.9+Version: 0.3.0 Synopsis: A SPARQL query generator and DSL, and a client to query a SPARQL server. Category: Database Description:@@ -27,7 +27,7 @@ , HTTP >= 4 , mtl , xml- , rdf4h >= 2.0.0+ , rdf4h >= 3.0.1 , bytestring , MissingH , network@@ -39,7 +39,7 @@ type: exitcode-stdio-1.0 main-is: AllTests.hs build-depends: hsparql- , rdf4h >= 2.0.0+ , rdf4h >= 3.0.1 , base , text , containers