Есть ли документация, объясняющая, как реализовать API SAIL? Я попытался отладить и проследить за выполнением примера запроса с использованием хранилища памяти RDF, и я заблудился.
Существует базовый c проектный черновик , но это неполный. Более всесторонний HowTo был в планировании некоторое время, но он никогда не получает тот приоритет, который ему необходим.
Тем не менее, я не думаю, что вам нужно реализовывать свой собственный SAIL для того, что вы имеете в виду. Существует множество существующих реализаций, которые могут делать то, что вам нужно.
Предположим, я хочу предоставить реляционную базу данных в своем центре данных. Должен ли я реализовать репозиторий SPARQL или HTTP-репозиторий?
Я не понимаю вопроса. HTTPRepository - это клиентский прокси-сервер для RDF4J-сервера. SPARQLRepository - это клиентский прокси для конечной точки SPARQL (не RDF4J). Ни один из них не имеет ничего общего с реляционной базой данных.
Должен ли я в любом случае реализовать API SAIL?
Это зависит от вашего варианта использования, но я сомневаюсь в этом - по крайней мере, не с самого начала. Я бы, вероятно, использовал существующую библиотеку R2RML , совместимую с RDF4J, как, например, R2RML API или CARML - либо живое отображение, либо офлайн пакетное отображение между реляционными данными и вашим хранилищем триплетов может решить вашу проблему.
Что касается fedX, как я могу сделать возможным использование терминов SERVICE и VALUES, как это предлагается в федеративных запросах SPARQL 1.1?
Вам не нужно «делать это», FedX поддерживает это «из коробки».
Как я могу изменить стратегии Joning? план запроса?
Вы не можете (по крайней мере, не легко), и вы не должны этого хотеть. Довольно много исследований и разработок было уделено стратегиям планирования запросов RDF4J и FedX. Я не говорю, что либо идеально, но вы вряд ли сделаете лучше.