LogiQL: A Query Language for Smart Databases


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.


See more details below
Other sellers (Paperback)
  • All (8) from $52.46   
  • New (6) from $52.46   
  • Used (2) from $69.94   
Sending request ...


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.

Read More Show Less

Editorial Reviews

From the Publisher
"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

Read More Show Less

Product Details

  • ISBN-13: 9781482244939
  • Publisher: Taylor & Francis
  • Publication date: 11/21/2014
  • Pages: 347
  • Product dimensions: 5.90 (w) x 8.90 (h) x 0.70 (d)

Meet the Author

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).

Read More Show Less

Table of Contents

Key LogiQL Concepts
Quick Start

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
Subset Constraints
Recursive Rules and Ring Constraints
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
Transaction Processing Example
Stage Suffixes
Additional Built-in Operators and Functions
String Manipulation
Aggregate Functions for Ordering
Consolidation Exercise 3
Answers to Exercises

Advanced Aspects
Emulating Imperative Programming Constructs
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
Modules and Concrete Blocks
Namespaces Revisited
Separate Compilation and Libraries
Miscellaneous Topics
Materialized and Derived-Only Views
Hierarchical Syntax
File Predicates
Consolidation Exercise 4
Answers to Exercises


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

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)