-
Notifications
You must be signed in to change notification settings - Fork 2
Architecture
Gábor Szárnyas edited this page Oct 18, 2015
·
3 revisions
- The user specifies the queries in IncQuery Pattern Language (IQPL).
- The client connects to Hawk using an Apache Artemis message queue, Thrift data structures and Thrift remote procedure calls.
- 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.
- To use Hawk with EMF-IncQuery, the user has to provide a
HawkScope
object instead of the usualEMFScope
object. TheHawkScope
object uses the aHawkResource
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.). - 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.