[미국특허]
Generating a database model from natural language expressions of business rules
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06N-007/00
G06N-007/08
출원번호
UP-0899891
(2004-07-27)
등록번호
US-7613676
(2009-11-16)
발명자
/ 주소
Baisley, Donald Edward
Dirckze, Ravi Anthony Joseph
Ziebell, Jonathan Virgil
Cole, Russel Elliot
출원인 / 주소
Microsoft Corporation
대리인 / 주소
Workman Nydegger
인용정보
피인용 횟수 :
18인용 특허 :
15
초록▼
One embodiment of the invention is a method for generating a database model from a set of business rules. For a business rule given as input, an empty list of fact types is created. A determination of whether the business rule is a definitional rule defining that one or more propositions become true
One embodiment of the invention is a method for generating a database model from a set of business rules. For a business rule given as input, an empty list of fact types is created. A determination of whether the business rule is a definitional rule defining that one or more propositions become true upon occurrence of an event is made. If the business rule is a definitional rule, the fact type of each of the propositions is added to the list of fact types. Otherwise, a determination of whether the business rule is an authorization rule for provision of information that comprises one or more authorized provisions of information corresponding to one or more fact types is made. If the business rule is an authorization rule for provision of information, the corresponding fact types are added to the list of fact types. For each fact type in the list of fact types, the fact type having at least one role, the role having a type, if the type of the role is not a lexical type, the type is added to a list of types. The types in the list of types are processed and the fact types in the list of fact types are processed.
대표청구항▼
What is claimed is: 1. A computerized method for generating a normalized database model from natural language expressions of business rules comprising: accessing a plurality of business rules, the business rules being in a linguistic form having a predefined syntax or format that conforms to gramma
What is claimed is: 1. A computerized method for generating a normalized database model from natural language expressions of business rules comprising: accessing a plurality of business rules, the business rules being in a linguistic form having a predefined syntax or format that conforms to grammatical rules of a natural language, and wherein the business rules comprise one or more definitional rules or authorization rules, wherein definitional rules define how information is derived or computed from other information or define how certain propositions become facts upon the occurrence of one or more events, and wherein definitional rules that define how certain propositions become true upon the occurrence of some event have at least a description of one or more events and one or more declarations, which are statements of propositions, each proposition including a fact type, that become true upon the event and wherein the authorization rules define authorizations of business actors to provide information or to request information; creating a first empty list of fact types; for each business rule that is a definitional rule, and based on the rules being definitional rules, adding all of the fact types of the business rule to the first list, the fact types being the declarations which are the statements of propositions, wherein the fact types are expressed in a sentence form, and wherein each of the fact types includes one or more roles, each of which is represented by a placeholder in the sentence form; for each business rule that is an authorization rule for provision of information indicating what information can be provided by a business actor, that comprises one or more authorized provisions of information corresponding to one or more fact types, and based on the rules being authorization rules for provision of information indicating what information can be provided by a business actor, adding the corresponding fact types to the first list, the fact type being expressed in a sentence form and wherein each of the fact types includes one or more roles, each of which is represented by a placeholder in the sentence form; for each role of each fact type in the first list, the role having a type, if the type of the role is not of a lexical type, adding the type to a second list of types; processing the types in the second list to create one or more database tables for the types in the second list; and processing the fact types in the first list by determining for each of the fact types, if a fact type is a basis for describing a pre-defined reference scheme for the fact type, the reference scheme being a pre-defined scheme by which a thing of some type is identified by relating the thing to signifiers or to other things identified by signifiers, and for each fact type in the second list which is not a basis for describing a predefined reference scheme, creating a database table for the fact type, the database table including a type column for each role of the fact type, while not creating a database table for each fact type in the second list which is a basis for describing a predefined reference scheme. 2. The method of claim 1 further comprises: for each business rule, determining whether the business rule imposes a limit that a role of a fact type has a maximum cardinality of one; and if the business rule imposes such limit, adding the role of a fact type that has a maximum cardinality of one to a third list of single-valued roles. 3. The method of claim 1 wherein processing the types in the second list comprises: setting a current type to a first type in the second list; if the current type has a supertype, setting the current type to be the supertype, and repeating setting the current type to be the supertype until the current type does not have a supertype; else, if the current type has not been processed, creating an empty column list, processing the empty column list for the current type, creating a database table for the current type, adding an identity-type column to the database table to represent database identity of instances of the current type, creating, for each column in a column list, a column of lexical type or of identity-type, and marking the current type as processed. 4. The method of claim 3 wherein processing the empty column list for the current type comprises: adding a Boolean column to the column list to indicate whether an instance is of the current type; if there is a reference scheme defined for the current type, the reference scheme including one or more fact types, for each of the fact types in the reference scheme, the fact type having an identifying role which has a type: if the type of the identifying role of the fact type is a lexical type, adding the column of the lexical type to the column list; else, adding an identity-type column to the column list to represent database identity of the type of the identifying role of the fact type; and marking the current type as processed. 5. The method of claim 4 further comprising: if the current type has a subtype and the subtype has not been marked as processed, repeating processing the empty column list for the current type using the subtype as the current type. 6. The method of claim 2 wherein processing the fact types in the first list comprises: if a fact type in the first list is not a basis for describing a reference scheme for a type: (1) creating a database table for the fact type, the fact type having one or more roles, each of the roles having a type; (2) for a role of the roles of the fact type, if the type of the role is a lexical type, adding a column of the lexical type to the database table, else, adding an identity-type column to refer to database identity of the type; if the role is in the list of single-valued roles of fact types, creating a uniqueness constraint spanning columns that correspond to remaining roles of the fact type. 7. The method of claim 6 further comprising: repeating the operation (2) onward for each of the remaining roles of the fact type. 8. An article of manufacture for generating a normalized database model from natural language expressions of business rules comprising: a machine-accessible storage medium including data that, when accessed by a machine, cause the machine to perform the operations of claim 1. 9. The article of manufacture of claim 8 wherein the data further comprise data that, when accessed by the machine, cause the machine to perform operations comprising: for each business rule, determining whether the business rule imposes a limit that a role of a fact type has a maximum cardinality of one; and if the business rule imposes such limit, adding the role of a fact type that has a maximum cardinality of one to a third list of single-valued roles. 10. The article of manufacture of claim 8 wherein the data causing the machine to perform processing the types in the second list comprise data that, when accessed by the machine, cause the machine to perform operations comprising: setting a current type to a first type in the second list of types; if the current type has a supertype, setting the current type to be the supertype, and repeating setting the current type to be the supertype until the current type does not have a supertype; else, if the current type has not been processed, creating an empty column list, processing the empty column list for the current type, creating a database table for the current type, adding an identity-type column to the database table to represent database identity of instances of the current type, creating, for each column in a column list, a column of lexical type or of identity-type, and marking the current type as processed. 11. The article of manufacture of claim 10 wherein the data causing the machine to perform processing the empty column list for the current type comprise data that, when accessed by the machine, cause the machine to perform operations comprising: adding a Boolean column to the column list to indicate whether an instance is of the current type; if there is a reference scheme defined for the current type, the reference scheme including one or more fact types, for each of the fact types in the reference scheme, the fact type having an identifying role which has a type: if the type of the identifying role of the fact type is a lexical type, adding the column of the lexical type to the column list; else, adding an identity-type column to the column list to represent database identity of the type of the identifying role of the fact type; and marking the current type as processed. 12. The article of manufacture of claim 11 wherein the data further comprise data that, when accessed by the machine, cause the machine to perform operations comprising: if the current type has a subtype and the subtype has not been marked as processed, repeating processing the empty column list for the current type using the subtype as the current type. 13. The article of manufacture of claim 9 wherein the data causing the machine to perform processing the fact types in the list of fact types comprise data that, when accessed by the machine, cause the machine to perform operations comprising: if a fact type in the list of fact types is not a basis for describing a reference scheme for a type: (1) creating a database table for the fact type, the fact type having one or more roles, each of the roles having a type; (2) for a role of the roles of the fact type, if the type of the role is a lexical type, adding a column of the lexical type to the database table, else, adding an identity-type column to refer to database identity of the type; if the role is in the list of single-valued roles of fact types, creating a uniqueness constraint spanning columns that correspond to the remaining roles of the fact type. 14. The article of manufacture of claim 13 wherein the data further comprise data that, when accessed by the machine, cause the machine to perform operations comprising: repeating the operation (2) onward for each of the remaining roles of the fact type. 15. A system for generating a normalized database model from natural language expressions of business rules comprising: a processor; and a memory coupled to the processor, the memory containing instructions that, when executed by the processor, cause the processor to perform the following acts: accessing a plurality of business rules, the business rules being in a linguistic form having a predefined syntax or format that conforms to grammatical rules of a natural language, and wherein the business rules comprise one or more definitional rules or authorization rules, wherein definitional rules define how information is derived or computed from other information or define how certain propositions become facts upon the occurrence of one or more events, and wherein definitional rules that define how certain propositions become true upon the occurrence of some event have at least a description of one or more events and one or more declarations, which are statements of propositions, each proposition including a fact type, that become true upon the event and wherein the authorization rules define authorizations of business actors to provide information or to request information; creating a first empty list of fact types; for each business rule that is a definitional rule, and based on the rules being definitional rules, adding all of the fact types of the business rule to the first list, the fact types being the declarations which are the statements of propositions, wherein the fact types are expressed in a sentence form, and wherein each of the fact types includes one or more roles, each of which is represented by a placeholder in the sentence form; for each business rule that is an authorization rule for provision of information indicating what information can be provided by a business actor, that comprises one or more authorized provisions of information corresponding to one or more fact types, and based on the rules being authorization rules for provision of information indicating what information can be provided by a business actor, adding the corresponding fact types to the first list, the fact type being expressed in a sentence form and wherein each of the fact types includes one or more roles, each of which is represented by a placeholder in the sentence form; for each business rule, determine whether the business rule imposes a limit that a role of a fact type has a maximum cardinality of one, and if the business rule imposes such limit, add the role of a fact type that has a maximum cardinality of one to a third list of single-valued roles; for each role of each fact type in the first list, the role having a type, if the type of the role is not of a lexical type, adding the type to a second list of types; processing the types in the second list to create one or more database tables for the types in the second list, by: setting a current type to a first type in the second list of types; if the current type has a supertype, setting the current type to be the supertype, and repeating setting the current type to be the supertype until the current type does not have a supertype; else if the current type has not been processed, creating an empty column list, processing the empty column list for the current type including: adding a Boolean column to the column list to indicate whether an instance is of the current type; if there is a reference scheme defined for the current type, the reference scheme including one or more fact types, for each of the fact types in the reference scheme, the fact type having an identifying role which has a type: if the type of the identifying role of the fact type is a lexical type, adding the column of the lexical type to the column list; else, adding an identity-type column to the column list to represent database identity of the type of the identifying role of the fact type; and marking the current type as processed; creating a database table for the current type, adding an identity-type column to the database table to represent database identity of instances of the current type, creating, for each column in a column list, a column of lexical type or of identity-type, and marking the current type as processed; if the current type has a subtype and the subtype has not been marked as processed, repeating processing the empty column list for the current type using the subtype as the current type; and processing the fact types in the first list by determining for each of the fact types. if a fact type is a basis for describing a pre-defined reference scheme for the fact type. the reference scheme being a pre-defined scheme by which a thing of some type is identified by relating the thing to signifiers or to other things identified by signifiers, and for each fact type in the second list which is not a basis for describing a predefined reference scheme, creating a database table for the fact type, the database table including a type column for each role of the fact type, while not creating a database table for each fact type in the second list which is a basis for describing a predefined reference scheme by: if a fact type in the list of fact types is not a basis for describing a reference scheme for a type; (1) creating a database table for the fact type, the fact type having one or more roles, each of the roles having a type; (2) for a role of the roles of the fact type, if the type of the role is a lexical type, adding a column of the lexical type to the database table, else, adding an identity-type column to refer to database identity of the type; if the role is in the list of single-valued roles of fact types, creating a uniqueness constraint spanning columns that correspond to the remaining roles of the fact type; and repeating the operation (2) onward for each of the remaining roles of the fact type.
Burke, Miles D.; Solar, Jr., Richard J., Building business objects and business software applications using dynamic object definitions of ingrediential objects.
Shwartz Steven (Orange) Fratarcangeli Claudio (Trumbull) Cullingford Richard E. (Monroe) Aimi Gregory S. (North Haven) Strasburger Donald P. (Stratford CT), Database retrieval system having a natural language interface.
Suda Aruna Rohra,JPX ; Jeyachandran Suresh,JPX, System for generating natural language information from information expressed by concept and method therefor.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.