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
- All
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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.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
- @native() @throws( ... )
Documentation/API for the Molecule library - a meta DSL for the Datomic database.
Manual | scalamolecule.org | Github | Forum