PyDelphin unable to find certain predicates in the SEMI

For one of my attempted generations from MRS, I was attempting to use the underspecified predicate label temp_loc_sp as it is a supertype for both _in_p_temp and _on_p_temp, among others. I wanted to use it so that I would be able to add it to my MRS without considering whether the rest of my MRS has both the month and date (warranting “on September 25th”) or just the month (“in September”).

However, when I try to use this predicate I get the following error:

    raise SemIError('no valid synopsis for {}({})'
delphin.semi.SemIError: no valid synopsis for temp_loc_sp()

I see temp_loc_sp as the supertype for both in hierarchy.smi, but the label doesn’t exist in abstract.smi:

  temp_loc_nonsp : ARG0 i, ARG1 u, ARG2 u.
  temp_loc_nonsp : ARG0 e, ARG1 u, ARG2 x { NUM sg }.
  temp_loc_x : ARG0 i, ARG1 u, ARG2 u.

I tried adding another line myself as follows:

temp_loc_sp : ARG0 i, ARG1 u, ARG2 i.

but it did not solve the issue

This looks like the appropriate error. There is no synopsis for temp_loc_sp so the error states this. If there were no predicate at all, it would give a different error.

When I added this line to abstract.smi, I was able to see the synopsis:

>>> smi = semi.load('../erg/etc/erg.smi')
>>> smi.find_synopsis('temp_loc_sp')
Synopsis([SynopsisRole(ARG0, i, {}, False), SynopsisRole(ARG1, u, {}, False), SynopsisRole(ARG2, i, {}, False)])

Just be sure to reload the SEM-I after making the edits.