trait GenericVAET extends AnyRef
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:
for { // Say we have 3 entities pointing to one entity: _ <- Release.e.name.Artists.e.name.get.map(_ ==> 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.map(_ ==> List( (a1, ":Release/artists", r1), (a1, ":Release/artists", r2), (a1, ":Release/artists", r3), )) // Narrow search with multiple arguments _ <- VAET(a1, ":Release/artist").e.get.map(_ ==> List(r1, r2, r3)) _ <- VAET(a1, ":Release/artist", r2).e.get.map(_ ==> List(r2)) _ <- VAET(a1, ":Release/artist", r2, t7).e.get.map(_ ==> List(r2)) } yield ()
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
- GenericVAET.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)
- Alphabetic
- By Inheritance
- GenericVAET
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
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( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- 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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
object
VAET extends VAET_0_0_L0[VAET_, Init] with FirstNS
VAET Index object to start VAET reverse Index molecule.

Documentation/API for the Molecule library - a meta DSL for the Datomic database.
scalamolecule.org | Github | Forum