有没有办法将AllegroGraph与除ACL之外的Lisp一起使用?

时间:2013-10-06 14:50:29

标签: common-lisp allegrograph allegro-cl

我到目前为止只阅读文档,它说为了使用Lisp客户端我必须使用ACL。 ACL,Express版本有30天的到期日期。由于我甚至没有考虑任何商业用途,我不太可能在可观察的未来购买它。

有没有人和其他Lisp一起尝试过?这是许可证所允许的吗? (我的猜测是“是”,因为,例如,Python客户端当然不需要任何特殊购买。)

1 个答案:

答案 0 :(得分:0)

当然,实际上。 Allegrograph支持用于图形存储的Sesame 2.0 HTTP协议的超集。您应该看一下关键文档:

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

例如,要在根目录中请求存储库列表,HTTP交互将如下所示:

 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}] 

请注意Accept:标头,在这种情况下,它指定JSON作为所需响应的格式。还有其他可用的格式,例如ntriples,但是请参阅最新列表的文档以及适用于每个格式的正确MIME类型。

要注意的一件事是,由于您将获得远程lisp实例上没有语义定义的信息,因此您几乎肯定希望自己定义这些信息以构建有用的库。因此,除其他外,您可能希望定义表示节点,自由,三元组等的数据结构(例如,类)。如果你以前从未考虑过这样的事情,这实际上并不是最容易知道如何有效建模的事情,但它相当简单并且在实践中也没有太多参与。我建议也许可以开始使用像Ora Lasilla的Wilbur这样的库,我已经使用了很多尖头,并且总是觉得很高兴阅读。事实上,几年前最初的Allegrograph开始使用Wilbur作为基础,你会发现,尽管现在存在许多差异,但两个项目之间的思想仍然存在合理的兼容性。您可以从以下位置获取Wilbur的当前来源:

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

我希望这至少可以帮助您指明正确的方向开始。祝你好运!