[英]querying RDFs using SPARQL query
假設我們有一個包含以下3個RDF三元組的數據集。 我想使用sparql查詢檢索所有這三個三元組。
http://test.com/11/META_C1-INST predicate1 http://test.com/NO_CONTEXT/META_C0059714-INST
http://test.com/23/META_C1-INST predicate1 http://test.com/NO_CONTEXT/META_C0059714-INST
http://test.com/43/META_C1-INST predicate1 http://test.com/NO_CONTEXT/META_C0142817-INST
這是我寫的查詢,但我知道它不對:
prefix pred:<http://test.com/>
select distinct *
where {pred:META_C1-INST ?p ?o};
我應該怎么說:“從http://test.com/??/找到任何三重奏的主題,哪里可以是11,23,S23?
您可以將URI轉換為字符串,然后根據它的開頭進行過濾。 您需要使用的關鍵字是STRSTARTS
:
select distinct *
where{
?s ?p ?o
filter(STRSTARTS(str(?s), "http://test.com/"))
}
或者您可以使用^
符號的正則表達式:
select distinct *
where{
?s ?p ?o
FILTER regex(str(?s), "^http://test.com/") .
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.