Category Archives: programming

Unfolding T-boxes in GO using POPL

“Unfolding a T-box” may sound like some quaint tea ceremony ritual, but in fact in the context of description logics it refers to the iterative replacement of classes by equivalent anonymous class expressions. Many reasoners take advantage of T-box unfolding behind the scenes. But there may be reasons to unfold your T-box in a more [...]

Prolog OWL Shell at OWLED 2011

My slides and paper for POSH are now online: Manuscript: owled2011_submission_15.pdf Slides: POSH (slideshare)

Posh — the Prolog OWL Shell

Posh (Prolog OWL Shell) is a command line utility that wraps the Thea OWL library to allow for advanced querying and processing of ontologies, combining the power of prolog and OWL reasoning. Installation Install SWI Download and install SWI-Prolog (http://swi-prolog.org). This is a simple point and click procedure for most platforms. If you want to [...]

Support for OWLAPIv3 in Thea2

Thea2 now wraps OWLAPI v3. Support is provided for pellet and hermit out of the box. There is now also additional command line support. download and install SWI-Prolog download Thea2 (for now you have to git clone and get the owlapi3 branch) Add Thea2 to your path: (assuming you install in ~/thea2) export PATH=”$PATH:$HOME/thea2″ You [...]

improving on SWI indexing on large databases of facts

SWI, like most prologs provides fast first-argument indexing. Accessing a large database of facts via other arguments can be very slow, as a sequential scan is used. SWI provides index/1, but it doesn’t appear to be very effective. The index_util module provides faster indexing by rewriting fact clauses to provide multiple entry points. From the [...]

memoization+persistence

The mis-named “tabling” module (should really be called “memoize”) now allows for persisting memoized calls to a file. See: http://github.com/cmungall/blipkit/blob/master/packages/blipcore/tabling.pro (docs up on the pldoc server soon). To see how this works, consider the transitive closure of the subclass/2 fact, as defined in the ontol_db schema: subclassT(X,Y):- subclass(X,Y). subclassT(X,Y):- subclass(X,Z),subclassT(Z,Y). if you end up using [...]

Exploring pathway data

I’ve added a document on exploring pathway data to blipdoc. I’ll highlight some of the salient points on this blog at a later date.

blip and swi-prolog 5.8.x

The SWI stable release series has now reached 5.8.x (http://www.swi-prolog.org/download/stable). Blipkit installation was previously broken for the 5.8.x series (and the later 5.7.x releases) due to changes in how SWI handles the user and system modules, but this has now been fixed. You should be able to grab the latest from svn and just type [...]

Thea paper accepted for OWLED2009

Provisional version of the paper up on: (new) Thea website (pending reivisions)

ICLP 2009

My invited talk from ICLP-2009 is available from slideshare: experiences-with-logic-programming-in-bioinformatics Unfortunately I didn’t get to go into detail in some sections, particularly Thea. Overall I had an excellent time, good to meet many LP luminaries and users.

Follow

Get every new post delivered to your Inbox.