The dm
class holds a list of tables and their relationships.
It is inspired by datamodelr,
and extends the idea by offering operations to access the data in the tables.
dm()
creates a dm
object from one or multiple tbl objects
(tibbles or lazy data objects).
new_dm()
is a low-level constructor that creates a new dm
object.
If called without arguments, it will create an empty dm
.
If called with arguments, no validation checks will be made to ascertain that
the inputs are of the expected class and internally consistent;
use validate_dm()
to double-check the returned object.
validate_dm()
checks the internal consistency of a dm
object.
dm_get_src()
returns the dplyr source for a dm
object.
All tables in a dm
object must be from the same source,
i.e. either they are all data frames, or they all are stored on the same
database.
dm_get_con()
returns the DBI::DBIConnection
for dm
objects.
This works only if the tables are stored on a database, otherwise an error
is thrown.
dm_get_tables()
returns a named list of dplyr tbl objects
of a dm
object.
Filtering expressions are NOT evaluated at this stage.
To get a filtered table, use dm_apply_filters_to_tbl()
, to apply filters to all tables use dm_apply_filters()
is_dm()
returns TRUE
if the input is of class dm
.
as_dm()
coerces objects to the dm
class