Patent ID: 7426522

Claim:
A method of translating a path expression in an object oriented query to a relational database outer join, said path expression comprising a navigation path through a relationship in a schema, comprising: analyzing each path expression defined in each level of the object oriented query; identifying each path expression which can be a candidate for a translation to an outer join; ordering the path expression starting with path expression defined in a FROM clause, adding to the FROM clause path expression, each path expression identified as a candidate for a translation to an outer join, and making the ordered path expressions as input to a select operator for each level of the object oriented query; grouping the ordered path expressions sequentially based upon on a source-target dependency between ordered path expressions and based upon the identifications as a candidate for a translation to an outer join; creating a quantifier for each path expression, said quantifier comprising a variable representing a table in a relational database; replacing each grouped path expression with a corresponding quantifier and related table in a relational database; performing optimization on the grouped quantifiers, said optimization identifying quantifiers which can be a candidate for a translation to an inner join; generating an outer join for each quantifier which remains after optimization a candidate for a translation to an outer join; generating an inner join for each quantifier which remains after optimization a candidate for a translation to an inner join; and completing a translation of the object oriented query to a relational query.