Previous topic  Top  Next topic  Print this Topic
 

FrameOptimizer

 

In ObjectLogic you may have something like:

X:Person[hasName->Y].

this will split into

X:Person and X[hasName->Y].

´This has essential disadvantages during the evaluation! The FrameOptimizer merges these facts if possible:

att(X,Person,hasName,Y).

This means enormous time-savings in an integration scenario.

The following rule types are supported:

dbaccess rules as they are generated by the OS db import plugin
Mapping rules as they are generated by the OS mapping tool
Rules where each att-literal is accompanied by an appropriate isa literal in the head and body
Classification rules like ?X:D :- ?X:E and ... where D is a sub concept of E

Restrictions:

The model must not contain any instances.
The model must be compatible with CNG=on, ANG=on, MNG=on.
Fillnull for the query is not supported.
Queries for identifiers like ?- ?X:C. are not supported, only queries for attribute values.
the rules involved in a query must be of the type above.

Example

… :- ?X:Person[hasAge->?Y] …

optimized:

… :- att(Person,hasAge,Y) …

NOTE: Because of performance issues do not use the schema optimizer and the frame optimizer at the same time.