A method for creating data in a data store using an ontology coupled to the data store, comprising performing a machine-executed operation involving instructions, wherein said instructions are instructions which, when executed by one or more processors, cause the one or more processors to perform certain steps including: storing an ontology for the data store, wherein the ontology comprises a plurality of data object types and a plurality of object property types; storing a parser configured to receive first input data and transform the input data into modified data according to one or more parser definitions, each parser definition comprising metadata defining how the parser determines whether values in the first input data can be assigned to one of the object property type that is associated with the parser definition; storing each of the one or more parser definitions in association with one of the plurality of object property types; the method further comprising, using the stored ontology: a) receiving first input data; b) determining that a first portion of the first input data matches a first parser definition of the one or more parser definitions, the first parser definition being associated to a first object property type of the plurality of object property types; c) creating a first property instance of the first object property type; d) using the matching first parser definition, creating first modified input data; e) storing the first modified input data in the first property instance of the first object property type; repeating steps b) to d) using a second portion of the first input data that matches a second parser definition to store second modified input data in a second property instance of a second object property. storing an ontology for the data store, wherein the ontology comprises a plurality of data object types and a plurality of object property types; storing a parser configured to receive first input data and transform the input data into modified data according to one or more parser definitions, each parser definition comprising metadata defining how the parser determines whether values in the first input data can be assigned to one of the object property type that is associated with the parser definition; storing each of the one or more parser definitions in association with one of the plurality of object property types; the method further comprising, using the stored ontology: a) receiving first input data; b) determining that a first portion of the first input data matches a first parser definition of the one or more parser definitions, the first parser definition being associated to a first object property type of the plurality of object property types; c) creating a first property instance of the first object property type; d) using the matching first parser definition, creating first modified input data; e) storing the first modified input data in the first property instance of the first object property type; repeating steps b) to d) using a second portion of the first input data that matches a second parser definition to store second modified input data in a second property instance of a second object property. a) receiving first input data; b) determining that a first portion of the first input data matches a first parser definition of the one or more parser definitions, the first parser definition being associated to a first object property type of the plurality of object property types; c) creating a first property instance of the first object property type; d) using the matching first parser definition, creating first modified input data; e) storing the first modified input data in the first property instance of the first object property type; repeating steps b) to d) using a second portion of the first input data that matches a second parser definition to store second modified input data in a second property instance of a second object property.