  The rule-based OWL reasoning is to compute the deductive closure of an
ontology by applying RDF/RDFS and OWL entailment rules. The performance of the
rule-based OWL reasoning is often sensitive to the rule execution order. In
this paper, we present an approach to enhancing the performance of the
rule-based OWL reasoning on Spark based on a locally optimal executable
strategy. Firstly, we divide all rules (27 in total) into four main classes,
namely, SPO rules (5 rules), type rules (7 rules), sameAs rules (7 rules), and
schema rules (8 rules) since, as we investigated, those triples corresponding
to the first three classes of rules are overwhelming (e.g., over 99% in the
LUBM dataset) in our practical world. Secondly, based on the interdependence
among those entailment rules in each class, we pick out an optimal rule
executable order of each class and then combine them into a new rule execution
order of all rules. Finally, we implement the new rule execution order on Spark
in a prototype called RORS. The experimental results show that the running time
of RORS is improved by about 30% as compared to Kim & Park's algorithm (2015)
using the LUBM200 (27.6 million triples).
