trait AVET extends GenericNs
AVET Index.
"The AVET index provides efficient access to particular combinations of attribute and value." (from Datomic documentation)
Access the AVET Index in Molecule by instantiating an AVET object with one or more arguments and then add generic attributes:
// Create AVET Index molecule with 1 entity id argument AVET(":Person/age").e.v.t.get === List( (e1, 42, t2), (e2, 37, t5) (e3, 14, t7), ) // Narrow search with multiple arguments AVET(":Person/age", 42).e.t.get === List( (e1, t2) ) AVET(":Person/age", 42, e1).e.v.get === List( (e1, t2) ) AVET(":Person/age", 42, e1, t2).e.v.get === List( (e1, t2) )
The AVET Index can be filtered by a range of values between from
(inclusive) and
until
(exclusive) for an attribute:
AVET.range(":Person/age", Some(14), Some(37)).v.e.t.get === List( (14, e4, t7) // 14 is included in value range // 37 not included in value range // 42 outside value range ) // If `from` is None, the range starts from the beginning AVET.range(":Person/age", None, Some(40)).v.e.t.get === List( (14, e3, t7), (37, e2, t5), ) // If `until` is None, the range goes to the end AVET.range(":Person/age", Some(20), None).v.e.t.get === List( (37, e2, t5), (42, e1, t2) )
Index attributes available:
e
- Entity id (Long)a
- Full attribute name like ":Person/name" (String)v
- Value of Datoms (Any)t
- Transaction pointer (Long/Int)tx
- Transaction entity id (Long)txInstant
- Transaction wall clock time (java.util.Date)op
- Operation status: assertion (true) / retraction (false)
- Source
- AVET.scala
- Note
The Molecule Index API's don't allow returning the whole Index/the whole database. So omitting arguments constructing the Index object (like
AVET.a.v.e.t.get
) will throw an exception.
Please use Datomics API if you need to return the whole database Index:
conn.db.datoms(datomic.Database.AVET)
from
anduntil
cannot both be None since Molecule doesn't allow returning all datoms.- See also
Tests for more Index query examples.
- Alphabetic
- By Inheritance
- AVET
- GenericNs
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- final class a[Ns, In] extends OneString[Ns, In] with Indexed
(Partition)-Namespace-prefixed attribute name (":part_Ns/attr")
- final class e[Ns, In] extends OneLong[Ns, In] with Indexed
Entity id (Long)
- final class op[Ns, In] extends OneBoolean[Ns, In] with Indexed
Transaction operation: assertion (true) or retraction (false)
- final class t[Ns, In] extends OneLong[Ns, In] with Indexed
Transaction point in time
t
(Long/Int) - final class tx[Ns, In] extends OneLong[Ns, In] with Indexed
Transaction entity id (Long)
- final class txInstant[Ns, In] extends OneDate[Ns, In] with Indexed
Transaction wall-clock time (Date)
- final class v[Ns, In] extends OneAny[Ns, In] with Indexed
Datom value (Any)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
Documentation/API for the Molecule library - a meta DSL for the Datomic database.
Manual | scalamolecule.org | Github | Forum