trait EAVT extends GenericNs
EAVT Index.
"The EAVT index provides efficient access to everything about a given entity. Conceptually this is very similar to row access style in a SQL database, except that entities can possess arbitrary attributes rather then being limited to a predefined set of columns." (from Datomic documentation)
Access the EAVT Index in Molecule by instantiating an EAVT object with one or more arguments and then add generic attributes:
// Create EAVT Index molecule with 1 entity id argument EAVT(e1).e.a.v.t.get === List( (e1, ":Person/name", "Ben", t1), (e1, ":Person/age", 42, t2), (e1, ":Golf/score", 5.7, t2) ) // Narrow search with multiple arguments EAVT(e1, ":Person/age").a.v.get === List( (":Person/age", 42) ) EAVT(e1, ":Person/age", 42).a.v.get === List( (":Person/age", 42) ) EAVT(e1, ":Person/age", 42, t1).a.v.get === List( (":Person/age", 42) )
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
- EAVT.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
EAVT.e.a.v.t.get
) will throw an exception.
Please use Datomics API if you need to return the whole database Index:
conn.db.datoms(datomic.Database.EAVT)
- See also
Tests for more Index query examples.
- Alphabetic
- By Inheritance
- EAVT
- 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