3.4.1
·
57 commits
to master
since this release
Features:
- Access to Neo4j databases
You can access Neo4j databases in a uniform way, no matter if you access a remote database, an embedded database, or an in-memory database, the only difference is in the initialization part - Query-DSL: Fluent API to formulate JCypher expressions in order to query a Neo4J database;
- A Generic Graph Model which is easily navigable and modifyable.
- Mapping of complex business domains to domain graphs
- Domain Queries Part 1 - Predicate Expressions
Domain Queries provide the power and expressiveness of queries on a graph database, while being formulated on domain objects or on types of domain objects respectively. - Domain Queries Part 2 - Traversal Expressions.
- Domain Queries Part 3 - Collection Expressions (SELECT, REJECT, COLLECT, UNION, INTERSECTION).
- Improved support for multiple domains in a single database.
- Domain Query Concatenation.
- Basic authentication and authorization.
- Transaction API.
- Generic Domain Model.
- Concurrency support for multi client access to the graph database - optimistic locking.
- Concurrency support - thread-safe invocation of 'IDomainAccess' an domain queries.
- JSON Facade in preparation to access JCypher features from other, possibly remote, systems.
- Store domain queries with the domain.
- Use parameters with Query DSL Expressions.
Note: JCypher releases are deployed on Maven Central. You can download binaries and other artifacts from there.
Note: You need the javax.json-api, as well as an implementation e.g. from project glassfish on your classpath. One possible download source: http://www.java2s.com/Code/Jar/j/Downloadjavaxjson10jar.htm.
To access remote databases, you furthermore need a REST client API implementation, e.g. 'Jersey' from project glassfish, on your classpath.
To access embedded and in-memory databases, you need the appropriate Neo4j '.jar' files on your classpath.
(You can find all required dependencies listed in the pom.xml of the jcypher project.