Фильтр регулярных выражений SPARQL

Я пытаюсь сопоставить одно слово в SPARQL с помощью фильтра регулярных выражений, но безуспешно...:/ Я отправляю запрос на конечную точку, расположенную по адресу «http://dbtune.org/musicbrainz/sparql». Хорошо, следующий запрос работает:

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX mo: <http://purl.org/ontology/mo/>
SELECT ?artist ?name
WHERE {
    ?artist a mo:MusicArtist
   . ?artist foaf:name "Switchfoot"
   . ?artist foaf:name ?name
   . FILTER(regex(str(?name), "switchfoot", "i"))
}

Но если я удалю строку 7 (. ?artist foaf :имя "Switchfoot" ), следующий запрос не соответствует:

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX mo: <http://purl.org/ontology/mo/>
SELECT ?artist ?name
WHERE {
    ?artist a mo:MusicArtist
   . ?artist foaf:name ?name
   . FILTER(regex(str(?name), "switchfoot", "i"))
}

Я не знаю, то ли я делаю что-то неправильно, то ли это ошибка конечной точки...

Кто-нибудь может мне помочь?

5
задан Gustavo José Sousa 6 July 2012 в 14:35
поделиться