假设我在Turtle中表达了以下RDF三元组:
@prefix sorg: <http://www.schema.org/> .
<https://example.com/Foo> sorg:hasPart ( "item1" "item2" "item3" ) .
如何编写检索列表的SPARQL CONSTRUCT
查询?如果不可能,我如何编写SELECT
查询,以正确的顺序返回列表元素?我找到了this resource,但它似乎并不能保证按顺序返回元素。
答案 0 :(得分:1)
这将为您构建 - 链接到原始属性以获取列表,以便您可以根据需要过滤等等(只需将内容和属性更改为您的用例)。
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 .
}