OverviewFilesCommitsIssuesDocsReleasesPeers

opencog-generate / examples / dict-triquad.scm

83 lines · scm ref:
;
; dict-triquad.scm
;
; Triple-Loop test: dictionary that allows four sentences, with three
; cycles, the third one sharing edges.
;
;       +---------------------Xp--------------------+
;       +----------WV------+--------CV-------+      |
;       +---W---+--S-+--I--+--Ce-+--S--+--I--+--Xc--+
;       |       |    |     |     |     |     |      |
;   LEFT-WALL Mary might think John  could fall     .
;
; The other sentences swap "might" for "could".  Two cycles are both
; quads; one with edges (W, S, I, WV), vertexes (LEFT-WALL, Mary,
; might, think). The other has edges (Ce, S, I, CV) and vertexes (think,
; John, could, fall). The two quads share a single common vertex: "think".
;
; The third cycle shares edges with the quads: it is (WV, CV, Xc, Xp)
; with vertexes (LEFT-WALL, think, fall, .)
;
(use-modules (srfi srfi-1))
(use-modules (opencog))

(define dict-triquad (Concept "dict-triquad"))

(for-each
   (lambda (sect) (Member sect dict-triquad))
   (list

		(Section
			(Concept "LEFT-WALL")
			(ConnectorSeq
				(Connector (Concept "Xp") (ConnectorDir "+"))
				(Connector (Concept "WV") (ConnectorDir "+"))
				(Connector (Concept "W") (ConnectorDir "+"))))

		(Section
			(Concept "Mary")
			(ConnectorSeq
				(Connector (Concept "W") (ConnectorDir "-"))
				(Connector (Concept "S") (ConnectorDir "+"))))

		(Section
			(Concept "John")
			(ConnectorSeq
				(Connector (Concept "Ce") (ConnectorDir "-"))
				(Connector (Concept "S") (ConnectorDir "+"))))

		(Section
			(Concept "think")
			(ConnectorSeq
				(Connector (Concept "I") (ConnectorDir "-"))
				(Connector (Concept "WV") (ConnectorDir "-"))
				(Connector (Concept "CV") (ConnectorDir "+"))
				(Connector (Concept "Ce") (ConnectorDir "+"))))

		(Section
			(Concept "fall")
			(ConnectorSeq
				(Connector (Concept "I") (ConnectorDir "-"))
				(Connector (Concept "CV") (ConnectorDir "-"))
				(Connector (Concept "Xc") (ConnectorDir "+"))))

		(Section
			(Concept "might")
			(ConnectorSeq
				(Connector (Concept "S") (ConnectorDir "-"))
				(Connector (Concept "I") (ConnectorDir "+"))))

		(Section
			(Concept "could")
			(ConnectorSeq
				(Connector (Concept "S") (ConnectorDir "-"))
				(Connector (Concept "I") (ConnectorDir "+"))))

		(Section
			(Concept ".")
			(ConnectorSeq
				(Connector (Concept "Xp") (ConnectorDir "-"))
				(Connector (Concept "Xc") (ConnectorDir "-"))))

)) ; End of the for-each loop.