A logic for programming with complex objects (Q686642)

From MaRDI portal





scientific article; zbMATH DE number 428585
Language Label Description Also known as
default for all languages
No label defined
    English
    A logic for programming with complex objects
    scientific article; zbMATH DE number 428585

      Statements

      A logic for programming with complex objects (English)
      0 references
      0 references
      10 October 1993
      0 references
      A repaired and significantly extended version of Meier's \(O\)-logic is presented. The logic is aiming to combine object-oriented and deductive approaches to databases: the authors present a logic language with a well-defined semantics that extends predicate calculus and accomodates deducing with complex objects and object identity. The syntax of the proposed logic is based on an alphabet consisting of object constructors, single-valued attributes, set-valued attributes, class names, object variables, logical connectives and quantifiers. A model theory is given and it is shown how predicates can be encoded as \(O\)-terms and a direct semantics is presented that does not appeal to this encoding. Concepts of a deductive database, query and answer are defined. In a series of examples certain capabilities for set-grouping and inheritance modeling are given. Inconsistency-tolerant attributes are introduced. It is proven that \(O\)-logic is a syntactic variant of a predicate-calculus- based language. A sound and complete (resolution-based) proof procedure is presented. A logic programming semantics is outlined and it is shown that perfect model semantics can be adapted to \(O\)-logic. A note is devoted to the relationship of the \(O\)-logic to frame based languages in AI.
      0 references
      object-oriented databases
      0 references
      deducibe databases
      0 references
      complex objects
      0 references
      object identity
      0 references
      object logic
      0 references
      Meier's \(O\)-logic
      0 references
      logic programming
      0 references

      Identifiers

      0 references
      0 references
      0 references
      0 references
      0 references
      0 references