I like the idea of using the language (golang) itself to write the rules, instead of DSL or specialized language like Datalog. But why go for a restricted ad hoc interpretation instead of just executing this code as a plugin?
I believe Daniel Martí plans to make gogrep usable as a library, so it will be possible to write such Go programs in the future.