module Grakn ( MatchQuery , Graph(Graph, keyspace, url) , GraknError , Result(MatchResult, InsertResult, AskResult, CountResult, DeleteResult) , Var , Name , Value(..) , defaultUrl , defaultKeyspace , execute , match , select , distinct , limit , var , name , isa , (-:) , (.:) , rp , (<:) , rel , has , hasText , var_ ) where import Data.Text (Text) import Grakn.Client (GraknError, Graph (Graph, keyspace, url), Result (AskResult, CountResult, DeleteResult, InsertResult, MatchResult), defaultKeyspace, defaultUrl, execute) import Grakn.Pattern import Grakn.Property import Grakn.Query import Grakn.Util (Convert) -- |Specify a property has a particular type (-:) :: (Convert p Pattern, Convert a VarOrName) => 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 -> Name -> Text -> Pattern hasText = has