4.4 Multi-line graphs


Prolog+CG has a simple yet sufficient mechanism for representing graphs that extend over multiple lines. On this page, we specify the syntax of this mechanism.

Hyphens, commas, and semicolons

In order to connect a concept with more than one relation, simply put a hyphen after the concept, then write each branch on a separate line with commas (',') to separate the branches. End the list with semicolon (';').


For example:

Entity > Proposition, Act, Animal, Right.

Animal = Wolf, Lamb.
Act = Persuade, Eat.

// The Wolf persuades the Lamb that the Wolf has a right 
// to eat the lamb.
prop([Proposition =
       [Act : Persuade]-
          -AGNT->[Animal : Wolf],
          -RCPT->[Animal : Lamb],
          -THME->[Proposition =
                   [Animal : Wolf]-
                    -POSS->[Right = 
                             [Proposition =
                               [Animal : Wolf]<-AGNT-[Act : Eat]-
                                -PTNT->[Animal : Lamb]

This example is available in the AAU directory as Aesop6.plgCG.

This is a complicated example with nesting to several levels of depth. The important details to pick out right now are the way hyphens are used to indicate that the branches continue on subsequent lines, how they are separated with commas, and how the lists are ended with semicolon. Note also how the semicolon is optional if the list is at the end of the conceptual graph. Thus the only semicolon that exists in the above graph is also optional and could have been left out.


To have several relations be connected to the same concept, simply put a hyphen after the concept, place each relation on a separate line, place commas in between, and end the list with a semicolon. The semicolon is optional if the list is at the end of a conceptual graph.


Next, we specify how to represent coreferents.

PrevLite: 4.3.4 Summary
NextLite: 4.5 Coreferents

Prev: 4.3.4 Summary
Up: 4 CG syntax
Next: 4.5 Coreferents