2009-12-08 5 views
4

Votre triplestore contient beaucoup de nœuds, et vous devez rendre accessible cette base de données via une interface REST.REST et RDF, quelle est la stratégie de représentation?

Maintenant, ma solution serait que chaque nœud nommé (non anonyme) est exportée en tant que ressource, dont la représentation est la suivante:

  1. tous les triplets ayant le noeud comme sujet
  2. tous les triplets avoir le nœud en tant qu'objet
  3. tous les nœuds anonymes connectés.

Je suis un peu réticent sur le point numéro 2: cela donnerait fondamentalement des triplets entrants et sortants. Quel est votre point de vue sur une représentation sytle REST d'un magasin de données orienté RDF uniquement? Partagez-vous mon point de vue ou non, et si ce n'est pas le cas, qu'en pensez-vous?

Répondre

2

Dépend de ce que sont les données et de ce que les utilisateurs de l'interface veulent en faire. Cette question est similaire à ce que le formulaire de requête SPARQL DESCRIBE doit renvoyer. (Il est déterminé par l'implémentation.)

Pour les cas d'utilisation que j'ai eu avec les données RDF, j'irais avec 1 et 3, produisant une fermeture de nœud vide de la ressource. De plus, vous pourriez avoir une interface séparée pour le cas 2, renvoyant les arcs entrants de la ressource.

0

(disclaimer: cela peut ne pas correspondre exactement au contenu de votre question, mais il correspond au titre)

Je pense que sur le sujet de la représentation reste des données RDF est un problème général d'inverser l'ordre des concepts. Pour moi, la normale serait d'avoir une collection de documents Rest avec des données RDF et d'utiliser une base de données RDF pour indexer et faire des requêtes globales.

Dans cette situation, vous pouvez organiser vos ressources de la manière que vous préférez. Aussi (si vous prétendez utiliser l'URI du noeud comme ressource exportée) votre approche aura de subtils problèmes concernant la signification de vos ressources: les ressources de repos que vous proposez ici sont "information resources" et elles ne peuvent pas être des ressources abstraites. Il y aura un conflit entre l'information et la méta-information. J'ai publié un article here expliquant cette vue plus en détail.

1

Un moyen simple de créer un jeu de données RDF REST traversible consiste à utiliser des URL pour tous les éléments traversables. Lorsque l'on accède à l'URL, par exemple via HTTP GET, le résultat montre les nœuds connectés (connectés en tant que propriétés et/ou propriétés inverses). Plus formellement, la représentation renvoyée peut être un Concise Bounded Description de la ressource.

Questions connexes