take-instance

Die Funktion take-instance erwartet zwei Argumente: ein Template und eine Transaktion.

Sie ähnelt der Funktion read-instance und liefert eine Instanz zurück, die auf das Template passt. Wenn keine Instanz auf das Template passt, ist der Rückgabewert nil.

Der Unterschied zwischen read-instance und take-instance besteht darin, dass take-instance die Instanz aus der Ontologie entnimmt. Das bedeutet, dass die Instanz gelöscht wird, wenn sie nicht vor dem Commit der Transaktion mit write-instance wieder zurückgeschrieben wird.

Andere Transaktionen können die selbe Instanz weder mit read-instance lesen noch sie ebenfalls per take-instance entnehmen.