2016-11-28 1 views
0

Quand je vais à http://localhost:8890/sparql/, il y a deux champs: Default Data Set Name (Graph IRI) et query. Comment puis-je lister ce que tous les graphiques (qui vont dans le champ précédent) sont disponibles dans ma base de données? Le champ n'est pas obligatoire et je peux simplement lancer une requête sur tous les espaces de noms. Mais j'aimerais savoir comment lister les graphiques disponibles.Comment lister tous les graphiques dans Virtuoso?

Le seul graphique non vide que je pouvais courir était http://localhost:8890/sparql

Par exemple, dans un environnement de base de données relationnelle, je crois que ce genre d'information pourrait être récupérée à partir des tables système.

+2

Les espaces de noms ne font pas partie de RDF ou d'un magasin triple. Ce que vous voulez dire, ce sont des graphiques. Les graphiques peuvent contenir des ressources qui ont des adresses IRI avec des espaces de noms différents. Donc, la question serait "liste tous les graphiques dans un magasin triple". Ce qui conduit à quelque chose comme 'select distinct? G {graphe? G {? S? P? O}}'. – AKSW

+1

'select * {graph? G {}}' devrait fonctionner. – AndyS

+0

@AndyS, qui renvoie '_star_fake: 1' – amphibient

Répondre

3

Comme indiqué dans les commentaires, this query vous obtiendrez une liste de tous les graphes nommés (qui, comme également noté, ne sont pas les mêmes que « namespaces ») dans le magasin ciblé -

SELECT DISTINCT ?g 
    WHERE { GRAPH ?g {?s ?p ?o} } 
ORDER BY ?g 

Vous pouvez voir les résultats en direct (limité ici à 100 noms de graphiques) sur le DBpedia endpoint (une liste très courte, comme vous vous y attendez) et sur URIBurner (une liste beaucoup plus longue et plus variée).

+0

wow ... la requête que vous avez un lien hypertexte a pris comme 10 secondes à exécuter. Virtuoso n'est pas connu pour la performance, que j'ai également noté dans la mise en œuvre je dois travailler avec – amphibient

+0

aussi, j'ai corrigé le OP – amphibient

+1

Les points de terminaison publics auxquels je suis lié sont ouverts au monde, et ne répondent généralement pas à une requête à un temps, donc * d'autres * requêtes peuvent affecter les performances sur * votre * requête. Virtuoso est assez bien connu pour ses excellentes performances, mais cela nécessite [un bon réglage de son environnement] (http://docs.openlinksw.com/virtuoso/rdfperfgeneral/), et [des benchmarks correctement construits] (http: // ldbcouncil. org /), entre autres considérations. Je suppose que votre propre déploiement a besoin d'une partie de ce réglage pour commencer. – TallTed