When querying through EOL, we can access several extra properties on any model element:

  • eContainer: returns the model element that contains this one, or null if it does not have a container.
  • eContents: collection with all the model elements contained within this one.
  • hawkFile: string with the repository paths of the files that this model element belongs to, separated by “;”.
  • hawkFiles: collection with the repository paths of all the files that this model element belongs to.
  • hawkIn: collection with all the model elements accessible through incoming references.
  • hawkInEdges: collection with all the incoming references (see their attributes below).
  • hawkOut: collection with all the model elements accessible through outgoing references.
  • hawkOutEdges: collection with all the outgoing references (see their attributes below).
  • hawkRepo: string with the URLs of the repositories that this model element belongs to, separated by “;”.
  • hawkRepos: collection with all the repositories that this model element belongs to.
  • hawkURIFragment: URI fragment of the model element within its file.

There is also the isContainedWithin(repo, path) method for checking if an element is directly or indirectly contained within a certain file.

References are wrapped into entities of their own, with the following attributes:

  • edge: raw edge, without wrapping.
  • type / name: name of the reference.
  • source / startNode: source of the reference.
  • target / endNode: target of the reference.