1

I'm so far only reading the documentation, and it says that in order to use the Lisp client I have to use ACL. ACL, the Express edition has a 30 day expiration date. Since I'm too far from even considering any commercial use, I'm not likely to buy it in the observable future.

Did anyone try it with other Lisp? Is it at all permitted by the license? (My guess is "yes", because, for example, Python client doesn't require any special purchases of course.)

Rainer Joswig
  • 136,269
  • 10
  • 221
  • 346
  • Why not ask Franz? They developed this software and sell it. Their websites also lists the available clients. You can even download them from there. – Rainer Joswig Oct 06 '13 at 15:36
  • @RainerJoswig I tried the Python client. I was just hoping I'm simply missing something. The Lisp client comes in a form of fasls / shared object files. At least what I've downloaded. I was hoping there's a source for it. –  Oct 06 '13 at 16:11
  • 1
    In my experience, Franz is pretty likely to grant you a license to the full product if you ask nicely. There are restrictions, but in general they are eager to get you to try out the product to see if you might purchase it later. – Xach Oct 06 '13 at 16:16
  • @Xach Well, then I guess to ask nicely, I have to at least know what I'm asking for :) I'll poke around it with Python and see where it goes. I feel uncomfortable asking someone to do something for me, unless they first offered to do it. But we'll see. –  Oct 06 '13 at 16:26
  • When you enter into a relationship with a company as a potential customer, you're doing them a favor. Them providing you with a license is them doing you a favor. It often balances out as win-win for both parties. – Xach Oct 06 '13 at 17:07
  • FWIW, you can use the source code of python client to write a new CL one with hunchentoot. ACL is pretty nice, though, and I recommend contacting Franz - For a simple student project, I ended up talking on the phone with VP of sales :D – p_l Oct 08 '13 at 14:36
  • @p_l actually, as it looks now, this may well be what I'll end up doing, just for the sake of studying it. –  Oct 08 '13 at 15:12

1 Answers1

0

Sure, actually. Allegrograph supports a superset of the Sesame 2.0 HTTP protocol for graph stores. The key documentation you should have a look at is:

http://www.franz.com/agraph/support/documentation/current/http-protocol.html

As an example, to request a list of repositories in the root catalog, the HTTP interaction would be as follows:

 GET /repositories HTTP/1.1  
 Accept: application/json  

 HTTP/1.1 200 OK  
 Content-Type: application/json; charset=UTF-8  

 [{"uri": "<http://localhost:10035/repositories/test>",  
   "id": "\"test\"",  
   "title": "\"test\"",  
   "readable": true  
   "writeable": true}] 

Note the Accept: header which, in this case, specifies JSON as the format of desired response. There are other formats available, ntriples for example, hut refer to the documentation for the most current list and proper MIME type to use for each.

One thing to be aware of, since you will be getting information back that has no semantic definition on your remote lisp instance, you will almost certainly want to define these yourself in order to build a useful library. So, among others, you would probably want to define data structures (say, classes for example) representing nodes, liberals, triples, and so on. This is actually not the easiest thing to know how to model effectively if you've never thought much about such a thing before, but it is fairly straightforward and not too involved in practice. I'd recommend perhaps starting out using a library such as Ora Lasilla's Wilbur, which I have used many tines and always find it a delight to read through. In fact, the original Allegrograph, years ago, started out using Wilbur as a basis,miso you will find that although there are many differences now there is still a reasonable compatibility of ideas between the two projects. You can fetch current sources for Wilbur from:

http://github.com/lisp/de.setf.wilbur

I hope this can at least help point you in the right direction to get started. Good luck!

Dan Lentz
  • 491
  • 3
  • 13