9 research outputs found
The Constructive method for query containment checking (extended version)
We present a new method that checks Query Containment for queries with negated derived atoms and/or integrity constraints.
Existing methods for Query Containment checking that deal with these cases do not check actually containment but another
related property called uniform containment, which is a sufficient but not necessary condition for containment. Our method can
be seen as an extension of the canonical databases approach beyond the class of conjunctive queries.Postprint (published version
The design and implementation of a relational programming system.
The declarative class of computer languages consists mainly of two paradigms
- the logic and the functional. Much research has been devoted in recent years
to the integration of the two with the aim of securing the advantages of both
without retaining their disadvantages. To date this research has, arguably, been
less fruitful than initially hoped. A large number of composite functional/logical
languages have been proposed but have generally been marred by the lack of a
firm, cohesive, mathematical basis. More recently new declarative paradigms,
equational and constraint languages, have been advocated. These however do
not fully encompass those features we perceive as being central to functional and
logic languages. The crucial functional features are higher-order definitions, static
polymorphic typing, applicative expressions and laziness. The crucial logic features are ability to reason about both functional and non-functional relationships
and to handle computations involving search.
This thesis advocates a new declarative paradigm which lies midway between
functional and logic languages - the so-called relational paradigm. In a relationallanguage program and data alike are denoted by relations. All expressions
are relations constructed from simpler expressions using operators which form
a relational algebra. The impetus for use of relations in a declarative language
comes from observations concerning their connection to functional and logic programming. Relations are mathematically more general than functions modelling
non-functional as well as functional relationships. They also form the basis of
many logic languages, for example, Prolog.
This thesis proposes a new relational language based entirely on binary relations, named Drusilla. We demonstrate the functional and logic aspects of
Drusilla. It retains the higher-order objects and polymorphism found in modern functional languages but handles non-determinism and models relationships
between objects in the manner of a logic language with notion of algorithm being composed of logic and control elements. Different programming styles -
functional, logic and relational- are illustrated.
However, such expressive power does not come for free; it has associated with
it a high cost of implementation. Two main techniques are used in the necessarily
complex language interpreter. A type inference system checks programs to ensure
they are meaningful and simultaneously performs automatic representation selection for relations. A symbolic manipulation system transforms programs to improve.
efficiency of expressions and to increase the number of possible representations
for relations while preserving program meaning
Deconstructing Datalog
The deductive query language Datalog has found a wide array of uses, including static analy- sis (Smaragdakis and Bravenboer, 2010), business analytics (Aref et al., 2015), and distributed programming (Alvaro et al., 2010, 2011). Datalog is high-level and declarative, but simple and well-studied enough to admit efficient implementation strategies. For example, Whaley et al. found they could replace a hand-tuned C implementation of context-sensitive pointer analysis with a comparably-performing Datalog program that was 100x smaller (Whaley and Lam, 2004; Whaley et al., 2005).
However, Datalog’s semantics are not stable under extensions. For instance, adding arithmetic operations breaks Datalog’s termination guarantee. Despite this, nearly all practical implementations extend Datalog beyond its theoretical core to add niceties such as arithmetic, datatypes, aggregations, and so on. Moreover, pure Datalog cannot abstract over repeated code: one may express a static analysis over a particular program, but to express the same analysis over multiple programs, one must duplicate the analysis code for each program analyzed.
This thesis deconstructs Datalog from a categorical and type theoretic perspective to determine what makes it tick. Datalog’s semantic guarantees are provided by brute syntactic restrictions, such as stratification and the absence of function symbols. In place of these, we find compositional semantic properties such as monotonicity, which we capture using types. We show that this permits integrating Datalog’s features with those of typed functional languages, such as algebraic data types and higher order functions. In particular, this thesis makes the following contributions:
1. We define and expound the semantics and metatheory of Datafun, a pure and total higher-order typed functional language capturing the essence of Datalog. Where Data- log has predicates defined by a restricted class of Horn clauses, Datafun has finite sets and set comprehensions; Datalog’s bottom-up recursive queries become iterative fixed points; and Datalog’s stratification condition becomes a matter of tracking monotonicity with types.
2. We show how to generalize seminaïve evaluation to handle higher-order functions. Seminaïve evaluation is a technique from the Datalog literature which improves the performance of Datalog’s most distinctive feature: recursive queries. These are com- puted iteratively, and under a naïve evaluation strategy, each iteration recomputes all previous values. Seminaïve evaluation computes a safe approximation of the difference between iterations. This can asymptotically improve the performance of Datalog queries. Seminaïve evaluation is defined partly as a program transformation and partly as a modified iteration strategy, and takes advantage of the first-order nature of Datalog. We extend this transformation to handle higher-order programs written in Datafun.
3. In the process of generalizing seminaïve evaluation, we uncover a theory of incremental, monotone, higher-order computation, in which values change over time by growing larger, and programs respond incrementally to these increases
Proceedings of the Third Symposium on Programming Languages and Software Tools : Kääriku, Estonia, August 23-24 1993
http://www.ester.ee/record=b1064507*es
Fuzzy expert systems in civil engineering
Imperial Users onl
Attribute Exploration of Gene Regulatory Processes
This thesis aims at the logical analysis of discrete processes, in particular
of such generated by gene regulatory networks. States, transitions and
operators from temporal logics are expressed in the language of Formal Concept
Analysis. By the attribute exploration algorithm, an expert or a computer
program is enabled to validate a minimal and complete set of implications, e.g.
by comparison of predictions derived from literature with observed data. Here,
these rules represent temporal dependencies within gene regulatory networks
including coexpression of genes, reachability of states, invariants or possible
causal relationships. This new approach is embedded into the theory of
universal coalgebras, particularly automata, Kripke structures and Labelled
Transition Systems. A comparison with the temporal expressivity of Description
Logics is made. The main theoretical results concern the integration of
background knowledge into the successive exploration of the defined data
structures (formal contexts). Applying the method a Boolean network from
literature modelling sporulation of Bacillus subtilis is examined. Finally, we
developed an asynchronous Boolean network for extracellular matrix formation
and destruction in the context of rheumatoid arthritis.Comment: 111 pages, 9 figures, file size 2.1 MB, PhD thesis University of
Jena, Germany, Faculty of Mathematics and Computer Science, 2011. Online
available at http://www.db-thueringen.de/servlets/DocumentServlet?id=1960
Recommended from our members
Correct abstraction in counter-planning : a knowledge compilation approach
Knowledge compilation improves search-intensive problem-solvers that are easily specified but inefficient. One promising approach improves efficiency by constructing a database of problem-instance/best-action pairs that replace problem-solving search with efficient lookup. The database is constructed by reverse enumeration- expanding the complete search space backwards, from the terminal problem instances. This approach has been used successfully in counter-planning to construct perfect problem-solvers for sub domains of chess and checkers. However, the approach is limited to small problems because both the space needed to store the database and the time needed to generate the database grow exponentially with problem size. This thesis addresses these problems through two mechanisms. First, the space needed is reduced through an abstraction mechanism that is especially suited to counter-planning domains. The search space is abstracted by representing problem states as equivalence classes with respect to the goal achieved and the operators as equivalence classes with respect to how they influence the goals. Second, the time needed is reduced through a hueristic best-first control of the reverse enumeration. Since with larger problems it may be impractical to run the compiler to completion, the search is organized to optimize the tradeoff between the time spent compiling a domain and the coverage achieved over that domain. These two mechanisms are implemented in a system that has been applied to problems in chess and checkers. Empirical results demonstrate both the strengths and weaknesses of the approach. In most problems and 80/20 rule was demonstrated, where a small number of patterns were identified early that covered most of the domain, justifying the use of best-first search. In addition, the method was able to automatically generate a set of abstract rules that had previously required two person-months to hand engineer
Recommended from our members
Multi agent system for web database processing, on data extraction from online social networks.
In recent years, there has been a
ood of continuously changing information
from a variety of web resources such as web databases, web sites,
web services and programs. Online Social Networks (OSNs) represent
such a eld where huge amounts of information are being posted online
over time. Due to the nature of OSNs, which o er a productive source
for qualitative and quantitative personal information, researchers from
various disciplines contribute to developing methods for extracting data
from OSNs. However, there is limited research which addresses extracting
data automatically. To the best of the author's knowledge, there
is no research which focuses on tracking the real time changes of information
retrieved from OSN pro les over time and this motivated the
present work.
This thesis presents di erent approaches for automated Data Extraction
(DE) from OSN: crawler, parser, Multi Agent System (MAS) and Application
Programming Interface (API). Initially, a parser was implemented
as a centralized system to traverse the OSN graph and extract the pro-
le's attributes and list of friends from Myspace, the top OSN at that
time, by parsing the Myspace pro les and extracting the relevant tokens
from the parsed HTML source les. A Breadth First Search (BFS) algorithm
was used to travel across the generated OSN friendship graph
in order to select the next pro le for parsing. The approach was implemented
and tested on two types of friends: top friends and all friends.
In case of top friends, 500 seed pro les have been visited; 298 public
pro les were parsed to get 2197 top friends pro les and 2747 friendship
edges, while in case of all friends, 250 public pro les have been parsed
to extract 10,196 friends' pro les and 17,223 friendship edges.
This approach has two main limitations. The system is designed as
a centralized system that controlled and retrieved information of each
user's pro le just once. This means that the extraction process will stop
if the system fails to process one of the pro les; either the seed pro le
( rst pro le to be crawled) or its friends. To overcome this problem,
an Online Social Network Retrieval System (OSNRS) is proposed to
decentralize the DE process from OSN through using MAS. The novelty
of OSNRS is its ability to monitor pro les continuously over time.
The second challenge is that the parser had to be modi ed to cope with
changes in the pro les' structure. To overcome this problem, the proposed
OSNRS is improved through use of an API tool to enable OSNRS
agents to obtain the required elds of an OSN pro le despite modi cations
in the representation of the pro le's source web pages. The experimental
work shows that using API and MAS simpli es and speeds up the
process of tracking a pro le's history. It also helps security personnel,
parents, guardians, social workers and marketers in understanding the
dynamic behaviour of OSN users. This thesis proposes solutions for web
database processing on data extraction from OSNs by the use of parser
and MAS and discusses the limitations and improvements.Taibah Universit