SHACL rules infer new triples. The input is a data graph and a shape graph with rules, the output is a graph of inferred triples that do not occur in the data graph.
Whether, and how, the output graph is added back into the data graph is a separate decision.
@@Datalog-ish then a collection of "run once rules easy for defaulting"