Monthly Archives: June 2010

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 [...]

graphviz and blip ontol

blip includes a generic grammar/writer for the graphviz language ‘dot’. dot is actually quite powerful, and allows for specification of boxes inside boxes. For example, the following blip command line call: blip -r fma ontol-subset -n Heart -cr subclass -to display will generate and display a png such as this: The ontol/conf directory specifies a [...]

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 [...]

blipkit directory reorganization

previously the layout was blipkit/ packages/ blip/ [LIBRARY] This has been simplified to: blipkit/ packages/ [LIBRARY]/ Some URLs in some of the previous posts should be modified accordingly In addition, each sub-library now has a standard organization: [LIBRARY]/ conf/ — configuration modules t/ — plunit tests (.plt files) data/ — data for tests examples/ — [...]

Follow

Get every new post delivered to your Inbox.