簡體   English   中英

如何在SPARQL中將字符串與變量綁定

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM