LogiQL: A Query Language for Smart Databases, 1st Edition (Paperback) book cover

LogiQL

A Query Language for Smart Databases, 1st Edition

By Terry Halpin, Spencer Rugaber

CRC Press

347 pages | 19 B/W Illus.

Purchasing Options:$ = USD
Paperback: 9781482244939
pub: 2014-11-13
SAVE ~$15.19
$75.95
$60.76
x
Hardback: 9781138416543
pub: 2017-07-27
SAVE ~$41.00
$205.00
$164.00
x
eBook (VitalSource) : 9780429172779
pub: 2014-11-13
from $36.48


FREE Standard Shipping!

Description

LogiQL is a new state-of-the-art programming language based on Datalog. It can be used to build applications that combine transactional, analytical, graph, probabilistic, and mathematical programming. LogiQL makes it possible to build hybrid applications that previously required multiple programming languages and databases. In this first book to cover LogiQL, the authors explain how to design, implement, and query deductive databases using this new programming language.

LogiQL’s declarative approach enables complex data structures and business rules to be simply specified and then automatically executed. It is especially suited to business applications requiring complex rules to be implemented efficiently, for example predictive analytics and supply chain optimization.

Suitable for both novices and experienced developers, the book is written in easy-to-understand language. It includes many examples and exercises throughout to illustrate the main concepts and consolidate understanding.

Reviews

"I gladly recommend the LogiQL book to anyone interested in databases. … The book is easy to read, contains many examples and exercises, and offers teachers involved in databases and their applications a very effective tool to get students to understand databases and how to program them."

—Dr. Herman Balsters, Associate Professor of Information Systems Design and Former Program Director of the Interfaculty of Industrial Engineering, University of Groningen

"The first mistake people will make is to think that LogiQL is another SQL. No, no. SQL is for accessing data and maintaining data integrity in a relational model. LogiQL discovers and deduces logical relations from predicates by looking at data and a set of predicates that define rules. If you ever worked with the Prolog language, then you know the difference.

LogiQL has an extensional database (EDB) and intentional database (IDB). EDB predicates normally are used to hold the facts that you explicitly enter into the workspace. In contrast, the facts populating IDB predicates are computed for you by your logic program. Think of SQL as a library and LogiQL is the research librarian.

This is the only book on LogiQL and it is designed as a textbook with examples and tests for someone who wants to learn this tool. Get the software, open the book, and get started."

—Joe Celko, Independent Database Consultant

Table of Contents

Preface

Acknowledgment

Key LogiQL Concepts

Quick Start

Authors

Basics

Databases, Predicates, and Facts

Declaring Entity Types and Refmodes

Entering Facts

Expressing Domain Relationships with Predicates

Constraining the Data

Declaring Functional Predicates

Declaring Derivation Rules

Querying a Workspace

Consolidation Exercise 1

Part 1: Country of Birth

Part 2: Birth and Death Dates

Part 3: Age at Death

Part 4: Reigns and Ancestry

Answers to Exercises

Intermediate Aspects

Inverse-Functional Predicates

N-ary Predicates

Inclusive-or and External Uniqueness Constraints

Subtyping and Subsetting

Subtypes

Subset Constraints

Recursive Rules and Ring Constraints

Recursion

Ring Constraints

Hard and Soft Constraints

The Count and Total Functions

Computing Counts

Dealing with Empty Predicates

Computing Totals and Averages

Consolidation Exercise 2

Part 1: Books

Part 2: Book Sales

Part 3: Personnel

Answers to Exercises

Diving Deeper

The max and min Functions

Argmin and Argmax

Summary of Aggregation Functions

Safety Conditions for Rules and Queries

Derivation Rule Semantics

Delta Rules and Pulse Predicates

Delta Modifiers

Delta Logic

Pulse Predicates

Transaction Processing

Transactions

Transaction Processing Example

Stage Suffixes

Summary

Additional Built-in Operators and Functions

Arithmetic

String Manipulation

Aggregate Functions for Ordering

Consolidation Exercise 3

Answers to Exercises

Advanced Aspects

Emulating Imperative Programming Constructs

Statements

Switch Statement

Iteration Statements

Further Constraints

Equality Constraints

Value Constraints

Frequency Constraints

Subset and Exclusion Constraints Involving Join Paths

Derived Entities and Constructors

N-ary Constructors

Program Organization

Legacy Code

Program Organization

Projects

Modules and Concrete Blocks

Namespaces Revisited

Separate Compilation and Libraries

Summary

Miscellaneous Topics

Materialized and Derived-Only Views

Hierarchical Syntax

File Predicates

Consolidation Exercise 4

Answers to Exercises

Glossary

Appendices

Running Your Programs

Running the LogiQL REPL

LogiQL Syntax

Built-In Operators and Predicates

Summary of Constraints

Programming Conventions

LogiQL and Predicate Logic

LogiQL and SQL

Testing Your Programs

Improving Your Program’s Performance

About the Authors

Spencer Rugaber is a computer scientist who has worked both in industry and in academia as well as serving as program director for the Software Engineering and Languages program at the U.S. National Science Foundation. His research interests are in the area of software engineering, human-computer interaction, and cognitive science. He is the author of the article on program understanding included in the Encyclopedia of Computer Science and Technology and of numerous software engineering articles appearing in technical journals and conference proceedings. He is currently a computer scientist with LogicBlox, Inc. (Atlanta, Georgia) and an adjunct faculty member at the Georgia Institute of Technology (Atlanta).

Terry Halpin is a professor in computer science at INTI International University, Malaysia, and a data modeling consultant. He previously held senior faculty positions in computer science at the University of Queensland (Australia) and Neumont University (Salt Lake City, Utah). He previously spent many years in data modeling technology at Asymetrix Corporation, InfoModelers Inc., Visio Corporation, Microsoft Corporation, and LogicBlox. His doctoral thesis formalized object-role modeling (ORM/NIAM), and his current research focuses on conceptual modeling and rule-based technology. He has authored more than 200 technical publications and seven books, and has co-edited nine books on information systems modeling research. He is a regular columnist for the Business Rules Journal, and is a recipient of the DAMA International Achievement Award for Education (2002) and the IFIP Outstanding Service Award (2006).

About the Series

Emerging Directions in Database Systems and Applications

Learn more…

Subject Categories

BISAC Subject Codes/Headings:
COM021000
COMPUTERS / Database Management / General
COM021030
COMPUTERS / Database Management / Data Mining
COM060000
COMPUTERS / Internet / General