Previous topic  Top  Next topic  Print this Topic
 

Performance Optimization with Project Files

 

Typically each ontology file will be placed into its own module. For performance reasons it is often better to put multiple ontologies into the same module. Example: We have two files:

File 1:

:- module=m1.

:- import=m2.

B::A.

File 2:

:- module=m2.

C::A.

If we write

load "file1.obl" // module m1

load "file2.obl" // module m2

in the project file then we have two ontology objects and the extensional database contains the facts

B::A@m1.

C::A@m2.

If it is not required to access "m2" directly, then it is better to write

load "file1.obl" // m1

resolve <m2> = "file2.obl" // m2

In this case we have

B::A@m1.

C::A@m1.

in the extensional database (which will provide better performance).