Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: for the plan.

Jump to: navigation, search


< VIATRA‎ | Query
Old information
The content from this page was migrated to the new, Github-based wiki system of VIATRA:

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.

Copyright © Eclipse Foundation, Inc. All Rights Reserved.