Be the first to like this
The "Babelfish" system is built with Scala and runs in the Java Virtual Machine. For graph persistence, a neo4j database with Lucene index is used. A generic importer module reads data from various data sources and persists them in a version-aware way, using the domain model as a schema. The schema is used by our domain specific language to statically verify queries. Query results can either be in the form of graphs or tables. For the latter, an additional step uses an in-memory SQL-Database for further processing of the results. Queries in the generated DSL can be submitted via a REST interface. The server uses json4s for serialization of the results. This interface as well as the deployable war-file is generated by the web framework Scalatra.