take

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

Sie ähnelt der Funktion read, 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 und take besteht darin, dass take die Instanz aus der Ontologie entnimmt. Das bedeutet, dass die Instanz gelöscht wird, wenn sie nicht vor dem Commit der Transaktion mit write wieder zurückgeschrieben wird. Andere Transaktionen können die selbe Instanz weder mit read lesen noch sie ebenfalls per take entnehmen.