Description
Keyword aliasing is currently not really specified. We have only one paragraph in the syntax spec and do not describe it at all in the expansion algorithm. I think we might have different ideas of how it should work so lets try to find a consensus.
1) Can multiple aliases exist for a keyword?
I would say yes
2) Why is aliasing of @context
disallowed?
I see no reason for this
3) Are aliased keywords supported within a context?
I would say no, this makes things just more complex without bringing any advantage.
4) How is this processed during context processing/expansion/compaction
I think during context processing a separate keyword-mapping should be created.
In expansion we then would have a preprocessing step which checks if property is subject to keyword-mapping, if so, replace property with the keyword and continue processing (in case of collisions the values are merged).
In compaction I think we should have a similar preprocessing step which replaces a keyword with the shortest mapped term.