2017-05-27 8 views
0

nehme ich die folgende RDF haben Triples in Turtle ausgedrückt:Wie schreibe ich eine SPARQL CONSTRUCT-Abfrage, die eine RDF-Liste zurückgibt?

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

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

Wie schreibe ich eine SPARQL CONSTRUCT Abfrage, die die Liste aus zurück ruft? Wenn es nicht möglich ist, wie kann ich eine SELECT Abfrage schreiben, die die Listenelemente in der richtigen Reihenfolge zurückgibt? Ich habe gefunden this resource, aber es scheint nicht zu garantieren, dass Elemente in Reihenfolge zurückgegeben werden.

+0

Die Frage ist, was wäre der WHERE-Teil? Das Thema? Oder Subjekt Prädikat? oder nur das Prädikat? – AKSW

Antwort

1

Dies wird das Konstrukt für Sie tun - auf Original-Eigenschaft verknüpft, um die Liste zu erhalten, so dass Sie etc. filtern können, wie erforderlich (Ändern Sie einfach Sache und die Eigenschaft zu Ihrem Anwendungsfall).

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 . 
} 
Verwandte Themen