It’s a library for people who happen to be writing C++ applications using Qt and who are interested in managing data that fit well into a subject-predicate-object graph model (as in the Linked Data paradigm, for example).
It uses Qt classes and coding style throughout, and includes an object mapper for store and recall of Qt’s property-based introspectable objects.
The library started out with an interest in exploring RDF as a representational model for data in a traditional document-based editing application that used Qt. In purpose therefore it has more in common with aspects of Core Data or Hibernate than with semantic data frameworks such as Soprano. That is:
- Simple datastore API
- Natural object model
- Works well with data from local files in the human-compatible RDF/Turtle format
- Can build in to an application (BSD licence, few external dependencies)
- Quasi-semantic queries (SPARQL)
- Organisation of common linked-data namespaces
- Broad file format support
- Backend support for relational databases
It’s a good example of a library developed for an immediate application by one programmer and generalised.
Version 0.9 of Dataquay is out now, and it’s creeping slowly up to a stable 1.0.
There have been some API changes between 0.8 and 0.9, which I’ll post about separately.