Packages

object query

AST for molecule Query representation.

Molecule transforms custom boilerplate DSL constructs to Datomic queries in 3 steps:

Custom DSL molecule --> Model --> Query --> Datomic query string

Source
query.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. query
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class AggrExpr(fn: String, args: Seq[Any], v: Var) extends Output with Product with Serializable
  2. sealed trait Binding extends QueryTerm
  3. sealed trait Clause extends QueryExpr
  4. case class CollectionBinding(v: Var) extends Binding with Product with Serializable
  5. case class DS(name: String = "") extends DataSource with Product with Serializable
  6. case class DataClause(ds: DataSource, e: QueryValue, a: KW, v: QueryValue, tx: QueryTerm, op: QueryTerm = NoBinding) extends Clause with Product with Serializable
  7. sealed trait DataSource extends QueryTerm
  8. sealed trait ExpressionClause extends Clause
  9. case class Find(outputs: Seq[Output]) extends QueryExpr with Product with Serializable
  10. case class Funct(name: String, ins: Seq[QueryTerm], outs: Binding) extends ExpressionClause with Product with Serializable
  11. case class In(inputs: Seq[Input], rules: Seq[Rule] = Seq(), ds: Seq[DataSource] = Seq(DS)) extends QueryExpr with Product with Serializable
  12. case class InVar(binding: Binding, tpe: String, argss: Seq[Seq[Any]]) extends Input with Product with Serializable
  13. sealed trait Input extends QueryTerm
  14. case class KW(nsFull: String, attr: String, refNs: String = "") extends QueryValue with Product with Serializable
  15. case class NestedAttrs(level: Int, nsFull: String, attr: String, attrSpecs: Seq[PullAttrSpec]) extends PullAttrSpec with Product with Serializable
  16. case class NotClause(e: Var, a: KW) extends Clause with Product with Serializable
  17. case class NotClauses(clauses: Seq[Clause]) extends Clause with Product with Serializable
  18. case class NotJoinClauses(nonUnifyingVars: Seq[Var], clauses: Seq[Clause]) extends Clause with Product with Serializable
  19. sealed trait Output extends QueryExpr
  20. case class Placeholder(e: Var, kw: KW, v: Var, tpe: String, enumPrefix: Option[String] = None) extends Input with Product with Serializable
  21. case class Pull(e: String, nsFull: String, attr: String, enumPrefix: Option[String] = None) extends QueryValue with Output with Product with Serializable
  22. case class PullAttr(nsFull: String, attr: String, opt: Boolean) extends PullAttrSpec with Product with Serializable
  23. sealed trait PullAttrSpec extends QueryValue with Output
  24. case class PullEnum(nsFull: String, attr: String, opt: Boolean) extends PullAttrSpec with Product with Serializable
  25. case class PullNested(e: String, nestedAttrs: NestedAttrs) extends QueryValue with Output with Product with Serializable
  26. case class Query(f: Find, wi: With, i: In, wh: Where) extends QueryExpr with Product with Serializable

    Molecule Query representation.

    Molecule Query representation.

    Molecule transforms custom boilerplate DSL constructs to Datomic queries in 3 steps:

    Custom DSL molecule --> Model --> Query --> Datomic query string

    Query is thus derived from a Model representation.

    f

    Find parameters

    wi

    With parameters

    i

    Input parameters

    wh

    Where parameters: data clauses

  27. sealed trait QueryExpr extends AnyRef
  28. sealed trait QueryTerm extends QueryExpr
  29. sealed trait QueryValue extends QueryTerm
  30. case class RelationBinding(vs: Seq[Var]) extends Binding with Product with Serializable
  31. case class Rule(name: String, vars: Seq[QueryValue], clauses: Seq[Clause]) extends QueryTerm with Product with Serializable
  32. case class RuleInvocation(name: String, args: Seq[QueryTerm]) extends Clause with Product with Serializable
  33. case class ScalarBinding(v: Var) extends Binding with Product with Serializable
  34. case class TupleBinding(vs: Seq[Var]) extends Binding with Product with Serializable
  35. case class Val(v: Any) extends QueryValue with Output with Product with Serializable
  36. case class Var(v: String) extends QueryValue with Output with Product with Serializable
  37. case class Where(clauses: Seq[Clause]) extends QueryExpr with Product with Serializable
  38. case class With(variables: Seq[String]) extends QueryExpr with Product with Serializable

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  16. def toString(): String
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  20. object DS extends DataSource with Product with Serializable
  21. object DataClause extends Serializable
  22. object Empty extends QueryTerm with Product with Serializable
  23. object EmptyQuery extends Query
  24. object ImplDS extends DataSource with Product with Serializable
  25. object NoBinding extends Binding with Product with Serializable
  26. object NoVal extends QueryValue with Output with Product with Serializable
  27. object Query extends Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped