|
If I used Jena, can I use a non-Java Web framework like Django or Rails to implement a WebApp? How can this be done? |
|
Sure. First you can run Jena via tools like Joseki as a standalone SPARQL server and then write your web app to call out to the SPARQL endpoints. Second, you can run non-java web applications directly in java. For example, you can run Rails using jRuby then use jRuby's ability to call out to java to give it access to Jena. I kinda don't like the idea of using Jython or jRuby... Is PySesame a SPARQLWrapper for Sesame? What SPARQL wrappers do you recommend for python or ruby to be used with Jena's Joseki? I've used Jena (running behind Joseki) as an RDF store for PHP-power web apps, and indeed for a Perl-based IRC bot. (Though more recently I've switched away from Jena for Perl work.) Joseki conforms to the specs so any python/ruby client library that works with standard SPARQL endpoints should be OK. Jena's ARQ does include some client libraries - this is an area Andy has been looking at recently but I'm not sure of the current status of that. |
|
You could develop a RESTful or SOAP API based on Jena and call that from any web framework you like. (That's what I'm currently working on using Glassfish). |
|
If you're looking to use Jena as a library within your web app to munge data between the triple store and the front end, you're going to be stuck on the JVM. So you can use non-Java languages like Groovy (and its Grails or Ratpack frameworks), Scala (and its Play framework), and Clojure (and its Compojure framework). As mentioned above, jRuby and jython do give you access to Rails and Django, but you'd have to accept the disconnect between features in those languages and newer features in their target languages. |

