以下查询
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>
PREFIX ore: <http://www.openarchives.org/ore/terms/>
SELECT *
{
SERVICE <http://sparql.europeana.eu> {
?CHO ore:proxyIn ?proxy;
dc:title ?title ;
dc:creator ?creator ;
dc:date ?date .
FILTER REGEX(str(?creator),"corelli","i").
?proxy edm:isShownBy ?mediaURL .
}
}
"corelli"
从 Europeana 知识库中的一些作品中计算出一些标题。但是,当我尝试将变量?surname
与字符串绑定时,"corelli"
它什么也不返回。
例如
SELECT *
{
values ?surname { "corelli" }
SERVICE <http://sparql.europeana.eu> {
?CHO ore:proxyIn ?proxy;
dc:title ?title ;
dc:creator ?creator ;
dc:date ?date .
FILTER REGEX(str(?creator),?surname,"i").
?proxy edm:isShownBy ?mediaURL .
}
}
该FILTER REGEX
表达式似乎在那里不起作用(我正在使用 Blazegraph 实例来计算此查询)。如果我使用str(?surname)
而不是?surname
.
为什么会这样?
任何人都知道可以做些什么来设置 ?surname 一些字符串值(我可能想从另一个端点收集)并让查询找到数据?