We start with a naive approach
Model = (directed) graphs with (general) mappings and then retrofit it. Note that this definition is not equal to the category of graphs, because the models restrictions are looser.
With this category, we could consider model transformations, type checkers and queries are arrows. But, there is still a lot of uncharted territory here for us to explore like duality, natural transformations, adjointness.