Привет.
По статусу. В современных технологиях БД семантические сети - из малоизвестных. Особенно в части
литературы. Намного больше спецификаций чем каких-либо материалов о смыслах и мотивации.
Поэтому я поднимаю тему как некий вопросник.
1. Каковы перспективы
AWS:Neptune? Пока цена его эксплуатации слишком дорога для кастомеров
и они отказываются от него погоняв в тестовых enviromnents и поглазев на выписки из счета.
Возможно причина в том что это In-Memory-Ddbms?
Было-бы неплохо поискать бесплатную альтерноативу AWS:Neptune (пускай даже дисковую) и подняв
в EC2 instance обеспечить тот-же Rest-овский интерфейс предложить более дешевое решение (на обсуждение)
пускай даже более медленное по TPS.
2.
GraphDb? Что это за продукт? Его демонстрационная версия работает у меня локально как веб-приложение.
Каковы цели его создания? Возможности? Как он конкурирует с AWS:Neptune? Какие есть у него ограничения?
3.
Apache Jena. SDF. Я потратил несколько безсонных ночей анализируя возможность намапить семантическую
БД на реляционную. В документах Jena это направление считается не-перспективным и его рекомендуют оставить
в пользу более быстрых.
Но для меня направление реляционок кажется пока привлекательным. Это некая большая гетерогенность в AWS
где можно поднимать легко Maria/Postgres и относительно недорого (дешевле чем Neptune).
Добавте пару слов кто вкурсе.
Зачем в SDF три layouts: LayoutTripleNodesHash, LayoutSimple, LayoutTripleNodesIndex ?
Под-направления TDB/TDB2. Планирую на днях их развернуть и разобраться. Если у кого есть инфа - делитесь.
В данном дискурсе вопросы перформанса пока вообще не стоят. Заказчик ничего не озвучивает и не дает NFR.
Предположительно нагрузки не будет. Нужны только принципиальные возможности. Предполагается хранить
- репозитарий. Транзакции будут не поисковые а - точечные.
4.
SparQL или Gremlin? Поверхностно посмотрел уроки. SparQL на примере GraphDB. Мне как старому SQL-щику
SParQL понравился. Он хотя-бы выделен в некий доменный язык. С другой стороны Gremlin похож на JavaScript
но запросы на создание графов выглядят в нем ужасно. Не понимаю пока мотивации. Кто юзал оба - варианта
- велкам. Кидайте 5 копеек.
5.
Triple/Quad. Именованные графы. Зачем? Какова цель их создания? Какие RDF-форматы сериализации
наиболее удобны? какие использовали вы? Мне эстетически понравился turtle, на нем в частности
я откатывал учебные tutorials.
6. Прочие графовые Dbms и библиотеки (Guava .e.t.c) я в прошлом году имел наглость
поднять где-то их сравнительный анализ но незакочил. Сейчас могу снова вернуться но
уже в других смыслах а именно - семантический веб. Мне не нужен граф как таковой и
алгоритмы потоков в сетях и разрезы. Мне нужна формальная близость к спекам RDF
и модель хранения пригодная к запросам SparQL.
Keywords:
GraphT JUNG Guava Apache Commons Graph GRPH7. EclipseRDF4j против Apache Jena. Это 2 API для работы с RDF однако Eclipse рекомендован
Amazon в туториалах как основной API для Neptune. Jena с моей точки зрения более привлекательна
как старт опен-сорц решений.
Вобщем тоже поделитесь опытом их использования.
8. Визуализация RDF.
P.S. Я прошу прощения за свое многословие. Возможно я форкну дочерние топики если какая-то тема найдет
отклик. Но пока вот так. Сумбурно.
P.P.S. Основной поинт - отказ от системы
AWS:Neptune в пользу Open-SOurce решений но цена
развертывания такого решения в облаке AWS не должна быть дороже Нептуна.
Линки по теме
Jena
https://jena.apache.orgAWS
https://aws.amazon.com/GraphDb
http://graphdb.ontotext.com/Rdfj4
http://rdf4j.org/SparQL
https://www.w3.org/TR/sparql11-overview/RDF concepts
https://www.w3.org/TR/rdf11-concepts/Литература по теме:
1. Learning SPARQL: Querying and Updating with SPARQL 1.1
2. Practical RDF
(если вы знаете больше и полезных - докидывайте)Вышеуказанные книги я не читал пока но заказал в бумажном варианте.