The grammar for fact labels currently requires a non-empty label, even for edges. This confuses pretty much everyone, and doesn't seem to be solving any useful problem, so we should get rid of it.
OpenPublicFix the oddity in the schema requiring fact names to be non-empty on edges
The reason for this was that all fact names should be non-empty and we have, in the past, toyed with notion of having facts on edges. Should we put our foot down and disallow facts on edges at this point? If so, we could dictate that (edge_kind == "") != (fact_name == "") for all Entry messages.