module Grakn ( Match , GetQuery , Client(Client, keyspace, url) , GraknError , Result(AnswersResult, AnswerResult, AskResult, CountResult, DeleteResult) , Options(Options, infer) , Var , Label , Value(ValueString, ValueNumber, ValueBool) , defaultUrl , defaultKeyspace , execute , execute_ , match , get , limit , var , label , isa , (-:) , (.:) , rp , (<:) , rel , has , hasText , var_ ) where import Data.Text (Text) import Grakn.Client (Client (Client, keyspace, url), GraknError, Options (Options, infer), Result (AnswerResult, AnswersResult, AskResult, CountResult, DeleteResult), defaultKeyspace, defaultUrl, execute, execute_) import Grakn.Pattern (Pattern, has, isa, var_, (<:)) import Grakn.Property (Label, RolePlayer, Value (ValueBool, ValueNumber, ValueString), Var, VarOrLabel, label, rp, var, (.:)) import Grakn.Query (GetQuery, Match, get, limit, match) import Grakn.Util (Convert) -- |Specify a property has a particular type (-:) :: (Convert p Pattern, Convert a VarOrLabel) => p -> a -> Pattern (-:) = isa -- |Shorthand to define a relation rel :: Convert a RolePlayer => [a] -> Pattern rel = (var_ <:) -- |Specify a property has a resource hasText :: (Convert p Pattern) => p -> Label -> Text -> Pattern hasText = has