我使用以下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"的信息框?
因为它是一个正则表达式,你应该能够限制搜索如下:
FILTER (regex(?template, '^Infobox_artist$')) .
Run Code Online (Sandbox Code Playgroud)
^ 是一个字符串的开头$ 是一个字符串的结尾在正则表达式.
注意:我没有使用过sparql,所以这可能无法正常工作.
| 归档时间: |
|
| 查看次数: |
6124 次 |
| 最近记录: |