Formát pro výměnu znalostí

Knowledge Interchange Format (KIF) je jazyk navržený pro výměnu znalostí mezi různými systémy. Po sémantické stránce je založen na predikátové logice a po syntaktické stránce na LISP. Umožňuje reprezentovat libovolné věty predikátové logiky prvního řádu. Tento jazyk byl definován v rámci projektu Ontolingua, který poskytuje kooperativní nástroj pro tvorbu ontologií a umožňuje export ontologií do různých formalismů.

Při použití KIF se obvykle implementuje určitý formalismus reprezentace v KIF a tato implementace se pak používá pro reprezentaci konkrétní ontologie nebo znalostí. To je i případ Ontolingua - Frame Ontology definující třídy, sloty, facety atd. byla definována v KIF a KIF spolu s rámcovou ontologií tvoří jazyk Ontolingua, který umožňuje zapisovat ontologie v kanonické podobě. Tyto ontologie pak lze exportovat do jiných formalismů, například do Prologu. Ačkoli byl KIF původně zamýšlen jako interlingva, dnes se používá i k přímému kódování znalostí. Z definice v KIF lze automaticky exportovat další formáty (viz například SUMO).

Například definice v KIF vyjadřující, že kolejové vozidlo je vozidlo navržené pro pohyb po železnici, je zapsána takto:

   (subclass RailVehicle LandVehicle)
   (documentation RailVehicle
        "A Vehicle designed to move on &%Railways.")
   (=>  (instance ?X RailVehicle)
        (hasPurpose ?X
         (exists (?EV ?SURF)
           (and  (instance ?RAIL Railway)
                 (instance ?EV Transportation)
                 (holdsDuring (WhenFn ?EV)
                         (meetsSpatially ?X ?RAIL))))))

Protože je KIF velmi expresivní, aby mohl sloužit jako formát pro výměnu mezi různými formalismy reprezentace znalostí, není překvapivé, že v rámci Ontolingua nikdy nebyla poskytnuta podpora odvozování.