Underspecifying a relative clause MRS?

I have two MRSs that only differ in the variable properties on the verb in a subject relative clause, and one of them having an ICONS constraint.

Here is the first one:

[ TOP: h0
  INDEX: e2 [ e SF: prop ]
  RELS: < [ unknown<0:30> LBL: h1 ARG: x4 [ x PERS: 3 NUM: sg IND: + ] ARG0: e2 ]
          [ _the_q<0:3> LBL: h5 ARG0: x4 RSTR: h6 BODY: h7 ]
          [ _window_n_1<4:10> LBL: h8 ARG0: x4 ]
          [ _own_v_1<11:16> LBL: h8 ARG0: e9 [ e SF: prop TENSE: untensed MOOD: indicative ] ARG1: x10 [ x PERS: 3 NUM: sg IND: + ] ARG2: x4 ]
          [ _the_q<20:23> LBL: h11 ARG0: x10 RSTR: h12 BODY: h13 ]
          [ _driver_n_of<24:30> LBL: h14 ARG0: x10 ARG1: i15 ] >
  HCONS: < h0 qeq h1 h6 qeq h8 h12 qeq h14 >
  ICONS: < e9 topic x4 > ]

When generating I get these outputs:

The window owned by the driver
The window owned by the driver.
The window, owned by the driver.

And I get these if I remove the ICONS constraint:

The window owned by the driver
The window owned by the driver.
The window for the driver to own.
The window for the driver to own
The window, owned by the driver.
The window, for the driver to own.

Here is the second one:

[ TOP: h0
  INDEX: e2 [ e SF: prop ]
  RELS: < [ unknown<0:32> LBL: h1 ARG: x4 [ x PERS: 3 NUM: sg IND: + ] ARG0: e2 ]
          [ _the_q<0:3> LBL: h5 ARG0: x4 RSTR: h6 BODY: h7 ]
          [ _window_n_1<4:10> LBL: h8 ARG0: x4 ]
          [ _the_q<16:19> LBL: h9 ARG0: x10 [ x PERS: 3 NUM: sg IND: + ] RSTR: h11 BODY: h12 ]
          [ _driver_n_of<20:26> LBL: h13 ARG0: x10 ARG1: i14 ]
          [ _own_v_1<27:32> LBL: h8 ARG0: e15 [ e SF: prop TENSE: past MOOD: indicative PROG: - PERF: - ] ARG1: x10 ARG2: x4 ] >
  HCONS: < h0 qeq h1 h6 qeq h8 h11 qeq h13 > ]

Here are the results when generating:

The window who was owned by the driver
The window that was owned by the driver
The window who was owned by the driver.
The window that was owned by the driver.
The window which was owned by the driver
The window which was owned by the driver.
The window, which was owned by the driver.
The window, who was owned by the driver.
The window, that was owned by the driver.
The window that the driver owned.
The window which the driver owned.
The window who the driver owned.
The window that the driver owned
The window which the driver owned
The window who the driver owned
The window, which the driver owned.
The window, that the driver owned.
The window, who the driver owned.
The window the driver owned.
The window the driver owned

I’m trying to find some set of variable properties I can put on _own_v_1.ARG0 to get me to generate all of these results with one MRS. I tried something like [ TENSE: tense MOOD: mood PROG: bool PERF: bool ], but that didn’t work.

On a similar note, where can I get information about all the properties each variable type can have as well as all values for those properties?

Underspecifying variable properties for generation can be a little confusing because the generator relies on the contents of the file erg/semi.vpm to map between “internal” and “external” MRSs, where the “internal” MRS is what the parser produces directly, and also what the generator uses as its input, while the “external” MRS is a normalized representation often more useful for downstream applications. In the ERG 2025 version, this file declares (in somewhat opaque form) that for the TENSE attribute, when there is no value given in the MRS to be presented to the generator, the value that will be assigned is “untensed” (this is given by the last line in the section headed by the line “E.TENSE : TENSE”). Similarly, unless a specific tensed value is given for TENSE, the value assigned will be “untensed”. So to enable the generator to produce both tensed and untensed variants of relative clauses as you indicated, you would need to change that last line of the TENSE section from “untensed << [e]” to “tense << [e]” and then recompile (noting that the type “tense” is a supertype of both tensed and untensed types). Once done, you can then present the generator with an MRS where the TENSE attribute-value pair is omitted for the verb heading the relative clause, and you should see the full range of tensed and untensed variants.

One word of caution: these assignments in semi.vpm are global and need to work in all contexts, so you will want to do some considerable quality assurance testing on your data sets after making any change to the semi.vpm file. Documentation on variable property mappings can be found here:

That same semi.vpm file is probably the most informative source of information about the range of variable properties and their possible values, but it is alas not an exhaustive description.

Or if you are wary of fiddling with the sem-i, could you set TENSE to tense explicitly?

No, the ERG’s semi.vpm also includes a line that maps an explicit underspecified value for TENSE such as “tense” to the more specific value “untensed” in mapping from the external to the internal MRS for generation. So to get the full range of generated outputs, that file would have to be changed.