2017-05-27 71 views
0

假設我有以下RDF三元組表示在龜:如何編寫一個返回RDF列表的SPARQL CONSTRUCT查詢?

@prefix sorg: <http://www.schema.org/> . 

<https://example.com/Foo> sorg:hasPart ("item1" "item2" "item3") . 

我怎樣寫一個SPARQL CONSTRUCT查詢檢索列表回來了?如果不可能,我該如何編寫一個SELECT查詢,以正確的順序返回列表元素?我發現this resource,但它似乎並不能保證元素將按順序返回。

+0

問題是,什麼是WHERE部分?主題?還是主語謂語?或只有謂詞? – AKSW

回答

1

這將爲您構建 - 鏈接到原始屬性以獲取列表,以便您可以根據需要進行過濾等(只需將?thing和property更改爲您的用例)。

prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 

CONSTRUCT { 
    ?thing <urn:prop:to:list> ?list . 
    ?listRest rdf:first ?head ; 
     rdf:rest ?tail . 
} WHERE { 
    ?thing <urn:prop:to:list> ?list . 

    ?list rdf:rest* ?listRest . 
    ?listRest rdf:first ?head ; 
     rdf:rest ?tail . 
}