A computer implemented and computer controlled method of arranging data for processing and storage thereof at a data storage engine (26, 27, 28, 29), wherein a computer (21, 22, 23) performing the steps of: - receiving data in a computer readable format, said data comprising a plurality of ordered data elements; - identifying (11; 22) data elements in said received data and allocating to each of said identified data elements a unique data element identifier ( DataElementID) representing a respective data element, characterized in that said computer (21, 22, 23) performing the further steps of: - assigning (15; 22), to said received data, an action from a plurality of actions represented by a respective unique action identifier ( ActionID) and a unique action topology identifier ( ActionTopologyID) specifying an association between data elements of an action according to a respective topology comprised of an ordered plurality of data categories including a subject data category, an object data category, a spatial data category and a temporal data category, said topology being represented by a unique topology identifier ( TopologyID) and each data category being represented by a respective data category identifier ( DataCategoryID); - matching (16; 22) said identified data elements with said assigned action topology combination in accordance with said action topology and said order of said data elements, such that one data element is matched with one data category of said topology; - supplementing (18; 22) instance information to matched action topology combinations and allocating an action topology instance identifier (ActionTopologyInstanceID) to said supplemented action topology combination, and - storing, in a computer readable format, at said data storage engine (26, 27, 28, 29) said identified data elements, said instance information and associations between identifiers resulting from said steps of identifying, assigning, matching and supplementing. - receiving data in a computer readable format, said data comprising a plurality of ordered data elements; - identifying (11; 22) data elements in said received data and allocating to each of said identified data elements a unique data element identifier ( DataElementID) representing a respective data element, - assigning (15; 22), to said received data, an action from a plurality of actions represented by a respective unique action identifier ( ActionID) and a unique action topology identifier ( ActionTopologyID) specifying an association between data elements of an action according to a respective topology comprised of an ordered plurality of data categories including a subject data category, an object data category, a spatial data category and a temporal data category, said topology being represented by a unique topology identifier ( TopologyID) and each data category being represented by a respective data category identifier ( DataCategoryID); - matching (16; 22) said identified data elements with said assigned action topology combination in accordance with said action topology and said order of said data elements, such that one data element is matched with one data category of said topology; - supplementing (18; 22) instance information to matched action topology combinations and allocating an action topology instance identifier (ActionTopologyInstanceID) to said supplemented action topology combination, and - storing, in a computer readable format, at said data storage engine (26, 27, 28, 29) said identified data elements, said instance information and associations between identifiers resulting from said steps of identifying, assigning, matching and supplementing.