88 research outputs found
Evaluation Aspects of a Object-Oriented Deductive Database Language
Recently, F-logic has been proposed as an attempt to extend deductive databases by typical concepts of object-oriented languages. Among these concepts are complex objects, (term-based) object identity, methods, classes, typing, inheritance and browsing. In Kifer et al. syntax and model-theoretic semantics is discussed; however many algorithmic aspects which arise when computing the corresponding models are left open. In this paper we start to bridge this gap. Several topics in the context of the evaluation of programs are discussed in detail; among these are weak recursion, global stratification and dynamic type-checking
Updates by Reasoning about States
It has been argued that some sort of control must be introduced in order to perform update operations in deductive databases. Indeed, many approaches rely on a procedural semantics of rule based languages and often perform updates as side-effects. Depending on the evaluation procedure, updates are generally performed in the body (top-down evaluation) or in the head of rules (bottom-up evaluation). We demonstrate that updates can be specified in a purely declarative manner using standard model based semantics without relying on procedural aspects of program evaluation. The key idea is to incorporate states as first-class objects into the language. This is the source of the additional expressiveness needed to define updates. We introduce the update language Statelog+-, discuss various domains of application and outline how to implement computation of the perfect model semantics for Statelog+- programs
Pre-analysis locking
Locking is considered as a means to achieve serializable schedules of concurrent transactions. Transactions are assumed to be predeclared such that a pre-analysis for locking becomes feasible to increase concurrency. A condition for safety is introduced which, based on a pre-analysis, allows the design of policies strictly dominating known policies such as 2-phase locking. The static case, in which the complete set of transactions is known in advance, and the online case, in which a transaction is known when it is started, are considered. It is shown that a policy strictly dominating 2-phase locking and some other interesting pre-analysis policies can also be applied in an online environment
Updates in a Rule based Language for Objects
The integration of object-oriented concepts into deductive databases has been investigated for a certain time now. Various approaches to incorporate updates into deduction have been proposed. The current paper presents an approach which is based on object versioning; different versions of one object may be created and referenced during an update-process. By means of such versions it becomes possible to exert explicit control on the update process during bottom-up evaluation in a rather intuitive way. The units for updates are the result sets of base methods, i.e. methods, whose results are stored in the object-base and are not defined by rules. However, the update itself may be defined by rules. Update-programs have fixpoint semantics; the fixpoint can be computed by a bottom-up evaluation according to a certain stratification
Access to Objects by Path Expressions and Rules
Object oriented databases provide rich structuring capabilities to organize the objects being relevant for a given application. Due to the possible complexity of object structures, path expressions have become accepted as a concise syntactical means to reference objects. Even though known approaches to path expressions provide quite elegant access to objects, there seems to be still a need to extend the applicability of path expressions. The rule-language PathLog proposed in the current paper generalizes path expressions in several ways. PathLog adds a second dimension to path expressions which makes it possible to use only one path in situations where known one-dimensional path expressions require a conjunction of several paths. In addition, a path expression can also be used to reference virtual objects. This general use of path expressions gives rise to many interesting semantic implications
Logical Foundations of Object-Oriented and Frame-Based Languages
We propose a novel logic, called Frame Logic (abbr., F-logic), that accounts in a clean, declarative fashion for most of the structural aspects of object-oriented and frame-based languages. These features include object identity, complex objects, inheritance, polymorphic types, methods, encapsulation, and others. In a sense, F-logic stands in the same relationship to the object-oriented paradigm as classical predicate calculus stands to relational programming. The syntax of F-logic is higher-order, which, among other things, allows the user to explore data and schema using the same declarative language. F-logic has a model-theoretic semantics and a sound and complete resolution-based proof procedure. This paper also discusses various aspects of programming in declarative object-oriented languages based on F-logic
On Chase Termination Beyond Stratification
We study the termination problem of the chase algorithm, a central tool in
various database problems such as the constraint implication problem,
Conjunctive Query optimization, rewriting queries using views, data exchange,
and data integration. The basic idea of the chase is, given a database instance
and a set of constraints as input, to fix constraint violations in the database
instance. It is well-known that, for an arbitrary set of constraints, the chase
does not necessarily terminate (in general, it is even undecidable if it does
or not). Addressing this issue, we review the limitations of existing
sufficient termination conditions for the chase and develop new techniques that
allow us to establish weaker sufficient conditions. In particular, we introduce
two novel termination conditions called safety and inductive restriction, and
use them to define the so-called T-hierarchy of termination conditions. We then
study the interrelations of our termination conditions with previous conditions
and the complexity of checking our conditions. This analysis leads to an
algorithm that checks membership in a level of the T-hierarchy and accounts for
the complexity of termination conditions. As another contribution, we study the
problem of data-dependent chase termination and present sufficient termination
conditions w.r.t. fixed instances. They might guarantee termination although
the chase does not terminate in the general case. As an application of our
techniques beyond those already mentioned, we transfer our results into the
field of query answering over knowledge bases where the chase on the underlying
database may not terminate, making existing algorithms applicable to broader
classes of constraints.Comment: Technical Report of VLDB 2009 conference versio
Foundations of SPARQL Query Optimization
The SPARQL query language is a recent W3C standard for processing RDF data, a
format that has been developed to encode information in a machine-readable way.
We investigate the foundations of SPARQL query optimization and (a) provide
novel complexity results for the SPARQL evaluation problem, showing that the
main source of complexity is operator OPTIONAL alone; (b) propose a
comprehensive set of algebraic query rewriting rules; (c) present a framework
for constraint-based SPARQL optimization based upon the well-known chase
procedure for Conjunctive Query minimization. In this line, we develop two
novel termination conditions for the chase. They subsume the strongest
conditions known so far and do not increase the complexity of the recognition
problem, thus making a larger class of both Conjunctive and SPARQL queries
amenable to constraint-based optimization. Our results are of immediate
practical interest and might empower any SPARQL query optimizer
- …