Учитывая конечную точку SPARQL (которая может быть либо SPARQL 1.0, либо 1.1), скажем, например, http://pt.dbpedia.org/sparql, как узнать, какую версию SPARQL он поддерживает?
[Один из вариантов — попробовать функцию 1.1, такую как функции агрегирования, и посмотреть это работает, но я думаю, должен быть лучший способ сделать это].
Спецификация описания службы SPARQL 1.1 говорит
Службы SPARQL, доступные через протокол SPARQL, должны возвращать документ с описанием службы в конечной точке службы при разыменовании с использованием операции HTTP GET без предоставления каких-либо строк параметров запроса. Это описание службы должно быть доступно в сериализации RDF, может быть встроено в (X)HTML посредством RDFa [RDFA] и должно использовать согласование содержимого [CONNEG], если оно доступно в других представлениях RDF.
и далее,
3.2.10 sd:supportedLanguage Связывает экземпляр sd:Service с языком SPARQL (например, Query and Update), который он реализует. subPropertyOf: sd:feature domain: sd:Service Range: sd:Language
3.3.3 sd:Language Экземпляр sd:Language представляет один из языков SPARQL, включая определенные конфигурации, предоставляющие определенные функции или расширения. В этом документе определяются три экземпляра sd:Language: sd:SPARQL10Query, sd:SPARQL11Query и sd:SPARQL11Update. тип: rdfs: класс subClassOf: sd: функция
Но когда я разыменовываю большинство конечных точек SPARQL, они просто присылают мне редактор запросов HTML SPARQL.
ОБНОВЛЕНИЕ: проблема с редактором HTML была связана с тем, что я не использовал надлежащее согласование содержимого на конечной точке. Но теперь возникает вопрос: есть ли хороший способ отличить конечную точку SPARQL 1.0 от конечной точки SPARQL 1.1, которая не предоставляет описание службы?
Проделана некоторая работа по обнаружению и мониторингу конечных точек SPARQL, таких как Инфраструктура веб-запросов SPARQL: готова к действию?, Обнаружение конечных точек SPARQL в связанных открытых данных, но я не видел прямой -forward способ найти версию.