EGraph

The tool-chain uses an XML data format which is, at present, an extension of the GraphML file format. GraphML provides a suitable way for representing graph-based information and it fits perfectly with our requirements. This format may evolve to a more general data representation format for the WP2Meta Data.

The EGraph Data format

The three main elements which are present in the EGraph format are:

  • Node s: They are used to model packages which are present in a given package base.
  • Edge s: They are used to model simple relationships between two packages.
  • Hyperedges s: They are used to model "alternative" relationships between a set of packages.

Node elements contain an attribute id which specifies the name of the package.

Node elements contain the following metadata which give information about the package properties:

  • Version :The available package version(s)
  • Provides :The virtual packages (package names which do not correspond to actual packages but are simply references to common functionalities)
In the following example a package called 9wm is present with two different versions (1.2-5 and 1.2-6) and both of them provides the virtual package called x-window-manager:


Edge elements contain the following attributes:

  • source, target : The two packages wich are involved in the dependency relationship
  • type : The relationship type. At present it can be:
    • Install : The relationship describes a link to a package which is needed in order to install the given package.
    • Run : The relationship describes a link to a package which is needed in order to run the application provided by the given package.
    • Conflict : The relationship describes a link to a package which should not be already present in the system when trying to install the given package.
    • Replace : The relationship describe a link to a package which should be removed in order to install the given package.
An edge element contains a version metadata which gives more information abo the specific package versions involved in a relationship. It has the following attributes:

  • source, target : The source and target version of the packages involved in the relationship
  • operator : A version operator which can be LT, LE, EQ, GE, GT, ALL (<, <= , ==, >=, > or don't care respectively).
In the following example a run dependency relationship is established between packages 3dchess and xlibs. The relationship states that in order to run the application contained in package 3dchess version 4.1.0 we need to install package xlibs with a version greather than 0.8.1-9.


Hyperedge elements have only a type attribute and then contain a set of endpoing elements which defines all the packages involved in the alternative relationship

An endpoint has two attributes:

  • type
    • out : The endpoint represents the source package for the alternative relationship. There can be only one out endpoint in an hyperedge specification.
    • in : The endpoint represents one of the alternative targets for the relationhsip.
  • node : The package name involved in the relationship.
Each in-endpoint have the same version metadata attribute as the one found in the edge element. In this the source version is referred to the package specified by the out endpoint, while the target version is referred to the current endpoint. The out-endpoint has no version metadata.
Version 1.5 last modified by MarcLijour on 05/04/2006 at 11:14

Comments 0

No comments for this document

Attachments 0

No attachments for this document

Creator: on 2006/04/05 11:11
Copyright EDOS Consortium
1.1.1