alanruttenberg / lsw2

OWL and Semantic Web toolkit for Common Lisp, used for construction and reasoning over ontologies and ontology-structured data
28 stars 1 forks source link
common-lisp first-order-logic ontology owl owl-api reasoning semantic-web sparql

New: You can build a virtual machine with everything LSW needs using docker. Short version:

Clone the repository and make the image.

git clone https://github.com/alanruttenberg/lsw2-virtual-machine.git
cd lsw2-virtual-machine
make docker-lsw

Run LSW2

docker run -it lsw/lisp

More documentation at https://github.com/alanruttenberg/lsw2-virtual-machine


In the below, is the checked out trunk directory for lsw2

is the directory where you keep checked out working copies I assume you are using emacs. These instructions were only tested on OSX and are intended for developers familiar with JAVA, ABCL. As of 2019-10-11 they may be out of date due to upgrade in versions of MacOSX. To get going: - Set up ABCL: -- Have Java 8 -- Get a recent Armed Bear Common Lisp, git clone http://github.com/alanruttenberg/abcl Note: LSW currently assumes that abcl and lsw2 ("" below) directories have the same parent directory. Some people put them both in ~ to satisfy that requirement. -- Build ABCL "all in one" jar by running: ant abcl-aio.jar in the abcl directory Check out the current version of slime from github cd git clone https://github.com/alanruttenberg/slime.git Then add to your .emacs (add-to-list 'load-path "/slime") (set-language-environment "UTF-8") (setq slime-net-coding-system 'utf-8-unix) (require 'slime-autoloads) (setq slime-contribs '(slime-repl slime-fancy slime-asdf)) (setq slime-lisp-implementations '((lsw ("/bin/lsw") :init slime-init-command) (abcl ("/bin/abcl --noinit") :init slime-init-command))) The slime contribs settings are documented at http://common-lisp.net/project/slime/doc/html/Loading-Contribs.html To start LSW, start emacs and then M-x slime You should be placed into a buffer where you can execute code. To verify the kit's working do (show-classtree "http://purl.obolibrary.org/obo/bfo.owl") You should get a window with an interactive treemap explorer to wander around the BFO ontology. Click on one of the labels. To develop, you'll probably want to read about slime: http://common-lisp.net/project/slime/doc/html/index.html, which is your emacs-based IDE. Lisp code I author is licensed with the 3 clause BSD license. https://opensource.org/licenses/BSD-3-Clause License information for other's code used in this project is documented in that code.