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)
(-:) :: (Convert p Pattern, Convert a VarOrLabel) => p -> a -> Pattern
(-:) = isa
rel :: Convert a RolePlayer => [a] -> Pattern
rel = (var_ <:)
hasText :: (Convert p Pattern) => p -> Label -> Text -> Pattern
hasText = has