SMS: Datalog rewritability of disjunctive datalog programs and its applications to ontology reasoning