MongoDB has been gaining traction: 10gen, which began the MongoDB project and offers commercial MongoDB support services, said that for 2011 there was a 300 percent increase in Fortune 500 enterprise customers. The list included Disney, Viacom, HP and McKesson. The company also noted strong adoption in Europe including Telefonica and The National Archives. In all, 10gen reported that it ended 2011 with more than 400 commercial customers, with numerous large deployments scaling to 1,000 or more servers.

What makes MongoDB appealing to JavaScript programmers working with JSON objects at these and other organizations is its simplicity. If all that’s desired is to have an easy-to-use database where you can add or retrieve JSON objects – the main data type for Javascript developers – it remains an attractive option.

But Franz Inc. proposes an alternative for those who want more sophisticated functionality: Use the semantic power of its AllegroGraph Web 3.0 database to deal with complicated queries, via MongoGraph, a MongoDB API to AllegroGraph technology.

As Franz president and CEO Dr. Jans Aasman recounts a conversation with one of his programmers, the take among developers is that MongoDB is “the simplest database on earth, very simple and pleasant to use, except when you want to do joins — and then you want to scrape out your eyes with a spoon.”   

The opportunity to make inserting and querying JSON objects as easy as MongoDB does was there for Franz, since AllegroGraph already ‘does’ JavaScript. It includes an in-server JavaScript compiler. The MongoDB API turns JSON objects into triples and stores the entire JSON object, as well.

“We realized we have a JavaScript compiler which does JSON anyway, so all we need to do is to add the MongoDB API,” explains Aasman. The result is that “you can do all that you can do in the semantic web – joins, SPARQL queries, OWL, prolog and rules, reasoning. And you can work with the whole Linked Open Data cloud.”

With the MongoDB API and JavaScript, “you can write in-server functions – for example, a function to find all the unique predicates for a particular class of objects. Once you have done this you can then make this function available as a service, that you can invoke via the REST protocol,” Aasman says.

Franz’ approach is more powerful for programmers who have JSON objects and want to do complicated joins for tasks such as social network analysis or reasoning, Aasman says. Indeed, “if you already are working with semantic web technology, then why not store JSON objects also in the database. Otherwise, you have so many databases you have to work with. This would be much easier,” he says.

Those JavaScript programmers who haven’t yet entered the Semantic Web world but are ready to expand their horizons beyond what MongoDB itself can provide – and who are willing to do the work of learning things like SPARQL queries—might also be interested in checking out the MongoDB API to AllegroGraph.

Says Aasman, “it can be a great way to get you into the Semantic Web.”