next up previous contents index
Next: Deleting Information Up: SNePSUL Commands Previous: Operating on Contexts

Building Networks

 

The commands of this section add information to the network, either in the form of a node, a node and some arcs, or an assertion tag. It is not possible to add just an arc to the network. Isolated nodes cannot be added to the network, so the commands # and $ can only be used within the lexical context of a build, assert, or add.

We will use the term wire to mean a labelled arc and the node it points to. So a molecular node has a set of wires coming out of it.

(build {relation nodeset}tex2html_wrap_inline4051) 
(assert {relation nodeset}tex2html_wrap_inline4051 context-specifier) 
(add {relation nodeset}tex2html_wrap_inline4051 context-specifier) 
  Puts a node in the network with an arc labelled relation to each node in the following nodeset, and returns a singleton set containing the built node. The new node is added to the value of the SNePSUL variable nodes. If this new node would look exactly like an already existing node, i.e., would have exactly the same set of wires emanating from it, then no node is built, but a singleton set containing the extant node is returned. build creates an unasserted node. assert is just like build, but creates the node as an asserted node (an hypothesis), and adds it to the hypothesis set of the context specified by context-specifier. add is just like assert, but, in addition, triggers forward inference. Note: where relation is specified in the syntax, neither a converse relation nor a non-unit path is allowed. build is not a top-level SNePSUL command in SNePS 2.

(activate {nodeset}tex2html_wrap_inline4051 context-specifier) 
Finds all the nodes that dominate the nodes in nodeset, and that are asserted in the context specified by context-specifier, and triggers forward inference on them.

(!node context-specifier)  
A postfix command that asserts node in the context specified by context-specifier, and returns a singleton set containing node.

tabular564

#symbol 
A macro command that creates a new base node, assigns a singleton set containing the new node as the value of the SNePSUL variable symbol, and returns that set. This may not be used at the top-level SNePSUL loop, since that would create an isolated node. (Note: The # macro is smart enough to guess whether you want to create a base node or whether the standard COMMON LISP dispatching macro is intended. This means that the #! ``with-snepsul'' syntax is available at the SNePS top level, as well as in GATN grammars, etc., and that other common uses, such as #' for functions, are available too.)

$symbol 
A macro command that creates a new variable node, assigns a singleton set containing the new node as the value of the SNePSUL variable symbol, and returns that set. This may not be used at the top-level SNePSUL loop, since that would create an isolated node.


next up previous contents index
Next: Deleting Information Up: SNePSUL Commands Previous: Operating on Contexts

John Francis Santore
Fri May 14 11:18:57 EDT 1999