[英]How to bind a string with a variable in SPARQL
以下查詢
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"
的某些作品中的某些標題。 但是,當我嘗試用字符串"corelli"
綁定變量?surname
,它什么也不返回。
例如
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
也不行。
為什么會這樣呢?
任何人都知道如何設置帶有某些字符串值的“姓”(我可能想從另一個端點收集)並讓查詢查找數據?
由於查詢超時,很可能看不到結果。 對於您正在使用的公共端點而言,它太重了。 實際上,這兩個查詢都很繁瑣,如果您嘗試使用不同的字符串值進行幾次嘗試,您可能會發現有時第一個查詢也會超時,而第二個查詢有時會返回一些結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.