The price for this additional freedom is that it is not possible to use specific values of Type:Text in semantic queries
Perhaps, you could enable simple (equality only) queries for properties of the type Text by storing hashes of the texts and comparing them with hashes of query conditions.