Skip to content
Gábor Szárnyas edited this page Oct 18, 2015 · 3 revisions

Hawk-IncQuery integration

  1. The user specifies the queries in IncQuery Pattern Language (IQPL).
  2. The client connects to Hawk using an Apache Artemis message queue, Thrift data structures and Thrift remote procedure calls.
  3. The Hawk EMF driver is converting the nodes in the property graph to EObjects. The driver uses queries written in Epsilon Object Language (EOL) and Neo4j's Java API.
  4. To use Hawk with EMF-IncQuery, the user has to provide a HawkScope object instead of the usual EMFScope object. The HawkScope object uses the a HawkResource implementation, which is capable of retrieving the model on the server. The resource can use various lazy loading strategies (GREEDY, LAZY_REFERENCES, LAZY_ATTRIBUTES, LAZY_CHILDREN, etc.).
  5. The HawkQueryRuntimeContext provides the operations required by EMF-IncQuery (e.g. enumerateTuples, enumerateValue) in an efficient manner by using Hawk as an index. The incremental maintanence is achieved through Artemis notifications.

Hawk-IncQuery integration

Clone this wiki locally