A computer system for processing a set of data obtained from a data source, the set of data comprising a set of attribute or field names and respective attribute or field values, the computer system comprising:
- a configuration-data storage unit storing:
- object type definitions, each object type definition comprising an object type name, a set of defining characteristics, and a set of role names;
- role definitions, each role definition comprising a role name and a set of controlling characteristics;
- and
- a list of prioritized finding rules, each finding rule comprising a condition for application to values of the set of data and one of the object type names that is returned when the condition is fulfilled;
- an object storage unit storing objects that are instances of the object type definitions;
- a data storage unit storing mass data referring to objects;
- a set of inbound interfaces;
- and
- a processor that receives the set of data and one of the role names from one of the interfaces,
- determines a set of object types, wherein each object type of the set contains the one of the role names in its object type definition,
- determines a set of candidate object types as a sub-set of the set object types, wherein the defining characteristics of each object type contained in the set of candidate object types are contained as a sub-set in the attribute or filed names of the set of data,
- applies the finding rules in order of priority in order to find one of the candidate object types, and
- queries the object storage unit to determine if the found object type has already been instantiated for values of the defining characteristics given in the set of data, and if so, return the corresponding instance of the found object type, and if not, generate a unique identifier and an instance of the found object type, and store the instance of the object type.