Datalog relaunched: simulation unification and value invention

  • Authors:
  • Fran$#231/ois Bry;Tim Furche;Clemens Ley;Bruno Marnette;Benedikt Linse;Sebastian Schaffert

  • Affiliations:
  • Institute for Informatics, Ludwig-Maximilians-Universitä/t Mü/nchen, Mü/nchen, Germany;Computing Laboratory, University of Oxford, Oxford, UK;Computing Laboratory, University of Oxford, Oxford, UK;Computing Laboratory, University of Oxford, Oxford, UK;Thomson Reuters, Mü/nchen, Germany;Knowledge and Media Technologies, Salzburg Research, Salzburg, Austria

  • Venue:
  • Datalog'10 Proceedings of the First international conference on Datalog Reloaded
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

For reasoning on the Web, Datalog is lacking data extraction and value invention. This article proposes to overcome these limitations with "simulation unification" and "RDFLog". Simulation unification is a non-standard unification inspired from regular path queries. Like standard unification, it yields bindings for variables in both terms to unify. Unlike standard unification, it does not try to make the two terms identical but instead to embed the query into the data. Simulation unification is decidable. Without variables, it has polynomial complexity. With variables it is, like standard unification, np-complete. We identify a number of interesting special cases of unification, e.g., in presence or absence of term injectivity. In particular, we show that simulation unification without term injectivity on tree data is linear and in presence of injectivity it is still polynomial even on unordered trees in contrast to the np-complete unordered tree inclusion problem. RDFLog is Datalog with arbitrary quantifier alternation: Blank nodes, i.e., existentially quantified variables, in rule heads may be governed by universally quantified variables, universally quantified variables by blank nodes. RDFLog's declarative semantics is defined in terms of RDF entailment; its sound and complete operational semantics, in terms of Skolemization, standard Datalog evaluation, and un-Skolemization. We show that RDFLog limited to ∀*∃* prefixes is (up to unique helper predicates) equivalent to RDFLog with full quantifier alternation. A light-weight implementation points to the efficiency of the approach.