< VIATRA | Query(Redirected from VIATRA/Query/DeveloperDocumentation/IncQueryEngineArchitecture)
VIATRA Query Engine Internals
Most important concepts
- ViatraQueryEngine: the central element of the API.
- QueryScope: the set of model elements the ViatraQueryEngine should work on.
- The project itself implements only EMFScope right now.
- IQueryRuntimeContext: wrapper class for the query backends to access the model. The access can be both indexed and non-indexed.
- IQueryBackend: an executor of graph pattern matches; it instantiates IQueryResultProviders. Query Backends needs to be registered to the ViatraQueryEngine itself.
- RetePatternMatcher is the fully incremental implementation of the IQueryResultProvider interface.
- LocalSearchResultProvider is a local search based implementation of the IQueryResultProvider interface.
- The ViatraQueryMatcher interface is the public matcher API: generated instances are type-safe.