This application is based upon and claims the benefit of priority from prior patent application EP 04075326.1, filed Feb. 3, 2004, the entire contents of which are expressly incorporated herein by reference.
I. Technical Field
The present invention relates to a database management system and a method of managing a database.
II. Background Information
Applications, such as business applications, allow the user to work in different contexts. Such applications adapt the information that is displayed and the actions or objects which the user may select according to a respective context. However, the context is not explicitly modeled. Instead, it is implicitly given by the various screens of an application's user interface. Limited context information is stored when the user switches to another screen. While some applications use lists of recently or frequently used objects, the relationship of these objects with respect to the user's activities is unknown to the application.
Therefore, conventional applications typically provide context information that is poor and unavailable for generic algorithms. Instead, the context sensitivity must be hard coded for each screen. The present invention addresses problems encountered with conventional applications and improves the context representation in the application.
Consistent with the present invention, a database management system is provided for managing a database. The system comprises a database storing a plurality of entities related to each other by a plurality of relations; a user interface for interfacing with the database in a situation; and a context modeler for modeling a context representation, wherein the context modeler models the context representation according to the situation using a semantic net that includes a subset of entities identified by the context modeler as being relevant to the situation, and wherein the database is adapted to operate according to the situation when the context representation is applied to the database.
Also consistent with the present invention, a method is provided of managing a database storing a plurality of entities related to each other by a plurality of relations. The method comprises providing a user interface for interfacing with a database in a situation; modeling a context representation in accordance with the situation, wherein a subset of the plurality of entities that are relevant to the situation are identified; forming a semantic net that includes the subset of plurality of entities and relationships between the entities included in the subset of entities; modeling the context representation using the semantic net; and applying the context representation to the database so that the database is adapted to operate according to the situation.
The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate various embodiments and aspects of the present invention. In the drawings:
The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the following description to refer to the same or similar parts. While several exemplary embodiments and features of the invention are described herein, modifications, adaptations and other implementations are possible, without departing from the spirit and scope of the invention. For example, substitutions, additions or modifications may be made to the components illustrated in the drawings, and the exemplary methods described herein may be modified by substituting, reordering or adding steps to the disclosed methods. Accordingly, the following detailed description does not limit the invention. Instead, the proper scope of the invention is defined by the appended claims.
System 10 also includes a context modeler 16 and a semantic net server 18. Action or process 12 is input to context modeler 16. Data may be exchanged via connections 12 and 14 between user interface 11 and context modeler 16. Similarly, data may be exchanged via connections 17 and 19 between context modeler 16 and semantic net server 18.
Context modeler 16 determines which entities 61 form the context representation. The context representation typically includes at least one component. Context modeler 16, in association with semantic net server 18, further stores references to entities 61, which may be recently used entities 61, by means of a semantic net representation. The context of an entity or a situation as defined by the process or action is a collection of facts and entities 61 that are of special importance for the entity or situation and that usually have a direct or indirect relationship to the entity or situation. Within a business application, such as a database, a context may be defined for a variety of entities 61 or a situation including, but not limited to a user, a session, or a business entity. For a user, the context may include entities 61 including his role, projects, and personal preferences. For a session, the context may include entities 61 including a user, last actions, and manipulated business entities 61. For a business object, the context may include entities 61, which include past projects or orders for a customer. As described hereinafter, a business object is an entity stored in a database. A business application 20 may typically include a database 22 in which business entities 61 are stored.
A combination of different contexts, for example a user context and a session context, may be combined to form a current context within a session. The elements (“elements” are referred to as being entities 61 belonging to a group of entities 61) of such a composed context may have different temporal validities. The temporal validity may be defined by system 10 and/or by a user. For example, there are long-term elements such as the industry branch of the user's company, the user's role in that company, his current projects, or his activities in the last few days. Similarly, there are short term elements such as, but not limited to, the current transaction, and entities 61 displayed or manipulated in the current session.
Technically, a context may be represented by a number of instances of business entities 61, processes/actions, or situations. A situation may be defined by at least one of a process or an action. As mentioned above, context modeler 16 identifies context elements or entities 61, and entities 61 related to these for the context representation by means of a semantic net representation.
Representations of business entities 61 that are related to each other are stored in database 20. This relation can be explicitly modeled in the database and is called first level relatedness. The relatedness may be implicitly contained by database 20 if there is an intermediate business object to which two other business entities 61 are related. Such a situation refers to second level relatedness. Other chains of relationships between business entities 61 may be found. Depending on the length of such a chain there is a third level relatedness, a forth level relatedness, and so on.
A problem encountered in evaluation of relatedness of second and higher levels is the large amount of data that must be evaluated. If an average entity is (directly) related to 20 other entities 61, there are 400 entities 61 with a second level relatedness, 8,000 third-level-related entities 61, and 160,000 fourth-level-related entities 61. If higher-level relatedness is to be displayed to the user, an intelligent selection of relevant entities 61 is performed. The relevance of entities 61 is context dependent. Context modeler 16 ascertains the relevance of the entities 61 to determine the limited object set to be evaluated.
In a further embodiment consistent with the present invention, the relatedness between two entities 61 may not be available in the database model, but in the mind of the user. In an embodiment, this kind of relatedness is included in a database if an appropriate mechanism is provided independently of the database's entity relationship model. For example, an independent mechanism may be explicitly declared by the user or deduced from his behavior. According to another embodiment, the semantic net containing the plurality of entities 61 corresponding to those entities 61 stored in the database 22 is enriched by an ontology representing general and domain-specific knowledge. Such an ontology allows the evaluation of relatedness between context entities 61 based on superordinate semantic information, for example that a company has employees and that a user is an employee. Thus, the application, in particular with respect to the database 22 may draw conclusions about the current context that would not be possible by evaluating the database contents or structure.
Context modeler 16 identifies the context representation from a semantic net stored in semantic net server 18. Context modeler 16 uses the data model offered by semantic net server 18. In particular, context modeler 16 identifies a subset of the data stored in semantic net server 18 to determine a context representation. Semantic net server 18 may be regarded as an access layer for context modeler 16 providing the data required to context modeler 16. A semantic net is a data structure made up of nodes and relations between those nodes. The nodes represent terms and they are embedded in abstraction hierarchy by means of the special relation type “is a.” A semantic net is the common way of representing ontologies in a computer system.
While it is known to provide a semantic net as an abstraction layer to search and navigate on top of an existing database, it is not known to model context using a semantic net. In contrast, according to an embodiment consistent with the present invention, context is modeled in a business application by storing context-relevant entities 61 and entities 61 related to these by means of a semantic net. Representations of processes and actions may also be integrated in this data structure as well as a general knowledge ontology.
An ontology is an explicit specification of a conceptualization. A conceptualization is an abstract, simplified view of the world it is desired to represent for some purpose. An ontology contains the vocabulary (terms or labels) and the definition of the concepts and their relationships for a given domain. An ontology is a representation that exists independent of any computer models or implementations.
Process or action 12 may include a request to have certain data represented or displayed from database 22, which forms part of an application. The type of application may be a business application or any other appropriate application. In
Business application 20 further includes a recorded user behavior storage medium 28 for storing user behavior, a high level ontology storage medium 30 for storing a high level ontology, and other repositories 32 for storing data. Database 22, recorded user behavior storage medium 28, high level ontology storage medium 39, and other repositories 32 may exchange data with user interface 10 via communication links 27, 29, 31 and 33, respectively.
Having initiated a process or action, the user receives an output in the form of a delivery of data 14 from database 22 representing the results of the process or action. The delivery of data 14 is influenced in accordance with the context representation modeled by context modeler 16. In particular, the user's behavior is observed by system 10, in particular in terms of the actions 66 and processes 65 being carried out, and is used by context modeler 16 to model the context representation.
In the example, only one database is shown. Context modeler 16 may be arranged to model a context representation to influence the delivery of data from at least one database. For example, a plurality of databases may influenced by the context representation modeled by context modeler 16.
Furthermore, with reference to
In one embodiment, the business application is concerned with staffing a project. A user creates the representation of a new project in a business application.
The project has the following attributes or relations
The business application includes a template for that type of project containing the following tasks for the first phase:
The semantic net representation appears as follows:
The facts and entities 61 listed above are examples of entities 61. Entities 61 define the components of the context representation. The semantic net representation may be built up from various sources, such as databases, predefined patterns or the like. It is known to provide a semantic net on top of the contents of a database of an application for primarily search and navigation purposes.
According to an embodiment, context relevant entities 61 and entities related to these 61 are stored by means of a semantic net. By providing semantic-net-based context representations in an application, the advantage over conventional applications is achieved that the behavior of a user can be taken into account. In contrast to conventional semantic nets provided on top of a database, according to a further embodiment consistent with the present invention, there is a limited number of entities 61 marked as relevant in the current context and that these entities 61 include a seamlessly integrated representation of the current situation, as defined for example, by the screen, user and/or actions, in addition to the database entities 61. It has been found that making a copy of the database takes too long if the context is to be accurately represented in a time dependent manner. Further, it has been found that it is sufficient to provide only the relevant propositions relevant to the user, rather than the whole database, in order to provide current context representation.
Context modeler 16 models the context to provide a context representation relevant to the user. This is achieved by limiting the number of entities 61 offered to the user. In this way a seamless integration of the operation is achieved. The situation defining the context may be defined in a variety of ways. For example, it may be defined by at least one of the following: by observing a user behavior by assessing the activities of other users, by observing process patterns that reoccur, and by observing business processes. If a context representation is to be determined taking into account a business process, this may be done provided the business process is not hard coded. By modeling a context representation as described above, the context representation is guided to reflect a current context. By soft coding the context representation it may be supported by the business application yet is readily changed.
Entities 61 may be added to the context representation when they are put into an input field or when they are viewed or touched in any other way. The context representation as modeled by context modeler 16 exists independently from a particular screen or other user interface elements. However, the used screen may contribute entities 61 to the context. Entities 61 may be removed from the context when they have not been used or touched for a predetermined time. The predetermined time may vary and may be set by a user. Alternatively, the system may determine the time interval.
An algorithm to identify context relevant items on the basis of the data structure outlined above, determines the set of all entities 61 related to any of the entities 61 in the context and then, in successive steps, identifies entities 61 related to any of the entities 61 in that set, which therefore are indirectly related to entities 61 in the context. Since the number of entities 61 in the set increases exponentially with each iteration, a numeric value for importance to relation types and entity types is assigned in order to be able to reduce the number of related items which are put into the set. For this purpose only entities 61 with a high importance or which referred to by a relation of high importance are added to the set of indirectly related entities 61. In this way, the entities 61 which may define the context are limited.
As mentioned above, according to an embodiment consistent with the present invention, probable values for given input fields are determined and proposed by the system 100. This is referred to as slot filling. For the purpose of slot filling, the system reduces the set of indirectly related entities 61 to those elements fitting in the given slot/input field by entity type and/or other required attributes and relatedness to the current context. For this the current context as modeled by context modeler 16 is taken into account.
The algorithm to identify relevant entities 61 in a large object set, that is, an algorithm whose function is a context sensitive filter, determines the intersection between the given large object set and the set of indirectly or directly related entities 61.
In another embodiment, database management system manages a database 22. Database 22 stores a plurality of entities 61 related to each other by a plurality of relations 62. The database management system comprises a user interface 11 for interfacing with the database 22 in a situation 64; and a context modeler 16 for modeling a context representation, wherein the context modeler 16 is arranged to model the context representation using a semantic net 67, 68 which includes a subset of the entities which are identified by the context modeler 16 as being relevant to the situation 64, so that when the context representation is applied to the database 22 the behavior of the database 22 is adapted in accordance with the situation 64.
In an embodiment, the situation is defined by a procedure 64 which includes at least one of a process 65 and an action 66 of a user, wherein at least one of the action 66 and the process 65 relate to at least one of the plurality of entities 61. Further, the context representation may include at least one of the plurality of entities 61 related to the at least one process 65 and action 66.
In a further embodiment, the database management system comprises an semantic net server 18 for storing the plurality of entities 61 and the relations 62 between the entities 61 as the semantic net 67. In particular, the subset of the plurality of entities correspond to those entities related to the situation 64. In a preferred embodiment, the semantic net 67, 68 includes the relations 69 of the subset to each other and to the plurality of entities 61 outside the subset. In this way the most relevant entities to the situation are identified by the context modeler 16, so that the quality of data delivered to the user is enriched still further. In a further embodiment, entities 61 may be added to the context representation in accordance with the interaction of the user with the database 22. In this way, the context representation accurately reflects the situation in which the user is active. Similarly, entities 61 may be removed from the context representation in accordance with the interaction of the user with the database 22.
In a further embodiment, the context representation includes components which remains unchanged over a relatively long period of time. Such a component may be the user's company department, his role and current projects.
Similarly, the context representation may include components which remains unchanged over a relatively short period of time. For example, the last user interface screen that have been used. In this way, certain patterns of behavior, such as personal preferences and best practices, are identified by the context modeler. These patterns may then be stored together with other patterns to further enhance the context sensitive user support.
In a further embodiment consistent with the present invention, the invention has application in a generic spreadsheet interface, such as that described in our co-pending application. In particular, in a spreadsheet a view may be defined on a database in terms of a semantic net. The view is completely defined if each of the dependent cells of the spreadsheet has a title and the relation type linking the dependent cell to its respective master cell and the entity type of the entries in the cells. For example, a master cell may be entitled “work package” and a dependent cell may be entitled “is handled by Person”.
Whereas humans are able to understand the meaning of such a view even if the description is incomplete, for example, if the titles are shortened to “work package” and “person” or “work package” and “handled by”, respectively, a conventional database management system would not necessarily understand the meaning of the shortened forms. By applying embodiments consistent with the present invention to a spreadsheet application, this disadvantage is overcome. In particular, using the context modeler based on a semantic net of the present invention, the following advantageous embodiments are provided. In one embodiment, an ambiguous title can be interpreted by means of the context. For example, the context could be analyzed in respect to which relations exist between work packages and persons. The context modeler 16 is then arranged to find the most appropriate relation is “handled by” and auto-complete the view definition correspondingly.
In a further embodiment, if the view is completely defined, there can occur ambiguities concerning the contents due to name identities when data is to be imported from the spread sheet into the database. For example, if the work package is handled by Joe Miller and it transpires that there are three persons in the company called Joe Miller, the context modeler 16 is arranged, in a further embodiment, to select the appropriate person due to his relatedness with respect to the current context. In yet a further embodiment, when data from the database is exported to the spreadsheet application, the context is used to limit the set of the exported entities to those relevant to the current context.
In another embodiment, a method is provided for managing a data stored in a database, wherein the database stores a plurality of entities 61 related to each other by a plurality of relations 62. The method comprises the steps of providing a user interface 11 for interfacing with the database 22 in a situation 64; modeling a context representation, wherein the modeling step includes the step of identifying a subset of the plurality of entities which are relevant to the situation; forming a semantic net 68 including the subset of entities 65, 66 and the relations 69 between the entities included in the subset of entities; and using the semantic net 67, 68 to model the context representation, applying the context representation to the database 22, so that the behavior of the database 22 is adapted in accordance with the situation 64.
A further embodiment includes the step of defining the situation by a procedure 64 which includes at least one of a process 65 and an action 66 of a user, wherein at least one of the action 66 and the process 65 relate to at least one of the plurality of entities 61. In a further embodiment, the step of including in the context representation at least one of the plurality of entities 61 related to the at least one process 65 and action 66 is included. A yet further embodiment includes the further step of storing the plurality of entities 61 and the relations 62 between the entities 61 in an semantic net server 18 as the semantic net 67, 68. In a further embodiment, the subset of the plurality of entities correspond to those entities related to the situation 64.
A further embodiment includes the further step of including in the semantic net 67, 68 the relations of the subset to each other and to the plurality of entities falling outside the subset. Yet a further embodiment includes the further step of adding entities 61 to the context representation in accordance with the interaction of the user with the database 22. Similarly, the further step of removing entities from the context representation in accordance with the interaction of the user with the database 22 may also be included.
In a further embodiment, the present invention has application to a spreadsheet application. In particular, according to an embodiment consistent with the present invention the user interface 11 is a spreadsheet application in which the situation is defined by a view on the database in terms of a plurality of entries in a plurality of respective cells, wherein each cell has a respective title. A further embodiment includes the step of completing an incomplete situation by identifying an appropriate relation between the respective titles.
A further embodiment includes the step of selecting an appropriate entity for the situation in accordance with the entity's relatedness to a current context. A further step of limiting a set of entities to be exported from the database to the spreadsheet in accordance with a current context may be carried out. In this way, the context modeler improves the situation as defined by the view. In particular, relation types between cells is determined by context modeler 16 if it is not unambiguous, further context modeler 16 can be used to determine the set of entities to be exported to spreadsheet 11 from database 22.
Embodiments of the present invention have application to a user terminal comprising means operable to perform any of the methods described. Embodiments also have application to a program storage device readable by a processing apparatus, said device embodying a program of instructions executable by the processor to perform the steps of any one of the methods described.
The invention as described can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combination thereof. An apparatus according to the present invention can be implemented in a computer program product tangibly embodied in a machine readable storage device for execution by a programmable processor; and method steps of the invention can be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output. The invention can be implemented in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program can be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Typically, a processor will receive instructions and data from a read-only memory and/or a random access memory. Typically, a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example, semiconductor memory devices, such as EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in ASICs (application specific integrated circuits).
To provide for interaction with a user, the invention can be implemented on a computer system having a display device such as a monitor or LCD screen for displaying information to the user and a keyboard and a pointing device such as a mouse or a trackball by which the user can provide input to the computer system. The computer system can be programmed to provide a graphical user interface through which computer programs interact with users.
While certain features and embodiments of the invention have been described, other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the embodiments of the invention disclosed herein. Further, the steps of the disclosed methods may be modified in any manner, including by reordering steps and/or inserting or deleting steps, without departing from the principles of the invention. It is intended, therefore, that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims and their full scope of equivalents.
Number | Date | Country | Kind |
---|---|---|---|
04075326.1 | Feb 2004 | EP | regional |