Я недавно начал использовать Конструктор запросов Sesame .Это выглядит многообещающе, за исключением того, что оно не предоставляет много документации, и я изо всех сил пытался найти примеры.Вот простой пример, который может помочь вам начать:
ParsedTupleQuery query = QueryBuilderFactory
.select("pubProperty", "pubPropertyValue")
.group()
.atom(cmResource(resourceId), LinkPublicationsTransformation.REFERENCE_URI, "pubUri")
.atom("pubUri", "pubProperty", "pubPropertyValue")
.filter(isLiteral("pubPropertyValue"))
.closeGroup()
.query();
Просто обратите внимание, что isLiteral
и cmResource
- мои собственные маленькие статические вспомогательные классы.isLiteral
означает new IsLiteral(new Var("..."))
, например, где последний создает URI с моим часто используемым префиксом.
Тогда вас может заинтересовать SPARQLQueryRenderer
, который может превратить ParsedQuery
в String
, который можетбудет удобен для дальнейшего использования.
Если вы в конечном итоге используете String(Builder)
подход, то, что я отговариваю вас, по крайней мере посмотрите на RenderUtils
из sesame-queryrendered
, который имеет все удобные методы для добавления <
>
вокруг URI, экранирующих специальных символов и т. Д.