Fix the oddity in the schema requiring fact names to be non-empty on edges


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.

fromberger created this task.Via WebSep 13 2016, 1:57 PM
fromberger added a project: Schema.
fromberger added a subscriber: fromberger.
schroederc assigned this task to zarko.Via WebMay 31 2017, 4:15 PM
schroederc added a subscriber: schroederc.

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.

zarko added a comment.Via WebMay 31 2017, 4:21 PM

Yes, let's disallow facts on edges (though we should silently ignore the current sanctioned behavior lest the world break).

fromberger added a comment.Via WebMay 31 2017, 4:22 PM

Yeah, my only reservation is to make sure we don't break stuff. I agree that the requirement was a mistake and we should migrate it away.

schroederc added a comment.Via WebJun 1 2017, 9:22 AM

The first thing we'd have to change is the verifier. It checks for the "/" fact_name explicitly.

fromberger added a comment.Via WebJun 1 2017, 9:24 AM

Yeah. Perhaps make it forbid the fact with a flag to allow it; then we can crank down on the flag as we fix stuff.

Add Comment