5\section about About Dataquay
7%Dataquay is a free open source library that provides a friendly C++
8API for the Redland and Sord RDF data stores using Qt4 classes and
11%Dataquay is intended to be simple to use and easy to integrate. It is
12principally intended for use in Qt-based applications that would like
13to use an RDF datastore as backing for in-memory project data, to
14avoid having to provide application data-specific file formats and to
15make it easy to augment the data with descriptive metadata pulled in
16from external sources. %Dataquay is also intended to be useful for
17applications whose primary purpose is not related to RDF but that have
18ad-hoc RDF needs for metadata management.
20\section contents What's in Dataquay?
22%Dataquay contains C++ abstractions for the RDF Node and Triple
23(or statement), and for the RDF Store. The standard BasicStore offers
24simple add, remove, matching, and querying functions and file I/O.
26Also provided is TransactionalStore, a transactional interface to the
27store that offers per-thread isolation, atomic commit, and a
28Connection class in the style of a traditional relational database
31%Dataquay also offers ObjectMapper, a facility which can take care of
32a complete object hierarchy, map it to the RDF store, and synchronise
33in both directions any changes to the hierarchy or the store.
34Arbitrary mappings between C++ class and property names and RDF URIs
35can be specified using TypeMapping. The mapping is flexible enough to
36allow you to load many publicly generated Linked Data sources directly
37into object class hierarchies, if you wish (although this is not
38usually an ideal way to handle unpredictable data sources). The
39classes that manage the object-to-store and store-to-object mapping
40can also be used separately, as ObjectStorer and ObjectLoader.
42\section start Start Here...
44If you want your application to have access to RDF metadata but you
45are not intending to make RDF data the core of the application, then
46you probably want to focus on BasicStore. This can load and save RDF
47and perform queries, matches, and updates in a simple form.
49If you need to carry out updates to RDF data, particularly in a
50multi-threaded application, then you should look at TransactionalStore
51and its related Connection class.
53If you would like to use an RDF store as a "hibernation" mechanism for
54store and recall of an object hierarchy in an open and portable
55manner, then you could consider using a BasicStore, wrapping that in a
56TransactionalStore, and using ObjectMapper to deal with the
57hibernation side of things.
59In any of these cases you'll also want to look closely at the Uri,
60Node, and Triple classes.
62\section status Development Status
64Certain aspects of %Dataquay are still somewhat provisional, and the
65API may continue to change until the 1.0 release. However, most of
66the API design is likely to remain as it is now and the library has
67been reasonably well tested. The main focus for 1.0 is to expand the
68test suite and produce some more example code. Those activities might
69show up other things that need doing too, though.
71\section licence Licence
73%Dataquay is published under a liberal BSD-style licence, similar to
74(and of course compatible with) the Apache licence used by Redland.
75You can use it without fee in open-source or proprietary applications.
76See the COPYING file for details.