Semi-Inflationary DATALOG : A declarative Database Language with Procedural Features