Question

Je me demande sur le soutien actuel, il est en Ruby pour les technologies du web sémantique. Y at-il de bonnes options RDF? Il semble que les dernières enquêtes réalisées étaient environ 2007 ( http://paul-classic.stadig.name/2007/10/26/the-state-of-rdf-support-in-ruby-2007/ ). RDF est de Redland enrubanneuse la meilleure façon d'aller pour le soutien RDF - tous les autres projets mentionnés dans cet article vieillissement semblent être non pris en charge ou abandonnées. Ruby est peut-être un mauvais choix si celui qui à la poursuite des projets ayant trait à la web sémantique?

Était-ce utile?

La solution

Hé, Iaalto, je suis l'auteur de l'article de l'enquête que vous avez mentionné. J'ai pensé à faire une nouvelle enquête.

Un peu a changé depuis que je l'ai fait l'enquête initiale, mais pas beaucoup. Voici quelques choses à considérer:

  1. ActiveRDF semble avoir choisi la voie d'être une bibliothèque spécifique JRuby. Plusieurs de leurs adaptateurs sont pour Java seules les bibliothèques. Pas nécessairement un problème, mais quelque chose à être au courant.
  2. Reddy a seulement un graphique à base de mémoire. Encore une fois, pas nécessairement un problème. Je ne négligez Reddy pour que (optimisation prématurée), mais je aussi ne rêve pas de stocker des milliards de triplets.
  3. J'ai récemment trouvé une nouvelle série de liaisons Ruby pour Redland appelé RedLeaf. Je ne sais pas comment il est arrivé à maturité, mais il semble que Michael a travaillé là-dessus pendant environ un an. Je ne l'avais pas entendu parler jusqu'à récemment parce qu'il est hors réseau (pas de projet RubyForge ou GitHub).
  4. Je créé un projet sur GitHub appelé RubyRDF (github.com/pjstadig/rubyrdf/tree/master). Il n'a pas une tonne de documents, mais il est surtout fonctionnel. Il dispose d'un adaptateur de sésame compatible avec support pour les transactions. J'ai encore quelques idées pour l'orientation future, et la rendre plus complète des fonctionnalités, mais pas beaucoup d'élan à travailler. Je salue toutes les contributions.

Bottom line: Si JRuby est pas un problème pour vous, alors allez avec ActiveRDF, il est le plus complet et mature. Si le graphique à base de mémoire n'est pas un problème, la suivante est plus mature probablement Reddy.

Autres conseils

Je viens d'écrire un nouvel article d'enquête sur Ruby et RDF . Certaines de mes conclusions sont les suivantes:

  • Il y a une énorme quantité d'activité entourant RDF.rb , avec plus d'une vingtaine d'adaptateurs de bases de données, sérialisation / plugins désérialisation et interfaces avec d'autres bibliothèques. La plupart des objets récents cartographes ont été construits au-dessus de RDF.rb aussi.
  • La bibliothèque populaire Redland RDF a liaisons Ruby , et il est activement maintenu.
  • ActiveRDF a fait l'objet de première mappeur pour RDF, mais il ne semble plus être activement maintenue.
  • Le seul récent, objet actif mappeur au moment semble être Spira .
  • Aucun des cartographes objet profitent de ActiveModel encore. Ce serait vraiment lisse, parce qu'il fournirait une intégration beaucoup plus profonde entre RDF et Rails.

Il y a aussi quelques commentaires de suivi intéressants des auteurs de RDF.rb et Spira. Ben Lavande, en particulier, a beaucoup réfléchi à la façon de Carte RDF sanely sur des objets Ruby .

Personnellement, je suis allé pour RDF.rb que leur site web avait la documentation sur OK, et il était facile d'obtenir commencer à utiliser les tutoriels de blog.

ActiveRDF semble être un projet plus vaste - mais leur wiki est vers le bas (en fait les principaux liens de page à une copie du wiki sur archive.com) -. Et tout l'exemple parler de requêtes SPARQL

Voici un exemple de recherche triple simple, mes excuses pour la syntaxe stupide que cela a été mon premier script Ruby:

require 'rubygems'
require 'rdf'
require 'rdf/raptor'

scufl2 = RDF::Vocabulary.new("http://ns.taverna.org.uk/2010/scufl2/ontology/")
dc = RDF::Vocabulary.new("http://purl.org/dc/elements/1.1/")

graph = RDF::Graph.load("../resources/workflows/example.ttl")
graph.query([nil, scufl2.workflow, nil]) do |bundle,p,workflow|
  graph.query([workflow, scufl2.name, nil]) do |wf,p,workflow_name|
    # Should just be one
    print workflow_name
  end
end

Malheureusement, comme beaucoup de dépendances Ruby et Python, cela a aussi besoin des binaires pour pouvoir lire la tortue ou RDF / XML. "Aptitude install raptor-utils" a pris soin de cela, cependant.

Je suis l'auteur de Redland mais je ne pas utiliser moi-même Ruby. Les fixations de rubis sans doute encore travailler (ils ont passé les tests unitaires à la dernière version) mais probablement besoin d'amour pour tout changement de langage Ruby nouvelles.

Les utilisateurs purs Ruby Je pense avoir essayé active RDF qui est plus récente que les autres choses que vous suggérez, mais axée sur Rails.

Sinon, je vous conseille de demander sur le canal Interest Group Web sémantique IRC - #swig sur irc.freenode.net

Modifier Il y a aussi Reddy http://github.com / tommorris / reddy / arbre / maître et autre code rdf rubis sur github si vous regardez autour.

AllegroGraph (RDF DB) a un client Ruby - https://github.com/phifty/agraph

Il y a une bibliothèque Ruby Sésame: http://github.com/tillsc/ruby-sesame

Le sésame est l'un des deux plus populaires cadres RDF pour Java. Nous (Ontotext) développer un stockage triple + moteur d'inférence intégré appelé OWLIM. Nous offrons une version gratuite appelée SwiftOWLIM.

Certains de nos utilisateurs utilisent avec Ruby dans la bibliothèque Ruby Sesame ci-dessus.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top