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
- 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