Я работаю над приложением для музыкального плеера, которое полагается на SPARQL для получения информации о местных треках и сталкивается с некоторыми проблемами.SPARQL fn: replace thorws error: «синтаксическая ошибка, ожидаемое первичное выражение»
Я запускаю Fedora 21, и база данных (Tracker) запрашивается через grilo (т. Е. Я пишу сырые запросы SPARQL, а grilo использует эти запросы для разговора с базой данных и отправляет любые результаты).
В принципе, в любое время я пытаюсь использовать REPLACE
, я получаю следующее:
Grilo-WARNING : [tracker-source-request] grl-tracker-source-api.c:500: Could not execute sparql query id=1: 1.273: syntax error, expected primary expression
При попытке использовать fn:replace
, вместо этого я получаю:
Grilo-WARNING : [tracker-source-request] grl-tracker-source-api.c:500: Could not execute sparql query id=1: 1.284: syntax error, Unknown function
Для справки, вот контекст в котором я пытаюсь использовать REPLACE
:
SELECT DISTINCT
rdf:type(?album)
tracker:id(?album) AS id
(
SELECT
nmm:artistName(?artist)
WHERE {
?album nmm:albumArtist ?artist
}
LIMIT 1
) AS artist
REPLACE(nie:title(?album)^^xsd:string, "hello", "goodbye") AS title
nie:title(?album) AS album
[more SPARQL gobbldygook follows]
Если вы хотите понять, как выглядят другие запросы, view the whole file.
Конечная цель - использовать REPLACE
, чтобы отменить пунктуацию от имен альбомов/исполнителей для целей сортировки.
Спасибо!
Не совсем уверен, что я понимаю вашу полную установку, но запрос, как у вас есть в вашем вопросе не правовой стандарт SPARQL - помимо того, что нет 'rdf: type' или' tracker: id' (хотя они, возможно, были добавлены в качестве настраиваемых расширений с помощью используемого вами механизма SPARQL), вам не хватает открывающих и закрывающих скобок вокруг различных частей предложения SELECT (в основном, каждый элемент предложения, включающий сглаживание 'AS', должен быть окружен скобками). –
'REPLACE' - функция, которая была добавлена в версии 1.1 SPARQL. Возможно, ваш механизм запросов не полностью совместим с пересмотренной спецификацией? –