An improved command handler (and
database system utilizing the improved command handler) interfaces to a datastore storing item data for a plurality of items and bi-directional modifier data, corresponding to a relation between at least one first item and at least one second item, that represents first text characterizing
semantics of a relationship of the at least one first item to the at least one second item, and represents second text characterizing
semantics of a relationship of the at least one second item to the at least one first item. The command handler operates, in response to receiving a first-type query command that specifies at least one given item, to access the datastore to identify i) at least one related item that is related to the given item, and identify ii) either the first text or the second text characterizing
semantics of the relation between the given item and the at least one related item. The command hander returns i) data corresponding to the at least one related item; and ii) data corresponding to the identified first text and or second text characterizing semantics of the relation between the given item and the at least one related item. Preferably, the data returned in response to the first-type query command identifies the at least one related item. and identifies the first text or second text characterizing semantics of the relation between the given item and the at least one related item. In addition, the command handler preferably supports additional commands that retrieve from the datastore information related to specified objects, object types, and relations.The command handler (and
database system) of the present invention may be used in a wide assortment of
software applications, including enterprise applications (such as e-business applications, supply chain management applications,
customer relationship management applications, decision support applications), the
file system in operating systems, web browsers, e-mail applications and
personal information management applications. Importantly, the command handler (and
database system) provides an efficient mechanism to query the organization of the data elements (and the relationships therebetween) stored and accessed in such
software applications, in a manner that efficient and readily adaptable to
client-
server database systems or other
distributed database systems.