Blogs

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

Semantic web technologies contrasted in a few sentences

I finally found a summary that contrasts RDF, RDF Schema, OWL, and rule languages (SWRL in this case) in a few sentences:

http://syntheticbiology.org/Semantic_web_ontology/Semantic_Web.html

Plan for week 40

Read up on:

  • First-order logics
  • Ontologies (OWL book?)
  • OWL (OWL book)
  • Description logics (Description logics handbook, chapter 1-2)
  • Tableu / Tabling

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.

Plan for 23/9

  • Read up on Thea / OWL (paper by Mungall et. al.)
  • Read up a little bit on DL (Descriptive Logic)
  • Try some examples of more advanced Prolog rules, like recursive ones, querying the user interace, and possibly some list operations.
  • Test and understand the "RNA Knot" rule in the Mungall paper.
  • Install Blipkit submodules.
  • Test reasoning with some RDF data.
  • Create slides for presentation.
    • Use RNA knot examle (distinction between Prolog and DL reasoning)

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

Installing Telia 3G Mobile Broadband with Option 505 3G modem on Ubuntu Jaunty (9.04)

Was fighting with installation of Installing Telia 3G Mobile Broadband with Option 505 3G on Ubuntu Jaunty (9.04) this weekend.