2016-03-04 44 views
0

我試圖在http://www.linkedmdb.org/snorql和Jena(java)上運行此查詢以獲取標題爲「NVA」的所有數據集。SPARQL正則表達式不顯示應該顯示的內容

select ?f where { 

      ?f dc:title ?s. 
      FILTER(REGEX(?s, "NVA", "i")). 

} 

然而,它只顯示這個結果http://data.linkedmdb.org/page/film/2532而不是http://data.linkedmdb.org/page/film/4958(一個我應該得到)。

但是通過運行此查詢,我只得到了第二個數據集(4958),而不是第一

select ?f where { 

      ?f dc:title "NVA" 

} 

我想知道爲什麼我的過濾器工作不正常?我應該添加什麼來獲取我的關鍵字在我的正則表達式中的確切標題的數據集?

謝謝。

回答

2
FILTER(REGEX(?s, "NVA", "i")). 

「i」表示不區分大小寫的匹配。 「NVA」匹配字符串的任何部分。

?f dc:title "NVA" 

更像:

?f dc:title ?s. 
FILTER REGEX(?s, "^NVA$") 
+1

仍然沒有顯示結果。 – M20