In ObjectLogic you may have something like:
this will split into
X:Person and X[hasName->Y].
´This has essential disadvantages during the evaluation! The FrameOptimizer merges these facts if possible:
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|
|•||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.|
… :- ?X:Person[hasAge->?Y] …
… :- att(Person,hasAge,Y) …
NOTE: Because of performance issues do not use the schema optimizer and the frame optimizer at the same time.