PROLOG

[SOLVED] "Could not find library -lXpm" when building The SWI-Prolog XPCE package

When trying to build swi-prolog packages from source, the xpce package complains:

On the two main approaches for knowledge handling on the Semantic Web

Egon pointed me to an interesting blog post on RIF and OWL. The post highlights a situation very relevant for my project: The apparent existence of two main approaches in the field of "knowledge representation and reasoning" (maybe it should be called simply handling?) on the Semantic Web.

Java/Prolog interface (SWI Prolog JPL) up running!

Install notes for SWI Prolog JPL on Ubuntu Jaunty (9.04)

JPL is a bi-directional Java/Prolog interface for SWI-Prolog, which I hope to be able to use for integrating Blipkit into Bioclipse, so I'm happy to have got it up running tonight. Below are some notes from the installation procedure.

NOTE: These are still rather incomplete notes about how to get this to work.

Reading tip: Quick overview of Prolog and it's role in Semantic Web

I Just read this paper on using thea for OWL (Web Ontology Language) reasoning from within Prolog.

Thea - reading OWL2 directly from Prolog

Talking about BLIPKIT, the Thea library - for reading OWL2 ontologies directly from within SWI-Prolog - seems relevant for this project, as a complement to BLIPKIT. It's written (partly) by the author of BLIPKIT.

Some features I noted:

  • SWRL support (SWRL - Semantic Web Rule Language . is a proposed W3C standard for exchange between rule languages on the web)
  • Bridge to the java OWL API
  • translation of ontologies to Description Logic programs

Description Logic vs Prolog

Pellet, the reasoning system already integrated in Bioclipse, is based on so called "Description Logics".

Initial observations on the difference between Prolog based reasoners (Blipkit) and DL-reasoners (Pellet)

  • Pellet is coupled with a Datalog reasoner. 1. Sirin E, Parsia B, Grau BC, Kalyanpur A, Katz Y: Pellet: A practical OWL-DL reasoner. World Wide Web Internet And Web Information Systems 2007, 5:51-53.
  • Datalog is a subset of Prolog
  • Jena too seems to have a datalog implementation, according to http://en.wikipedia.org/wiki/Datalog
  • DLP is the intersection of Horn logic and OWL, where as SWRL is (roughly) the union of them. <fn>1. Parsia B, Sirin E, Grau BC, Ruckhaus E, Hewlett D: Cautiously Approaching SWRL.

A "Hello World" Prolog program

This is how to create a "Hello World" kind of program in SWI-Prolog, as installed on Ubuntu (Jaunty).

PROLOG usage can be divided into two phases, one in which you write the Prolog program, and the other in which you query the program. The first phase is easiest done in a separate file. So create a file, i.e. test.pl, in you home folder, and edit it with a text editor like GEdit or Kate (Kate is much more powerful).

Switching to Blipkit/BioProlog

After installation problems with DR-PROLOG, and after looking closer to Blipkit/BioProlog (Biomedical Logic Programming Knowledge Integration Kit), after a suggestion by Claes Andersson, I now aim to integrate it instead of DR-PROLOG.

Problems getting DR-PROLOG up running

Trying to get DR-PROLOG up running, following the instructions found here.

I have installed SWI Prolog and XSB Prolog. In order to compile SWI-Prolog, I had to install the following packages in Ubuntu (9.04), as mentioned in the README.debian file:

libxext-dev libice-dev libjpeg62-dev libxinerama-dev libxft-dev libxpm-dev libxt-dev pkg-config

It is now possible to start the DR-PROLOG Java application, but not to start the DR-PROLOG engine (from the DR-PROLOG menu in the Java application) .