Archive for the ‘Logic’ Category

Use Prefix Operators instead of Boolean Operators

Tuesday, January 24th, 2012

Use Prefix Operators instead of Boolean Operators by Chris Hostetter.

From the post:

I really dislike the so called “Boolean Operators” (“AND”, “OR”, and “NOT”) and generally discourage people from using them. It’s understandable that novice users may tend to think about the queries they want to run in those terms, but as you become more familiar with IR concepts in general, and what Solr specifically is capable of, I think it’s a good idea to try to “set aside childish things” and start thinking (and encouraging your users to think) in terms of the superior “Prefix Operators” (“+”, “-”).

Don’t hold back Chris! It’s not good for you. Tell us how you feel about “Boolean Operators.” 😉

Seriously, Chris makes a very good case for using “Prefix Operators” and you will learn about powerful searching in both Lucene and Solr.

Well worth studying in detail.

A Description Logic Primer

Sunday, January 22nd, 2012

A Description Logic Primer by Markus Krötzsch, Frantisek Simancik and Ian Horrocks.


This paper provides a self-contained first introduction to description logics (DLs). The main concepts and features are explained with examples before syntax and semantics of the DL SROIQ are defined in detail. Additional sections review light-weight DL languages, discuss the relationship to the Web Ontology Language OWL and give pointers to further reading.

It’s an introduction to description logics but it is also a readable introduction to description logics (DLs). And it will give you a good overview of the area.

As the paper points out, DLs are older than their use with web ontology languages but that is the use that you are most likely to encounter.

You won’t find anything new information here but it may be a good refresher.

Sharing and Integrating Ontologies

Monday, December 5th, 2011

Sharing and Integrating Ontologies

Peter Yim, organizer and promoter of all things ontological, reminded me of this effort quite recently.

If you were constrained by:

The semantics defined by ISO/IEC 24707 for Common Logic should be the basis for the logics used to define ontologies.

could you still write a topic map?

My suggestion would be yes, since a topic map is “without form and void” prior to being filled in by an author.

True, prior to doing that “filling in,” you will have selected a form to fill in, that is a data model (we call them legends) so your topic map already has some rules and topics in place before you start.

But, the fact remains you could write a topic map using the semantics of ISO/IEC 24707 and identify those semantics so that ontologies could be mapped to them.

Data Integration: The Relational Logic Approach

Thursday, September 29th, 2011

Data Integration: The Relational Logic Approach by Michael Genesereth of Stanford University.


Data integration is a critical problem in our increasingly interconnected but inevitably heterogeneous world. There are numerous data sources available in organizational databases and on public information systems like the World Wide Web. Not surprisingly, the sources often use different vocabularies and different data structures, being created, as they are, by different people, at different times, for different purposes.

The goal of data integration is to provide programmatic and human users with integrated access to multiple, heterogeneous data sources, giving each user the illusion of a single, homogeneous database designed for his or her specific need. The good news is that, in many cases, the data integration process can be automated.

This book is an introduction to the problem of data integration and a rigorous account of one of the leading approaches to solving this problem, viz., the relational logic approach. Relational logic provides a theoretical framework for discussing data integration. Moreover, in many important cases, it provides algorithms for solving the problem in a computationally practical way. In many respects, relational logic does for data integration what relational algebra did for database theory several decades ago. A companion web site provides interactive demonstrations of the algorithms.

Interactive edition with working examples: (As near as I can tell, the entire text. Although referred to as the “companion” website.)

When the author said Datalog, I thought of Lar Marius:

In our examples here and throughout the book, we encode relationships between and among schemas as rules in a language called Datalog. In many cases, the rules are expressed in a simple version of Datalog called Basic Datalog; in other cases, rules are written in more elaborate versions, viz., Functional Datalog and Disjunctive Datalog. In the following paragraphs, we look at Basic Datalog first, then Functional Datalog, and finally Disjunctive Datalog. The presentation here is casual; formal details are given in Chapter 2.

Bottom line is that the author advocates a master schema approach but you should read book for yourself. It makes a number of good points about data integration issues and the limitations of various techniques. Plus you may learn some Datalog along the way!

Philosophy of Language, Logic, and Linguistics – The Very Basics

Monday, September 19th, 2011

Philosophy of Language, Logic, and Linguistics – The Very Basics

Any starting reading list in this area is going to have its proponents and its detractors.

I would add to this list John Sowa’s “Knowledge representation : logical, philosophical, and computational foundations“. There is a website as well. Just be aware that John’s views on Charles Peirce represent a unique view of the development of logic in the 20th century. Still an excellent bibliography of materials for reading. And, as always, you should read the original texts for yourself. You may reach different conclusions from those reported by others.

Introduction to Logic Programming with Clojure

Thursday, August 18th, 2011

Introduction to Logic Programming with Clojure

Assumes no background in logic but some experience with Clojure. A logic beginner’s tutorial.

Everyone has to start somewhere. Enjoy.

Introduction to Logic Programming with Clojure

Monday, July 18th, 2011

Introduction to Logic Programming with Clojure

From the post:

How to use this Tutorial

This tutorial is meant to be used with a Clojure REPL handy. An example project has been set up.

You should be able to run all code examples in the logic-introduction.core namespace.

Won’t hurt you and could prove to be useful when having a go at logicians.

The Haskell Road to Logic, Math and Programming [pdf]

Monday, January 3rd, 2011

The Haskell Road to Logic, Math and Programming [pdf] Authors: Kees Doets and Jan van Eijck

A detailed review can be found at: Book review “The Haskell Road to Logic, Maths and Programming” by Ralf Laemmel.

There are so many “cell phone dead zones” as Newcomb puts it when dealing with semantics that any assistance in clear thinking is welcome.

This is a work the promotes clear thinking.

Common Logic, ISO/IEC 24707

Sunday, November 28th, 2010

Common Logic, ISO/IEC 24707

Every time I have a question about ISO/IEC 24707 I have to either find it on my hard drive or search for the publicly available text.

Don’t know that it will help to write it down here, but it might. 😉

Questions (of course):

  1. Annotated bibliography of citation/use of ISO/IEC 24707. (within last year)
  2. Not a logic course but do you have a preference among the syntaxes? (discussion)
  3. Are ontologies necessarily logical?