LogiQL: A Query Language for Smart Databases

LogiQL: A Query Language for Smart Databases

by Terry Halpin, Spencer Rugaber

Paperback

$75.95
Usually ships within 6 days

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)

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

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

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews