In this weblog yesterday I suggested something perfectly obvious: what if we built an MVC framework, like Rails-Django, using an Agile Language and the RDF data model and SPARQL query language instead of the relational algebra and SQL?
There are some issues, of course; here are some of them off the top of my head:
- RDF is or can be schemaless, which is part of its charm. It’s more agile than SQL, and that matters for some apps. But Rails-Django uses the database scheme in many core ways, including building forms and UIs, typing, etc.
- RDF Schema and OWL are more expressive than DDL. That’s both a good and a bad thing. It means, for example, you can really express in a machine-understandable way the concept of “uncle” (a man with at least one sibling who has at least one child). But the fit between RDF, RDFS, and OWL and programming languages is harder (or, at least, less widely understood), which is a problem.
- What does an object mapper look like in the RDF/S and OWL world? I honestly don’t have much of an answer here, and maybe it won’t matter for most apps? (There are several people trying to do Java to OWL mappings, including my Maryland colleague Aditya Kalyanpur. The smart folks at IBM have used some of Aditya’s ideas in Jastor.
- The point of using RDFS and OWL is to support reasoning services like inference. What role would these play in an MVC web framework? Could we use these richer logics to do more clever dispatching, templating, or code-generation? I don’t know yet…
Of course, this being the Age of the Lazy Web, I may not have to find out directly. People are already working on and thinking about this stuff, including students at MindSWAP, where I work.
But, as I also learned from commenters yesterday, others are hot on this trail, including Obie Fernandez, who’s been blogging about semanticizing Ruby and Rails: Deep Integration of Ruby with Semantic Web Technologies, and
Update, and Semantic Web Meet Ruby on Rails. Heh, so maybe you should just go read Obie’s weblog instead! :>
Another reader wanted to point out the joys of Catalyst, which is apparently a Perl MVC framework (is it “kitchen sink”?) that I once read about briefly, but then forgot about. So that’s good. Perlers in the hizzous. But, then, they always are.
Okay, more later as I figure it out.