Performing First-Order-Logic Queries Over RDF Data: Interpreter Versus Compiler to Apache Jena Rules
摘要
Knowledge graphs and reasoning over them are used in a wide variety of applications. However, many modern software reasoners provide very limited rule languages, which makes it difficult and time-consuming to develop rule sets for practical usage. One of the most commonly known and expressive logical formalisms is first-order logic, which can significantly simplify developing rules for usage in Semantic Web applications. In this paper, we explore the performance of different ways of implementing decision trees with questions represented by first-order logic formulae, interpreting them, and compiling them into the rules for Apache Jena Generic Reasoner. We found that the results depend significantly on the CPU architecture: for the \(\times \) 86 architecture, the compiler to Apache Jena is clearly preferable, while for the ARM architecture processors, the interpreter works better for large-scale knowledge graphs.