;;; File: bioex-prototypes.km ;;; Author: Peter Clark ;;; Date: March 2000 ;;; **NOTE** This file requires KM 1.4.0-beta33 or later #| See Working Note 18 "Constructing Scripts Compositionally: A Molecular Biology Example" (http://www.cs.utexas.edu/users/pclark/working_notes) for a discussion of the contents of this KB. WHAT THIS KB DOES: ================== KM> (load-kb "bioex-prototypes.km") KM> (the description-of-leaf-subevents of (a Virus-Visiting)) The arriving. The arriving is before the moving the fusing. The attaching. The attaching is before the piercing the entering. The creating. The creating is before the coalescing the entering. The creating is cotemporal with the inserting. The inserting. The inserting is before the coalescing the entering. The inserting is cotemporal with the creating. The coalescing. The coalescing is before the entering. The coalescing is after the piercing. The moving. The moving is cotemporal with the entering. The moving is after the arriving. The entering. The entering is cotemporal with the moving. The entering is after the fusing. |# ;;; ================================================== (reset-kb) ;;; Declare some inverses... (before has (instance-of (Slot)) (inverse (after))) (cotemporal-with has (instance-of (Slot)) (inverse (cotemporal-with))) (subevents has (instance-of (Slot)) (inverse (superevents))) ;;; [1] This ugly formatting simply prints out the before, cotemporal-with, and ;;; after properties for each leaf subevent of the main event. (every Event has (before ((the before of (the superevents of Self)))) (cotemporal-with ((the cotemporal-with of (the superevents of Self)))) (all-subevents ((the subevents of Self) (the all-subevents of (the subevents of Self)))) (leaf-subevents ((allof (the all-subevents of Self) where (not (the subevents of It))))) (subevents ((the subevents of (the component-events of Self)))) (description-of-leaf-subevents ( (make-sentence (forall (the leaf-subevents of Self) ; [1] (:seq It "." (if (has-value (the before of It)) then (:seq It "is before" (the before of It) ".")) (if (has-value (the cotemporal-with of It)) then (:seq It "is cotemporal with" (the cotemporal-with of It) ".")) (if (has-value (the after of It)) then (:seq It "is after" (the after of It) ".")) (format nil "~%"))))))) ;;; Being lazy over the taxonomy here... (Virus-Visiting has (superclasses (Event))) (Invading has (superclasses (Event))) (Delivering has (superclasses (Event))) (Fusing has (superclasses (Breaking))) (Coalescing has (superclasses (Event))) (Piercing has (superclasses (Event))) (Arriving has (superclasses (Event))) (Breaking has (superclasses (Event))) (Entering has (superclasses (Event))) (Moving has (superclasses (Event))) (Attaching has (superclasses (Event))) (Creating has (superclasses (Event))) (Inserting has (superclasses (Event))) ;;; ---------------------------------------- ;;; VIRUS VISITING (composition) ;;; ---------------------------------------- (a-prototype Virus-Visiting) ;;; Introduce the objects into the prototype: (a Virus with (container-wall ((a Viral-Envelope))) (contents ((a Capsid))) (attachments ((a Transmembrane)))) (a Cell with (container-wall ((a Cell-Membrane))) (contents ((a Cytoplasm)))) ((the Virus-Visiting) has (agent ((the Virus))) (patient ((the Cell))) (component-events ( (a Invading with (agent ((the Capsid))) (patient ((the Cell))) (barrier ((the Cell-Membrane)))) (a Delivering with (agent ((the Virus))) (package ((the Capsid))) (recipient ((the Cell))))))) ((the Invading) has (subevents ((a Arriving) (a Breaking) (a Entering)))) ((the Delivering) has (subevents ((a Arriving) (a Moving)))) ;;; The Arrivings are coreferential ((the Arriving subevents of (the Invading)) == (the Arriving subevents of (the Delivering))) ((the Entering) has (cotemporal-with ((the Moving)))) ;;; In this case, the breaking occurs via fusing ((the Breaking) == (a Fusing)) (end-prototype) ;;; ---------------------------------------- ;;; INVADING ;;; ---------------------------------------- (a-prototype Invading) ((the Invading) has (agent ((a Thing))) (patient ((a Thing))) (barrier ((a Thing with (surrounds ((the patient of Self)))))) (subevents ( (a Arriving with (agent ((the agent of Self))) (location ((the patient of Self))) (before ((the Breaking subevents of Self)))) (a Breaking with (agent ((the agent of Self))) (patient ((the barrier of Self))) (before ((the Entering subevents of Self)))) (a Entering with (agent ((the agent of Self))) (patient ((the patient of Self))))))) (end-prototype) ;;; ---------------------------------------- ;;; DELIVERING ;;; ---------------------------------------- (a-prototype Delivering) ((the Delivering) has (agent ((a Thing))) (package ((a Thing))) (recipient ((a Thing))) (subevents ( (a Arriving with (agent ((the agent of Self))) (destination ((the recipient of Self))) (before ((the Moving subevents of Self)))) (a Moving with (agent ((the agent of Self))) (patient ((the package of Self))) (destination ((the recipient of Self))))))) (end-prototype) ;;; ---------------------------------------- ;;; FUSING ;;; ---------------------------------------- (a-prototype Fusing) ((the Fusing) has (agent ((a Thing))) (patient ((a Thing))) ; the barrier (subevents ( (a Attaching with (agent ((the agent of Self))) (patient ((the patient of Self))) (before ((the Piercing subevents of Self)))) (a Piercing with (agent ((the agent of Self))) (patient ((the container-wall of (the patient of Self)))) (before ((the Coalescing subevents of Self)))) (a Coalescing with (agent ((the agent of Self))) (patients ((the agent of Self) (the patient of Self))))))) (end-prototype) ;;; ---------------------------------------- ;;; PIERCING ;;; ---------------------------------------- (a-prototype Piercing) ((the Piercing) has (agent ((a Thing))) (patient ((a Thing))) (instrument ((a Thing))) ; a pointy thing (subevents ( (a Creating with (agent ((the agent of Self))) (created ((a Portal with (part-of ((the patient of Self)))))) (instrument ((the instrument of Self))) (cotemporal-with ((the Inserting subevents of Self)))) (a Inserting with (agent ((the agent of Self))) (instrument ((the instrument of Self))) (patient ((the patient of Self))))))) (end-prototype) ;;; --- end ---