Datalog - Single Step Operator
It's pretty straightforward from an operational perspective.  It finds all the facts deduced by firing all the rules for exactly one round on the current database.  Typically, you'll have $I_{n+1} = I_n \cup T_P(I_n)$ so that $I_n$ is a monotonically growing database.

Concretely, say you have the following rules and facts.

p(a).
q(X) :- p(X).
r(X) :- q(X).


Then the initial database is $I_0 = \{\mathtt{p(a)}\}$.  $T_P(I_0) = \{\mathtt{q(a)}\}$, so $I_1 = \{\mathtt{p(a)}, \mathtt{q(a)}\}$.  Then $T_P(I_1) = \{\mathtt{q(a)},\mathtt{r(a)}\}$ and $I_2 = \{\mathtt{p(a)}, \mathtt{q(a)},\mathtt{r(a)}\}$.  Finally, $T_P(I_2) = \{\mathtt{q(a)},\mathtt{r(a)}\}$.  At which point $I_3 = I_2$ which would be an implementation's signal to stop.  (In my particular formulation I didn't include facts as consequences but you could do that as well.  It's not clear if your definition treats facts as rules with empty heads.)