  We study the problem of rewriting a disjunctive datalog program into plain
datalog. We show that a disjunctive program is rewritable if and only if it is
equivalent to a linear disjunctive program, thus providing a novel
characterisation of datalog rewritability. Motivated by this result, we propose
weakly linear disjunctive datalog---a novel rule-based KR language that extends
both datalog and linear disjunctive datalog and for which reasoning is
tractable in data complexity. We then explore applications of weakly linear
programs to ontology reasoning and propose a tractable extension of OWL 2 RL
with disjunctive axioms. Our empirical results suggest that many non-Horn
ontologies can be reduced to weakly linear programs and that query answering
over such ontologies using a datalog engine is feasible in practice.
