Claims Analysis
Total Claims: 15
Claim 1
Independent Claim
215 words
A computer-implemented method for associating a constraint stored in a memory with one or more data object classes in an object-oriented database, wherein the constraint reflects an initial constraint which comprises zero or more initial quantifiers and a quantifier-free boolean expression, the method comprising the steps of identifying one or more data object classes upon which an evaluation of the constraint depends; and associating the constraint with the one or more identified data object classes, wherein the identifying step comprises the steps of (a) choosing a non-primitive reference expression in the quantifier-free boolean expression and determining a primitive reference expression at the head of the non-primitive reference expression; (b) modifying the initial constraint to produce a modified constraint by (i) replacing the primitive reference expression in the quantifier-free boolean expression with a first variable; (ii) augmenting the zero or more initial quantifiers with a first universal quantifier of the first variable over all data objects in a data object class, which class comprises the data object referred to by the primitive reference expression; and (iii) augmenting the quantifier-free boolean expression with a disjunctive condition specifying that the first variable is not equal to the primitive reference expression; and (c) identifying the data object class comprising the data object referred to by the primitive reference expression.
Claim 2
Dependent Claim
215 words
A computer-implemented method for associating a constraint stored in a memory with one or more data object classes in an object-oriented database, wherein the constraint reflects an initial constraint which comprises zero or more initial quantifiers and a quantifier-free boolean expression, the method comprising the steps of identifying one or more data object classes upon which an evaluation of the constraint depends; and associating the constraint with the one or more identified data object classes, wherein the identifying step comprises the steps of (a) choosing a non-primitive reference expression in the quantifier-free boolean expression and determining a primitive reference expression at the head of the non-primitive reference expression; (b) modifying the initial constraint to produce a modified constraint by (i) replacing the primitive reference expression in the quantifier-free boolean expression with a first variable; (ii) augmenting the zero or more initial quantifiers with a first universal quantifier of the first variable over all data objects in a data object class, which class comprises the data object referred to by the primitive reference expression; and (iii) augmenting the quantifier-free boolean expression with a disjunctive condition specifying that the first variable is not equal to the primitive reference expression; and (c) identifying the data object class comprising the data object referred to by the primitive reference expression.
Claim 3
Dependent Claim
48 words
The method according to claim 1 wherein steps (a) and (b) are each performed one or more times, wherein the initial constraint of each performance of steps (a) and (b) other than the first such performance comprises the modified constraint produced by a previous performance of step (b).
Claim 4
Dependent Claim
55 words
The method according to claim 2 further comprising the step of further associating the constraint associated with the one or more identified data object classes with one or more data object classes over which the initial constraint of the first performance of steps (a) and (b) is quantified by the zero or more initial quantifiers.
Claim 5
Dependent Claim
22 words
The method according to claim 3 wherein the constraint comprises the initial constraint of the first performance of steps (a) and (b).
Claim 6
Dependent Claim
22 words
The method according to claim 3 wherein the constraint comprises the modified constraint produced by one of the performances of step (b).
Claim 7
Dependent Claim
21 words
The method according to claim 5 wherein the constraint comprises the modified constraint produced by the last performance of step (b).
Claim 8
Dependent Claim
69 words
The method according to claim 3 wherein the quantifier-free boolean expression of the initial constraint of the first performance of steps (a) and (b) comprises one or more function calls, the method further comprising the steps of identifying one or more object references in one or more of the function calls; and further associating the constraint with one or more data object classes based on the identified object references.
Claim 9
Dependent Claim
122 words
The method according to claim 3 wherein the modified constraint produced by a given performance of step (b) comprises a second universal quantifier of a second variable over all data objects in a given data object class and no existential quantifiers outside the scope of the second universal quantifier, the method further comprising the steps of further modifying the modified constraint produced by said given performance of step (b) by removing the second universal quantifier; associating the further modified constraint with said given data object class; and evaluating the further modified constraint when a data object in said given data object class is added or modified, the evaluation performed with the second variable set equal to the added or modified data object.
Claim 10
Dependent Claim
170 words
The method according to claim 3 further comprising the steps of further modifying the modified constraint produced by a given performance of step (b) by (i) replacing the first variable inserted by one of the performances of step (b) in the quantifier-free boolean expression with the primitive reference expression which it replaced by said one of the performances of step (b), (ii) removing the first universal quantifier of the first variable over all data objects in the data object class comprising the data object referred to by the primitive reference expression, which first universal quantifier augmented to the zero or more initial quantifiers by said one of the performances of step (b), and (iii) removing the disjunctive condition which augmented the quantifier-free boolean expression by said one of the performances of step (b); and associating the further modified constraint with the data object class comprising the data object referred to by the primitive reference expression, which primitive reference expression was replaced by said one of the performances of step (b).
Claim 11
Dependent Claim
35 words
The method according to claim 3 further comprising the step of evaluating the constraint when one or more data objects in one or more of the data object classes associated with the constraint are updated.
Claim 12
Dependent Claim
153 words
The method according to claim 10 wherein the modified constraint produced by a given performance of step (b) comprises an existential quantifier of a second variable over all data objects in a given data object class and no quantifiers outside the scope of the existential quantifier, the method further comprising the steps of further modifying the modified constraint produced by the given performance of step (b) by removing the existential quantifier; and maintaining data representative of the set of all data objects in said given data object class for which the further modified constraint evaluates to true, the evaluation of the further modified constraint being performed for each one of the data objects with the second variable set equal to the corresponding one of the data objects; and wherein the evaluation step comprises determining whether said set is non-empty when one or more data objects in said given data object class is updated.
Claim 13
Dependent Claim
35 words
The method according to claim 11 wherein the step of maintaining the representative data is performed by modifying the representative data when one or more data objects in said given data object class are updated.
Claim 14
Dependent Claim
90 words
The method according to claim 3 further comprising the steps of further modifying the modified constraint produced by a given performance of step (b) based on a specified relationship between data object attributes by transforming the modified constraint produced by said given performance of step (b)into a further modified constraint with use of a substitution of a data object attribute for another, the substitution not effecting the result of constraint evaluation; and associating the further modified constraint with one or more of the data object classes associated with the constraint.
Claim 15
Dependent Claim
21 words
The method according to claim 13 wherein the specified relationship between data object attributes reflects a database relational integrity maintenance requirement.