2013-03-09 4 views
4

Pour mon projet, j'ai une base de données relationnelle. Mon schéma de base de données relationnel change fréquemment. J'ai récemment stocké toutes les données des tables de bases de données relationnelles dans une grande table RDF. Table stocké des données en tant que triple. Il a trois colonnes Sujet, Prédicat, Objet. Voici un exemple de la table RDF:Stockage et interrogation efficaces des triplets RDF

Subject->Predicate->Object 

1->name->Center 

1->description->sample description 

1->data->measure 

2->data->parameter 

2->relation->1 

J'ai stocké la table dans Oracle et actuellement en utilisant SQL pour interroger la base de données. Cependant, ma table se développe très rapidement et il y a beaucoup d'enregistrements et le traitement des requêtes SQL prend du temps. Je crois que dans la table du futur proche se développera plus et le traitement des requêtes sera inefficace. Donc, mon souci concerne l'efficacité.

Pourriez-vous m'indiquer comment stocker les triplets RDF de manière efficace, de sorte que l'interrogation de la BD prendra moins de temps même si la table est très grande. Je ne connais pas grand-chose à la base de données RDF et au langage de requête. Est-il possible de rendre la table Oracle RDF efficace? J'ai vu que les gens parlent de l'outil Apache Jena et du langage SPARQL. Cela résoudra-t-il mon problème? Si j'utilise Jena, ai-je besoin de stocker mon triple RDF au format XML ou mon format actuel est correct? Comment puis-je utiliser l'outil Jena? Serait-il également utile d'utiliser la base de données graphique au lieu de Oracle DB? Si oui, lequel choisir?

Répondre

2

http://jena.apache.org/

Jena a deux couches de stockage applicables ici: SDB, qui utilise des bases de données SQL et TDB, un magasin d'origine. TDB est plus rapide. SDB utilise son propre schéma pour stocker RDF.

Vous pouvez également utiliser le stockage RDf d'Oracle (avec interface jena).

Vous ne stockez pas de code XML pour le RDf dans aucune de ces approches - il est analysé et un stockage efficace est utilisé.

Questions connexes