As of now clients have two options working with Bagri: they can use standard XQJ API (the JSR-225 implementation) which plays the same role in communication with XML DBs as JDBC driver connecting to RDBMS. Or, clients can use proprietary Bagri API which covers some additional functionality not present in XQJ. For instance, it provides a possibility to work with documents as POJOs or Maps or use JAXB-annotated entities representing documents. It is possible to perform (x-)queries in plain text and receive back just an iterator over standard Java classes when the query is simple enough.
For the detailed API description please take a look at our client javadoc
Besides the two Java APIs our development team is working hard on REST API which we’re going to introduce shortly.