GTOP vs. LTOP, what are they?

As I am building MRSs from scratch, I am struggling to understand the difference between GTOP and LTOP.

It seems to me that in PyDelphin an MRS object has one top variable. I assume this is meant to be the GTOP, but as I am successively building an MRS, I feel like I need to use it as an LTOP and then once the full MRS is constructed I need to create a new handle, set the TOP to it, thus letting it serve as the GTOP.

Per the MRS algebra paper by @AnnC, Alex, and @Dan, it seems that if, for example, I was combining an MRS (SSEMENT) fragment for ‘cute’ and one for ‘cat’ then the resulting fragment’s hook will be that of the semantic functor (‘cute’ in this case), but that means that the TOP handle of the new one matches the handle from ‘cute’, but when I use the delphin-viz ERG demo the TOP handle never matches any of the handles down in the RELS list.

I assume the key point here is that LTOP and GTOP are different things and serve different purposes, but I’m not quite clear on the distinction there and would love any help or pointers to literature that explains the distinction.

My understanding is that the LTOP, or local top, is a pointer to the top handle of a local subgraph as an MRS is be assembled during the analysis of an input (e.g., sentence). The GTOP, or global top, points to the top handle of a completely analyzed input. In many grammars, the GTOP is not precisely the top label, but rather a handle QEQ to the top label (in other words, the GTOP is QEQ to the highest LTOP).

The MRS introduction paper says as much in section 4.3:

In order to state the rules of combination involving handles, we will
assume that MRSs have an extra attribute, the local top, or ltop, which will
be the topmost label in an MRS which is not the label of a floating ep (i.e.,
not the label of a quantifier). For instance, in (25), the ltop is the label
corresponding to the ep for probably, h5. In an MRS corresponding to a
complete utterance, the top handle will be qeq to the local top. We will
assume that when an MRS is composed, the top handle for each phrase in
the composition is the same: that is, the top handle we introduced in §4.1
is a ‘global’ top handle gtop, in contrast to the local top for the phrase,
which is the label of the topmost ep in that phrase which is not a floating
ep. For phrases that only contain floating eps, the ltop is not bound to any
label. So the revised MRS structure is a tuple 〈GT , LT , R, C〉, where LT is
the local top. As before, GT is the global top handle and R and C are the
ep bag and handle constraints. For convenience, in the representations in
this section, we will consistently use h0 for the global top.

So as you are building an MRS, you working with the LTOP. When you are done, you cap it off with a new handle QEQ to that LTOP. In the past we may have been imprecise with our use of the terminology, such as calling everything LTOP.

In the SimpleMRS format, the top handle was called LTOP, so we decided to start calling it TOP and PyDelphin implemented that change, as TOP can be seen as ambiguous between LTOP (for partial MRSs being assembled) and GTOP (for complete representations). You should be able to tell the difference by seeing if the value of TOP is the value of any scopal argument or RSTR. If not, this handle (conventionally h0) is the global top. I don’t think all processors made a similar change to TOP, so you’ll still see LTOP coming up. You can see some discussion we had about it in this thread from the old developers list. I couldn’t turn up much more than this, so those discussions may have happened in-person or over email.


Thanks for that nice explanation, @goodmami. You’ll see TOP as desired in the LUI view of both the Simple MRS' and Indexed MRS’ with ACE, and in the MRS' for the native graphical display of a parse in LKB-FOS. Interestingly, this native LKB-FOS display of Indexed MRS’ does not label the elements of the MRS like the LUI display does, so there might be room for improvement in the naming of these different views.