J'essaye de créer une base de données à partir des triplets de dbpedia RDF. J'ai une table Categories
qui contient toutes les catégories dans wikipedia. Pour stocker les catégorisations, j'ai créé une table avec les champs child
et parent
, les deux clés étrangères du tableau Categories
. Pour charger les catégories de NTriples Iam à l'aide de la requête SQL suivanteInsertion de la base de données de graphe Wikipedia
INSERT INTO CatToCat (`child`, `parent`)
values((SELECT id FROM Categories WHERE BINARY identifier='Bar'),
(SELECT id FROM Categories WHERE BINARY identifier='Bar'));
Mais l'insertion est très lent .. insertion 2,5millions relations prendrait très longtemps .. est-il une meilleure façon d'optimiser la requête, schéma ??
Votre question n'a pas vraiment de sens pour moi. Vous dites que vous utilisez SQL pour interroger NTriples, ce qui n'a pas beaucoup de sens. Je suppose que vous avez déjà importé les données dans une base de données SQL. Ce qui en partie demande la question pourquoi? Vous feriez probablement mieux de mettre la table dans un RDF/Triple Store et d'utiliser un raisonnement pour déduire les relations. – RobV
J'essaie de charger des données de NTriples dans la base de données SQL. Mon application ne nécessite pas toutes les données RDF, les prédicats par exemple. Je pourrais juste l'extraire directement de wikipedia mais je pensais que ce serait plus rapide à charger à partir des dumps de dbpedia nt. J'ai juste besoin de la hiérarchie des catégories. Je pensais qu'un triplestore pourrait être une surcharge car je n'ai pas besoin d'utiliser SPARQL et autres. – z33m
Quel type d'index avez-vous créé dans la table CatToCat? –