Есть ли способ использовать AllegroGraph с Lisp, отличным от ACL?
Пока я только читаю документацию, и там говорится, что для использования клиента Lisp мне нужно использовать ACL. ACL, экспресс-издание имеет 30-дневный срок годности. Поскольку я слишком далек от рассмотрения любого коммерческого использования, я вряд ли куплю его в обозримом будущем.
Кто-нибудь пробовал это с другим Лиспом? Это вообще разрешено лицензией? (Я предполагаю "да", потому что, например, клиент Python, конечно, не требует никаких специальных покупок.)
1 ответ
Конечно, на самом деле. Allegrograph поддерживает расширенный набор HTTP-протокола Sesame 2.0 для хранилищ графиков. Ключевая документация, на которую вы должны взглянуть:
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, вы почти наверняка захотите определить ее самостоятельно, чтобы создать полезную библиотеку. Поэтому, среди прочего, вы, вероятно, захотите определить структуры данных (скажем, классы, например), представляющие узлы, либералы, тройки и так далее. Это на самом деле не самая простая вещь, чтобы знать, как эффективно моделировать, если вы никогда раньше много не думали о такой вещи, но это довольно просто и не слишком сложно на практике. Возможно, я бы порекомендовал начать с такой библиотеки, как Wilbur Оры Ласиллы, в которой я использовал много зубцов, и мне всегда приятно читать ее. Фактически, оригинальный Allegrograph, несколько лет назад, начал использовать Уилбур в качестве основы, мисо, вы обнаружите, что, хотя есть много различий, в настоящее время все еще существует разумная совместимость идей между этими двумя проектами. Вы можете получить источники тока для Уилбур из:
http://github.com/lisp/de.setf.wilbur
Я надеюсь, что это может, по крайней мере, помочь вам в правильном направлении, чтобы начать. Удачи!