Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Syntax in YAML

Elements

The following Goal Structuring Notation (GSN) core elements are supported:

Element TypePrefix
GoalG
AssumptionA
JustificationJ
SolutionSn
ContextC
StrategyS
Counter GoalCG
Counter SolutionCSn

Every element is defined by a prefix (as shown in the table above) and an arbitrary identifier then.

Examples

G1:

G-TopLevelGoal:

C_A_certain_context:

Attributes

The only mandatory attribute is text that is the textual contents of the element.

An optional supportedBy gives a list of the supporting arguments. Thus, Goal, Strategy and Solution can be listed here.

An optional inContextOf links Justifications, Contexts or Assumptions.

Every element may have an optional url attribute that creates a navigation link in the resulting SVG. This should support finding information more easily.

Goals and Strategies can be undeveloped i.e., without supporting Goals, Strategies or Solutions. These elements should marked with undeveloped: true, otherwise validation will emit warnings.

Example

G1:
  text: This is a Goal
  supportedBy: [S1]
  inContextOf: [C1]

S1:
  text: This is a Strategy

C1: 
  text: This is a Context

Please see examples/example.gsn.yaml for an example of the used syntax.

Summary

AttributeOptionalNotes
textno
supportedByyes
inContextOfyes
undevelopedyesMutually exclusive to supportedBy.
urlyes
classesyesSee Stylesheets.
nodeTypeyesSee footnote1
rankIncrementyesSee Layout.
horizontalIndexyesSee Layout.
charWrapyesSee Line Breaks.
acpyesSee Confidence Argument Extension.
challengesyesSee Dialectic Extension.
defeatedyesSee Dialectic Extension.

  1. When providing a nodeType you do not need to follow the standard prefix scheme above. Just set nodeType to Goal, Assumption, Justification, Solution, Context, Strategy, CounterGoal and CounterSolution to give the type of the element.