SPARQL выбрать опционально с языком

У меня есть несколько троек, которые выглядят так:

test:thing rdfs:label "Non-Language Label"
test:thing rdfs:label "English Label"@en
test:thing rdfs:label "French Label"@fr

Я хотел бы сформировать запрос sparql, который дает мне «Неязыковую метку» И «Французскую метку», если таковая существует.

Я попробовал это, и это не работает:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
SELECT ?label ?preferredLabel
WHERE {
   test:thing rdfs:label ?label 
   OPTIONAL {
     test:thing rdfs:label ?preferredLabel . 
     FILTER (regex(str(?preferredLabel), '(^|\\\\W)fr', 'i'))
   }
}

Заранее спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос