正規表現フィルターを使用して SPARQL の 1 つの単語を一致させようとしていますが、成功しません... :/ "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:name "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"))
}
何か間違ったことをしているのか、エンドポイントのバグなのかわかりません...
誰か助けてくれませんか?