/lsw2

OWL and Semantic Web toolkit for Common Lisp, used for construction and reasoning over ontologies and ontology-structured data

Primary LanguageJavaScript

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, <lsw2 trunk> is the checked out trunk directory for lsw2
<repositories> 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 ("<lsw2 trunk>" 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 <repositories>
git clone https://github.com/alanruttenberg/slime.git

Then add to your .emacs

(add-to-list 'load-path "<repositories>/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 ("<lsw2 trunk>/bin/lsw") :init slime-init-command)
   (abcl ("<lsw2 trunk>/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 <ret>

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.