Patent ID: 8312052

Claim:
A process for transforming and consulting with a computational system directed labeled multigraphs with attributes using data structures in bitmap and mapping form, wherein said data structures comprise: (a.) vertices and edges of a multigraph referred to as objects of the multigraph, and associated with a specific object type, and containing associated values referred to as attributes; (b.) objects of the multigraph identified with a unique numerical identifier; (c.) for each object type, unique numerical identifiers of the objects of the multigraph, according to paragraph b, is stored using a bitmap; (d.) for each attribute associated with an object of the multigraph of a specific type a mapping is used in which, for each value in said attribute a bitmap is assigned containing the number of objects of that type containing said value in said attribute; (e.) for each attribute associated with an object of the multigraph of a specific type a mapping is used in which, for each identifier of each of these objects, the value is assigned in said attribute; (f.) for each vertex with one or more outgoing edges the unique numerical identifier of these edges, according to (b.), stored using a bitmap; (g.) for each vertex with one or more incoming edges the unique numerical identifier of these edges, according to (b.), stored by means of the use of a bitmap; (h.) a mapping relating the unique identifier of the vertices with one or more outgoing edges and the associated bitmaps, according to (d.); (i.) a mapping relating the unique identifier of the edges with the unique identifier of their source vertex; (j.) a mapping relating the unique identifier of the vertices with one or more incoming edges and the associated bitmaps, according to (g.); and (k.) a mapping relating the unique identifier of the edges with the unique identifier of their sink vertex; said process for transforming comprising transforming a multigraph, wherein inserting a new vertex of a given type involves modifying the bitmap corresponding to that object type as described in (c.), setting a bit to one, marking the bit in the position corresponding to the identifier of that object and increasing an object counter therein.