2013-06-25 1 views
0

J'ai quelques éléments dans un graphique que j'ai besoin de récupérer avec SPARQL et de traiter individuellement. Je veux obtenir chaque élément à l'aide OFFSET et LIMIT, commeLes graphiques SPARQL maintiendront-ils l'ordre après les mises à jour?

SELECT * 
WHERE 
{ ?s ?p ?o } 
OFFSET 23 
LIMIT 1 

Il semble que le serveur Jena Fuseki maintient l'ordre de l'article quand il n'y a pas de mises à jour, de sorte que le prochain point à 24 OFFSET sera toujours le même. Est-ce une hypothèse non fondée? La commande sera-t-elle la même après une mise à jour?

Répondre

3

Rien n'est garanti. Le fait qu'il arrive de retourner le même ordre à chaque fois ne fait pas partie de l'API formelle. Après une mise à jour, il se peut que cela change. Cela dépend de l'implémentation du stockage que vous utilisez.

Les ensembles de résultats sont renvoyés en continu - le client peut lire certains résultats, faire quelque chose, puis en lire plus, si le client ne peut pas recevoir tous les résultats en une seule fois.

Utilisez COMMANDER pour obtenir une commande fixe.

+0

Merci. Pour le meilleur ou pour le pire, ma liste est indexée par bnodes. Je suppose que je ne peux pas les commander de manière fiable, car ils changent aussi? – NargothBond

+0

Existe-t-il un meilleur moyen de les indexer qu'un simple désordre d'UUID? – NargothBond

+0

Jena triera les bnodes de manière stable s'ils proviennent d'un stockage persistant. – AndyS

Questions connexes