sparql完全匹配正则表达式

Fun*_*ica 4 regex sparql

我使用以下sparql查询从dbpedia中提取与特定信息框匹配的页面:

PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbpedia: <http://dbpedia.org/property/>
PREFIX res:<http://dbpedia.org/resource/>
SELECT DISTINCT *
WHERE {
?page dbpedia:wikiPageUsesTemplate ?template .
?page rdfs:label ?label .
FILTER (regex(?template, 'Infobox_artist')) .
FILTER (lang(?label) = 'en')
}
LIMIT 100
Run Code Online (Sandbox Code Playgroud)

在这行查询中:

FILTER (regex(?template, 'Infobox_artist')) .
Run Code Online (Sandbox Code Playgroud)

我得到所有的信息框,从艺术家开始,作为artist_discography和其他我不需要的信息框.我的问题是:我怎样才能通过正则表达式获得完全匹配"infobox_artist"的信息框?

ben*_*y23 5

因为它是一个正则表达式,你应该能够限制搜索如下:

FILTER (regex(?template, '^Infobox_artist$')) .
Run Code Online (Sandbox Code Playgroud)
  • ^ 是一个字符串的开头
  • $ 是一个字符串的结尾

在正则表达式.

注意:我没有使用过sparql,所以这可能无法正常工作.