Patent ID: 8489649

Claim:
A computer-executed method comprising: a database management system receiving, from a user, definition information for a definition of a new database data type; wherein the definition information includes a first mapping between one or more attributes of the new database data type and one or more attributes of a particular base data structure of the database management system; wherein the definition information includes a second mapping between one or more attributes of the particular base data structure of the database management system and one or more attributes of the new database data type; storing, in an instance of the particular base data structure of the database management system, a particular subject-predicate-object expression that comprises a particular data associated with the new database data type; wherein each subject-predicate-object expression corresponds to a subject, a predicate, and an object; wherein a predicate describes a first relationship between a corresponding subject and object; wherein the step of storing further comprises: identifying the particular subject-predicate-object expression as including the particular data associated with the new database data type; in response to identifying the particular subject-predicate-object expression, extracting, based on the first mapping, a value of a particular attribute from the particular data of the particular subject-predicate-object expression; and based on the first mapping, storing the value of the particular attribute in the instance of the particular base data structure; receiving a request for at least a portion of the particular data of the particular subject-predicate-object expression; in response to receiving the request, identifying the instance of the particular base data structure; based on the second mapping, reconstructing the at least a portion of the particular data of the particular subject-predicate-object expression from the instance of the particular base data structure; and returning the reconstructed at least a portion of the particular data in response to the request; wherein the method is performed by one or more computing devices.