Je souhaite télécharger deux ensembles de données ou plus sur mon ordinateur et pouvoir démarrer un point de terminaison SPARQL pour chacun d'entre eux. J'ai essayé Fuseki qui fait partie du projet Iéna. Cependant, il charge tout le jeu de données en mémoire, ce qui n'est pas vraiment souhaitable si j'ai l'intention d'interroger des jeux de données volumineux comme DBpedia étant donné que j'ai l'intention de faire d'autres choses (démarrage de plusieurs points d'extrémité SPARQL). Pour vous donner un avertissement, j'ai l'intention de lier plusieurs ensembles de données en utilisant SILK, en les interrogeant à l'aide d'un système de requête fédéré FEDX. Si vous recommandez un changement des systèmes que j'utilise, ou si vous pouvez me donner un conseil, ce serait génial. Ce sera également une aide précieuse si vous suggérez un ensemble de données pouvant s'intégrer dans ce projet.Interrogation de grands ensembles de données RDF sur la mémoire
Répondre
Le Fuseki de Jena peut utiliser TDB comme un mécanisme de stockage, et TDB stocke des choses sur le disque. La documentation TDB sur caching on 32 and 64 bit Java systems traite de la façon dont le contenu du fichier est mappé en mémoire. Je ne crois pas que TDB/Fuseki charge l'intégralité du jeu de données en mémoire; cela n'est tout simplement pas faisable pour les grands ensembles de données, pourtant TDB peut gérer des ensembles de données assez volumineux. Je pense que ce que vous devriez faire est d'utiliser tdbloader
pour créer un magasin TDB; alors vous pouvez lui indiquer Fuseki.
Il existe un exemple de configuration d'un magasin TDB dans this answer. Là-dedans, la requête est effectuée avec tdbquery
, mais selon la section Running a Fuseki server de la documentation, tout ce que vous devez faire pour commencer Fuseki avec le même magasin TDB est d'utiliser l'option --loc=DIR
:
--loc=DIR
Utilisez une base de données TDB existante. Crée un vide s'il n'existe pas.
As Joshua said, Fuseki de Jena utilise TDB il peut stocker ontologies très grand sans utiliser beaucoup de ressources. Par exemple, vous pouvez charger le Yago2 taxonomy dans celui-ci et utiliser seulement environ 600 Mo de RAM. Vous n'avez pas besoin de charger Fuseki dans votre projet Java, vous pouvez simplement l'exécuter à partir de la ligne de commande et l'interroger dans votre projet.
le charger à la ligne de commande Windows par ce qui suit:
java -jar c:\your_ontology_directory\fuseki-server.jar \
--file=your_ontology.rdf /your_namespace
Ensuite, vous pouvez exécuter une requête SPARQL contre toute application GET/POST (même dans votre navigateur):
http://localhost:3030/your_namespace/sparql?query=SELECT * { ?s ?p ?o }
Les résultats sont, par défaut, renvoyés au format XML.
<?xml version="1.0"?>
<sparql xmlns="http://www.w3.org/2005/sparql-results#">
<head>
<variable name="s"/>
<variable name="p"/>
<variable name="o"/>
</head>
<results>
<result>
<binding name="s">
<uri>http://yago-knowledge/resource/wordnet_gulag_103467887</uri>
</binding>
<binding name="p">
<uri>http://www.w3.org/2000/01/rdf-schema#subClassOf</uri>
</binding>
<binding name="o">
<uri>http://yago-knowledge/resource/wordnet_prison_camp_104005912</uri>
</binding>
</result>
…
- 1. Interrogation de grands ensembles de données dans Cassandra
- 2. Doctrine avec de grands ensembles de données
- 3. grands cadres de sous-ensembles de données
- 4. DC et crossfilter avec de grands ensembles de données
- 5. Optaplanner - grands ensembles de données avec des millions de lignes
- 6. Gestion de grands ensembles de données avec PHP/Drupal
- 7. C++ Qt WordCount et grands ensembles de données
- 8. Vérification efficace de la signature sur de grands ensembles de données à l'aide de JCA
- 9. Performance des fichiers mappés en mémoire - gestion de la mémoire lors de l'utilisation de grands ensembles de données
- 10. NHibernate - Diffusion de grands ensembles de résultats?
- 11. Chargement \ Interrogation de grands objets sérialisés
- 12. Alternative aux vecteurs pour les grands ensembles de données? C++
- 13. Gestion de grands ensembles de données de grille en JavaScript
- 14. Stockage de grands ensembles de données de niveau session?
- 15. Référencement de plusieurs feuilles avec de grands ensembles de données
- 16. Interrogation RDF Fichier dans RDFDOTNET
- 17. Gestion de grands ensembles de données (objet) avec PHP
- 18. Visualisation de grands ensembles de données avec Hadoop
- 19. Outil de rapprochement [comparaison de deux grands ensembles de données]
- 20. Data Import/Export de grands ensembles de données avec .net
- 21. Tracer de grands ensembles de données en 3D avec WPF?
- 22. Comment calculer des valeurs moyennes de grands ensembles de données
- 23. Chargement de grands ensembles de données avec AngularJS
- 24. Algorithme de tri pour les grands ensembles de données
- 25. comment analyser de grands ensembles de données en utilisant RDFLib?
- 26. Traitement rapide de grands ensembles de données dans les graphiques
- 27. gestion/compression de grands ensembles de données dans plusieurs tables
- 28. Adobe Air/Flex filtrant de grands ensembles de données
- 29. Transactions SSIS - Grands ensembles d'enregistrements
- 30. fichier sorte de fusion basé sur grands ensembles de données en Java