AllegroGraph: Getting Started

I’m following along with Mark Watson’s excellent book on using AllegroGraph, but the automated install mentioned at the beginning didn’t work for me.

While I figure this out, the following manual version does work:

Install the server

  • Download and extract the tar.gz file

  • ./agraph-4.13.1/install-agraph ~/Lisp/AllegroGraph

  • ./AllegroGraph/bin/agraph-control --config AllegroGraph/lib/agraph.cfg start

Add a test user

(say user:test, password:xyzzy)

Install the client

  • Download and extract the tar.gz file

  • :ld $home/Lisp/agraph-4.13.1-linux86-acl90-client-lisp-acl9.0/agraph4.fasl

  • (in-package :db.agraph.user)

  • (create-triple-store "tmp-rdfstore-1"
    :user "test"
    :password "xyzzy")

Note: the example from the book uses /ns/name, but this is not allowed

  • (enable-!-reader)

Note: the book omits this at the beginning, but this is essential to do what comes next (without this, something like !owl is treated like a package name)

  • (add-triple !owl:cat !owl:eats !owl:fish)

(get-triple-by-id 1)
<cat eats fish>

Enjoy! More to follow, in fits and starts …

Dr. Jans Aasman, CEO of Franz stated, “Some people have asked, ‘Why not do this on a distributed cloud system with Hadoop?’ The quick answer: NoSQL databases like Hadoop and Cassandra fail on joins. Big Enterprise, big web companies and big government intelligence organizations are all looking into big data to work with massive amounts of semi-unstructured data. They are finding that NoSQL databases are wonderful if one needs access to a single object in an ocean of billions of objects, however, they also find that the current NoSQL databases fall short if you need to run graph database operations that require many complicated joins.”