以下查询
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 .
}
}
从Europeana知识库中计算"corelli"
的某些作品中的某些标题。但是,当我尝试将变量?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
,也不会。
为什么会这样?
任何人都知道如何设置带有某些字符串值的“姓”(我可能想从另一个端点收集)并让查询查找数据?
答案 0 :(得分:0)
由于查询超时,很可能看不到结果。对于您正在使用的公共端点而言,它太重了。实际上,这两个查询都很繁琐,如果您尝试使用不同的字符串值进行几次尝试,您可能会发现有时第一个查询也会超时,而第二个查询有时会返回一些结果。