GeCoLan: A constraint language for reasoning about ecological networks in the semantic web