DMRS information extraction (node, relation)

I’ll need your help please.

  1. I am using a rule-based system ( to manipulate DMRS graphs (add / delete nodes/edges). I don’t want to use PyDelphIn to manipulate graphs. Therefore, is there any documentation regarding information such as: how to search for a concept node, a constant node, a relation, an edge, etc?
  2. What is the “easiest” format to extract such information from? The XML format looks complicated to extract information from (realpred, rargname, gpred…).
    For example, in UD, to find a node which has the following information, it suffices to write them in a single line.
    N [upos = VERB, lemma = “run” | “walk”, Mood = Ind | Imp]
    Is there a format that I can extract information easily?
    Thank you in advance.

Hi Rita,

  1. For manipulating DMRS graphs, you might look into pydmrs. I don’t know of any library documentation, so I’d direct you to the Copestake et al., 2016 paper or to the examples/ subdirectory of the pydmrs repository. Others on this site may be able to help further.
  2. I think pydmrs only works with the XML format, but once it’s loaded you’d work with Python objects anyway. If you want to work with the exported formats directly, PyDelphin can convert between 4 different formats for DMRS: XML, JSON, PENMAN, and SimpleDMRS. These links contain examples of the format, so you can see what you think is “easiest”. If you’re familiar with AMR, I’d look into the PENMAN format. The SimpleDMRS format was originally an export-only format meant for ease of (human) reading, but others were using it in practice so now it is bidirectional, and it has the compact, one-line property you were describing.

Hope that helps

The “easiest” format depends on your requirements. The XML format is designed so that you don’t need any custom packages to use it. The most lightwight string format is the graphlang format, which allows an entire graph to be written on a single line (see here for an overview).

It sounds like you’re trying to search DMRS graphs, in which case the matching library in Pydmrs might be helpful.