Describir: Inferring the Principal Type and the Schema Requirements of an OQL Query