trait VAET extends GenericNs
VAET reverse Index.
"The VAET index contains all and only datoms whose attribute has a :db/valueType of :db.type/ref. This is also known as the reverse index, since it allows efficient navigation of relationships in reverse." (from Datomic documentation)
Access the VAET Index in Molecule by instantiating a VAET object with one or more arguments and then add generic attributes:
// Say we have 3 entities pointing to one entity: Release.e.name.Artists.e.name.get === List( (r1, "Abbey Road", a1, "The Beatles"), (r2, "Magical Mystery Tour", a1, "The Beatles"), (r3, "Let it be", a1, "The Beatles"), ) // .. then we can get the reverse relationships with the VAET Index: VAET(a1).v.a.e.get === List( (a1, ":Release/artists", r1), (a1, ":Release/artists", r2), (a1, ":Release/artists", r3), ) // Narrow search with multiple arguments VAET(a1, ":Release/artist").e.get === List(r1, r2, r3) VAET(a1, ":Release/artist", r2).e.get === List(r2) VAET(a1, ":Release/artist", r2, t7).e.get === List(r2)
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
- VAET.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
VAET.v.a.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.VAET)
- See also
Tests for more Index query examples.
- Alphabetic
- By Inheritance
- VAET
- 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