2008-10-23 15 views
4

Je travaille sur une équipe qui étudie une pile technologique pour un projet d'intégration de systèmes de terrain vierge. Une partie de notre pile technologique privilégiée utilise Hibernate pour conserver son état interne et expose les hameçons dans les transactions Hibernate, afin que les entités commerciales restent synchronisées avec l'état de cet utilitaire. Génial, sauf que nous devons conserver des informations sur les entités d'un type inconnu et lier ces données aux types prédéfinis. Nous avons besoin d'un magasin de données évolutif qui ne nécessite pas la définition préalable du schéma. Le point idéal serait de mélanger les données RDF et les entités gérées Hibernate.Fusion des approches RDF et ORM

Avez-vous fait face à une exigence similaire et quelles approches pouvez-vous recommander?
Tout mélange RDF/ORM doit prendre en charge des requêtes à grande échelle peu fréquentes pour la création de rapports et l'exploration de données, ainsi que des opérations de lecture et d'écriture ciblées fréquentes à l'appui des transactions.

+0

pas de réponse mais je suis intéressé si vous trouvez quelque chose. –

+0

... autre que ce blog qui a l'air intéressant mais vague: http://blogs.sun.com/bblfish/entry/java_annotations_the_semantic_web –

Répondre

1

J'utilise RDF dans mon projet et ce que nous avons fait est d'utiliser OWL pour définir une ontologie pour les données RDF et lui donner une certaine structure. De là, nous générons des classes C# à partir de l'ontologie OWL. La bonne chose à ce sujet est que vous pouvez toujours ajouter des données supplémentaires sur votre sujet, mais toujours avoir une structure de classe qui est significative dans la plupart de vos cas.

+0

Uh-oh le mot O! Puisque nous ne connaissons pas le schéma à l'avance, générer du code à partir de n'importe quoi est hors de question. Considérons OWL dans ce cas comme une entrée d'exécution. Avoir des modifications à la partie RDF dans une sorte de transaction avec SQL DML est également essentiel. –

0

Une solution est de garder le modèle d'objet au niveau de triplestore RDF, par exemple en ayant des cours pour

  • nœuds: URIs, blancs et littéraux
  • états: collections de trois nœuds ou plus (trois pour le triple RDF, noeud (s) supplémentaire (s) pour méta)

L'exécution de requêtes sur un tel stockage consiste essentiellement à faire correspondre les modèles triple/n-tuple sur les instructions.

0

Avez-vous envisagé de définir un modèle d'hibernation pour les données connues et d'ajouter des CLOB avec XML pour stocker les données inconnues? De cette façon, vous gardez votre code hibernation normal pour la plupart et seulement lorsque vous avez besoin d'accéder aux éléments supplémentaires, vous chargez le XML des champs CLOB et le traitez.

Regardez un here pour un problème similaire avec une solution similaire.

0

Sur Tripresso wiki page il existe une liste de mappeurs Object-RDF qui vous permettent de travailler avec des données RDF de manière orientée objet. Je doute que l'un d'entre eux s'intègre directement avec Hibernate mais ils fournissent au moins quelque chose de similaire.