The IsaLog model and language are presented. The model has complex objects with classes, relations, and isa hierarchies. The language is strongly typed and declarative. The main issue is the de nition of the semantics of the language, given in three di erent ways, shown to be equivalent: a model-theoretic semantics, a reduction to logic programming with function symbols, and a xpoint semantics. Each of the semantics presents new aspects with respect to existing proposals, because of the interaction of oid-invention with general isa hierarchies. The solutions are based on a new technique, explicit Skolem functors, which provide a powerful tool for manipulating object-identi ers.