The Discourse Graph extension enables Obsidian users to seamlessly add additional semantic structure to their notes, including specified page types and link types that model scientific discourse, to enable more complex and structured knowledge synthesis work, such as a complex interdisciplinary literature review, and enhanced collaboration with others on this work.
For more information about Discourse Graphs, check out our website at https://discoursegraphs.com
- Open Obsidian Settings
- Go to Community Plugins and disable Restricted Mode
- Click "Browse" and search for "BRAT"
- Install BRAT and enable it
- Open Obsidian Settings
- Go to "Community Plugins" → "BRAT"
- Click "Add Beta Plugin"
- Enter the repository URL:
https://github.com/blacksmithgu/datacoreand choose "Latest version" - Check the box for "Enable after installing the plugin"
- Click "Add plugin"
-
Open Obsidian Settings
-
Go to "Community Plugins" → "BRAT"
-
Enter the repository URL:
https://github.com/DiscourseGraphs/discourse-graph-obsidianand choose "Latest version" -
Check the box for "Enable after installing the plugin"
-
Click "Add Plugin"
- Open Obsidian Settings
- Navigate to the "Discourse Graphs" settings tab
-
Under "Node Types," click "Add Node Type"
-
Enter a name for your node type (e.g., "Claim", "Evidence", "Question")
-
Add the format for your node type. eg a claim node will have page title "CLM - {content}"
-
Template (Optional): Select a template from the dropdown to automatically apply template content when creating nodes of this type
- Templates are sourced from Obsidian's core Templates plugin
- Ensure you have the Templates plugin enabled and configured with a template folder
- The dropdown will show all available template files from your configured template folder
- Click "Save Changes"
-
To create a new template:
- Click "Save Changes"
- Under "Relation Types," click "Add Relationship Type"
- A relation type is a kind of relationship that can exist between any two node types
- Enter a name for your relationship (e.g., "supports", "contradicts")
- Enter the complement label (e.g., "is supported by", "is contradicted by")
- Click "Save Changes"
- Open the Discourse Relations tab in the Discourse Graph settings
- Choose Source Node Type, Relation Type, and Target Node Type
- Once you see the source, relation, and target selected:
E.g: this means that Claim nodes can supports Questions nodes
- Click "Save changes"
-
There are two ways you can create a node from here:
- Using command keys: Cmd + \
- As you press these keys, the Node Menu will open up as a popup- Right-click menu:
- Click on the telescope icon on the left bar
- Alternatively, you can set a hotkey to toggle the Discourse Context view or access it via the Command Palette
- Open a note that you want to create a relationship from
- Open the Discourse Context
- Click "Add a new relation"
- The dropdown that shows Relationship Types will be all available relations that you have defined in the setings.
It will also show you what node type you can link with - Search the nodes you want to link with by the title
- Click "Confirm", now a new relationship has been created





















