Conceptual Graphs |
Next |
Example: A cat is on a mat. |

[Cat: *x] [Mat: *y] (On ?x ?y)
(exists ((?x Cat) (?y Mat)) (On ?x ?y))
Each conceptual relation has one or more arcs. In KIF and CGIF the arcs are represented sequentially by a list of variables (KIF) or coreference labels (CGIF), prefixed with a question mark. In KIF, the quantifier ("exists" or "forall") and its associated "sort", such as Cat or Mat, corresponds to a declaration in a programming langage. In CGIF, an asterisk in front of a coreference label declares the concept in which the quantifier and type are associated with the correference label.
In the display form, the arcs are numbered from 1 to some upper limit n, which depends on the relation type. Alternatively, the first arc may be shown as an arrow pointing toward the circle, and the n-th arc may be shown as an arrow pointing away from the circle.
Example: Every cat is on a mat. |

[Cat: @every*x] [Mat: *y] (On ?x ?y)
(forall ((?x Cat)) (exists ((?y Mat)) (On ?x ?y)))
Example: A person is between a rock and a hard place. |

[Person *x] [Rock *y] [Place *z] [Hard *w]
(betw ?y ?z ?x) (attr ?z ?w)
(exists ((?x person) (?y rock) (?z place) (?w hard))
(and (betw ?y ?z ?x) (attr ?z ?w)))
Example: John is going to Boston by bus. |

[Person: 'John' *x] [City: 'Boston' *y] [Bus: *z] (GoR3 ?x ?y ?z)
(exists ((?x Person) (?y City) (?x Bus))
(and (Name ?x 'John) (Name ?y 'Boston) (GoR3 ?x ?y ?z)))
Example: John is going to Boston by bus. |

[Go: *x] [Person: 'John' *y] [City: 'Boston' *z] [Bus: *w] (Agnt ?x ?y) (Dest ?x ?z) (Inst ?x ?w)
(exists ((?x Go) (?y Person) (?z City) (?w Bus))
(and (Name ?y John) (Name ?z Boston)
(Agnt ?x ?y) (Dest ?x ?z) (Inst ?x ?w)))
Defining Relations by Lambda Expressions |

Example: Tom believes Mary wants to marry a sailor. |
[Person: *x1 'Tom'] [Believe *x2] (Expr ?x2 ?x1)
(Thme ?x2 [Proposition:
[Person: *x3 'Mary'] [Want *x4] (Expr ?x4 ?x3)
(Thme ?x4 [Situation:
[Marry *x5] (Agnt ?x5 ?x3) (Thme ?x5 [Sailor]) ]) ])
(exists ((?x1 person) (?x2 believe))
(and (name ?x1 'Tom) (expr ?x2 ?x1)
(thme ?x2
(exists ((?x3 person) (?x4 want) (?x8 situation))
(and (name ?x3 'Mary) (expr ?x4 ?x3) (thme ?x4 ?x8)
(dscr ?x8 (exists ((?x5 marry) (?x6 sailor))
(and (Agnt ?x5 ?x3) (Thme ?x5 ?x6)))))))))
The dotted line from the concept [Person: Mary] to the concept [T], which is called a coreference link, shows that the inner concept [T] has the same referent as concept to which it is linked. In CGIF, the coreference link corresponds to a pair of coreference labels that associate the defining node [Person: Mary *x] with a bound node [T: ?x]. The type T, which represents the most general type at the top if the type hierarchy, is true of everything; therefore, a node such as [T: ?x] can be simplified to [?x] or just ?x in the CGIF notation.
Example: There is a sailor that Tom believes Mary wants to marry. |
[Person: *x1 'Tom'] [Sailor: *x6] [Believe *x2] (Expr ?x2 ?x1)
(Thme ?x2 [Proposition:
[Person: *x3 'Mary'] [Want *x4] (Expr ?x4 ?x3)
(Thme ?x4 [Situation:
[Marry *x5] (Agnt ?x5 ?x3) (Thme ?x5 ?x6) ]) ])
(exists ((?x1 person) (?x6 sailor) (?x2 believe))
(and (name ?x1 'Tom) (expr ?x2 ?x1)
(thme ?x2
(exists ((?x3 person) (?x4 want) (?x8 situation))
(and (name ?x3 'Mary) (expr ?x4 ?x3) (thme ?x4 ?x8)
(dscr ?x8 (exists ((?x5 marry)
(and (agnt ?x5 ?x3) (thme ?x5 ?x6)))))))))
Another possibility, represented by the sentence Tom believes there is a sailor that Mary wants to marry, could be represented by moving the concept [Sailor] or the corresponding quantifier into the middle context, which represents Tom's belief.
Why Graphs? |
Some algorithms are more efficient on graphs.Some algorithms are more efficient on linear forms.
Ability to mix and match tools that take advantage of different structural properties.
Map cities to nodes and highways to arcs.Show flow through programs, electrical wiring, and plumbing.
Direct mapping to computer networks.
International User Community |
http://www.ksl.stanford.edu/iccs2001/
Bibliography |
This is a revised version of a presentation by John F. Sowa at the meeting of ISO SC32 WG2 on 3 April 2001.
Last Modified: