Packages

  • package root

    Documentation/API for the Molecule library - a meta DSL for the Datomic database.

    scalamolecule.org | Github | Forum

    Definition Classes
    root
  • package molecule

    Molecule library - a Scala meta-DSL for the Datomic database.

    Molecule library - a Scala meta-DSL for the Datomic database.

    Definition Classes
    root
  • package core
    Definition Classes
    molecule
  • package expression

    Attribute expressions and operations.

    Attribute expressions and operations.

    Refine attribute matches with various attribute expressions:

    Person.age(42)                           // equality
    Person.name.contains("John")             // fulltext search
    Person.age.!=(42)                        // negation (or `not`)
    Person.age.<(42)                         // comparison (< > <= >=)
    Person.name("John" or "Jonas")           // OR-logic
    Person.age()                             // apply empty value to retract value(s) in updates
    Person.hobbies.assert("golf")            // add value(s) to card-many attributes
    Person.hobbies.retract("golf")           // retract value(s) of card-many attributes
    Person.hobbies.replace("golf", "diving") // replace value(s) of card-many attributes
    Person.tags.k("en")                      // match values of map attributes by key
    Person.age(Nil)                          // match non-asserted datoms (null)
    Person.name(?)                           // initiate input molecules awaiting input at runtime
    Person.name(unify)                       // Unify attributes in self-joins

    Apply aggregate keywords to aggregate attribute value(s):

    // Aggregates on any attribute type
    Person.age(count).get.map(_.head ==> 3)         // count of asserted `age` attribute values
    Person.age(countDistinct).get.map(_.head ==> 3) // count of asserted distinct `age` attribute values
    Person.age(max).get.map(_.head ==> 38)          // maximum `age` value (using `compare`)
    Person.age(min).get.map(_.head ==> 5)           // maximum `age` value (using `compare`)
    Person.age(rand).get.map(_.head ==> 25)         // single random `age` value
    Person.age(sample).get.map(_.head ==> 27)       // single sample `age` value (when single value, same as random)
    
    // Aggregates on any attribute type, returning multiple values
    Person.age(distinct).get.map(_.head ==> Vector(5, 7, 38)) // distinct `age` values
    Person.age(max(2)).get.map(_.head ==> Vector(38, 7))      // 2 maximum `age` values
    Person.age(min(2)).get.map(_.head ==> Vector(5, 7))       // 2 minimum `age` values
    Person.age(rand(2)).get.map(_.head ==> Stream(5, ?))      // 2 random `age` values (values can re-occur)
    Person.age(sample(2)).get.map(_.head ==> Vector(7, 38))   // 2 sample `age` values
    
    // Aggregates on number attributes
    Person.age(sum).get.map(_.head ==> 50)                  // sum of all `age` numbers
    Person.age(avg).get.map(_.head ==> 16.66666667)         // average of all `age` numbers
    Person.age(median).get.map(_.head ==> 7)                // median of all `age` numbers
    Person.age(stddev).get.map(_.head ==> 15.107025591499)  // standard deviation of all `age` numbers
    Person.age(variance).get.map(_.head ==> 228.2222222222) // variance of all `age` numbers
    Definition Classes
    core
  • package aggregates
    Definition Classes
    expression
  • object aggr_13
    Definition Classes
    aggregates
  • Aggr_13_L0
  • Aggr_13_L1
  • Aggr_13_L2
  • Aggr_13_L3
  • Aggr_13_L4
  • Aggr_13_L5
  • Aggr_13_L6
  • Aggr_13_L7

trait Aggr_13_L3[o0[_], p0, o1[_], p1, o2[_], p2, o3[_], p3, A, B, C, D, E, F, G, H, I, J, K, L, M, Ns[_[_], _, _[_], _, _[_], _, _[_], _, _, _, _, _, _, _, _, _, _, _, _, _, _]] extends AnyRef

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Aggr_13_L3
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

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. def apply(v: api.Keywords.stddev): Ns[o0, p0, o1, p1, o2, p2, o3, p3, A, B, C, D, E, F, G, H, I, J, K, L, Double]
  5. def apply(v: api.Keywords.variance): Ns[o0, p0, o1, p1, o2, p2, o3, p3, A, B, C, D, E, F, G, H, I, J, K, L, Double]
  6. def apply(v: api.Keywords.avg): Ns[o0, p0, o1, p1, o2, p2, o3, p3, A, B, C, D, E, F, G, H, I, J, K, L, Double]
  7. def apply(v: api.Keywords.countDistinct): Ns[o0, p0, o1, p1, o2, p2, o3, p3, A, B, C, D, E, F, G, H, I, J, K, L, Int]
  8. def apply(v: api.Keywords.count): Ns[o0, p0, o1, p1, o2, p2, o3, p3, A, B, C, D, E, F, G, H, I, J, K, L, Int]
  9. def apply(v: api.Keywords.samples): Ns[o0, p0, o1, p1, o2, p2, o3, p3, A, B, C, D, E, F, G, H, I, J, K, L, List[M]]
  10. def apply(v: api.Keywords.rands): Ns[o0, p0, o1, p1, o2, p2, o3, p3, A, B, C, D, E, F, G, H, I, J, K, L, List[M]]
  11. def apply(v: api.Keywords.distinct): Ns[o0, p0, o1, p1, o2, p2, o3, p3, A, B, C, D, E, F, G, H, I, J, K, L, List[M]]
  12. def apply(v: api.Keywords.maxs): Ns[o0, p0, o1, p1, o2, p2, o3, p3, A, B, C, D, E, F, G, H, I, J, K, L, List[M]]
  13. def apply(v: api.Keywords.mins): Ns[o0, p0, o1, p1, o2, p2, o3, p3, A, B, C, D, E, F, G, H, I, J, K, L, List[M]]
  14. def apply(v: api.Keywords.median): Ns[o0, p0, o1, p1, o2, p2, o3, p3, A, B, C, D, E, F, G, H, I, J, K, L, M]
  15. def apply(v: api.Keywords.sum): Ns[o0, p0, o1, p1, o2, p2, o3, p3, A, B, C, D, E, F, G, H, I, J, K, L, M]
  16. def apply(v: api.Keywords.sample): Ns[o0, p0, o1, p1, o2, p2, o3, p3, A, B, C, D, E, F, G, H, I, J, K, L, M]
  17. def apply(v: api.Keywords.rand): Ns[o0, p0, o1, p1, o2, p2, o3, p3, A, B, C, D, E, F, G, H, I, J, K, L, M]
  18. def apply(v: api.Keywords.max): Ns[o0, p0, o1, p1, o2, p2, o3, p3, A, B, C, D, E, F, G, H, I, J, K, L, M]
  19. def apply(v: api.Keywords.min): Ns[o0, p0, o1, p1, o2, p2, o3, p3, A, B, C, D, E, F, G, H, I, J, K, L, M]
  20. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  21. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  22. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  24. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  25. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  26. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  27. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  28. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  29. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  30. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  31. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  32. def toString(): String
    Definition Classes
    AnyRef → Any
  33. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped