Break down the research process into atomic units to augment the knowledge synthesis process. Create distinct objects for questions, claims, evidence, hypotheses or choose your own to suit your specific needs. These objects can then be related, resurfaced, and reused throughout your research journey to help you efficiently build arguments and create new knowledge.
Follow the instructions below to install the plugin:
To use the plugin prior to its public release on Obsidian's community plugin browser, install BRAT (Beta Reviewer's Auto-update Tester).
- Open Obsidian Settings
- Go to Community Plugins and disable Restricted Mode
- Click "Browse" and search for "BRAT"
- Install BRAT and enable it
- Add the DataCore plugin from the BRAT settings menu or run command "Add a beta plugin for testing"
- Enter the repository URL:
https://github.com/blacksmithgu/datacoreand choose "Latest version" - Check the box for "Enable after installing the plugin"
- Click
Add plugin
- Add the Discourse Graphs plugin from the BRAT settings menu or run command
Add a beta plugin for testing - 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
The Discourse Graphs plugin gives you the ability to add additional semantic structure to your notes via specified page types (nodes) and relation types that model scientific discourse and enable more complex and structured knowledge synthesis work.
The plugin ships with several node types to provide a foundation for your scientific argumentation: Question, Claim, Evidence, and Source, as well as complementary relation types that can be used between them.
To see the default settings or begin adding your own node and relation types, open the Discourse Graphs plugin settings menu by navigating to it in Obsidian's settings menu or using the command: "Open Discourse Graphs settings"
To define a new node type for use in your vault navigate to the Node Types menu and click Add Node Type. Doing so will take you to an editing menu where you can choose the details of your new node type including its title, a description, a template to use, a color to represent that type in your vault, and more.
The Discourse Graphs plugin ships with four default relation types: supports, opposes, informs, and derivedFrom. You can add your own in the Relation Types menu by clicking the Add relation type button and filling out the text fields that define your new type.
With nodes and relation types ready, the last step is to connect them in the Discourse Relations menu. Click Add Relation then choose a source node, relation type, target node, and then click Save Changes. These relations are now ready to use in your notes and canvases.
There are three ways to create nodes in a note:
Turn text into a node with the node type selection menu
- Highlight the text that you want to turn into a node
- Use the hotkey
⌘ + \to open the node type selection menu - Choose your node type
Turn text into a node from the right click menu
- Highlight the text that you want to turn into a node
- Right-click on the highlighted text and navigate to the menu option "Turn into discourse node"
- Choose your node type
Create discourse node command
- Search for and select "Create discourse node" from the command palette
- In the node creation dialog, choose your node type and the title of your new node then click confirm
- Your new node is created and a link to it is added to the location of your cursor
To create a relation between nodes:
- Open the page of the node that you want to create the relation for
- Run the command "Toggle discourse context" which will open a widget in the right sidebar
- From there, click
Add a new relation, choose the desired relation type and the node to link with, then clickConfirm - The relation is now created and can be viewed or removed from this Discourse Context panel
The Discourse Graphs plugin uses tldraw to create canvases in Obsidian. To create a new canvas, run the command "Create new Discourse Graph Canvas".
- Click on the Discourse Graphs icon-button located in the bottom toolbar of the canvas
- Drag the desired node type from the menu that appears in the top-right corner of the interface onto the canvas
- Search for or create a new node with the input field in the node creation modal
- Click
Confirmto add this node to the canvas
- Click on the Discourse Graphs icon-button located in the bottom toolbar of the canvas to show a menu in the top right of the interface
- From the menu, select the desired relation type that you would like to draw between nodes
- With the relation type selected, click and drag from one node card to another to create a relation between those nodes
| Name | Description |
|---|---|
| Bulk identify discourse nodes | Scan vault to identify notes that follow the title pattern to be a node |
| Create discourse node | Opens the node creation dialog modal |
| Create new Discourse Graph canvas | Creates a tldraw canvas |
| Open Discourse Graphs settings | Takes you to the plugin settings menu |
| Open node type menu | Opens menu that allows you to choose the node type that you wish to apply to selected text |
| Switch to Discourse Graph canvas view | Renders tldraw canvas if markdown is displayed |
| Switch to discourse markdown edit | Displays markdown of a rendered tldraw canvas |
| Toggle discourse context | Opens a widget in the sidebar which displays relations of the active node |
For more information about Discourse Graphs, check out our website and documentation.
- Join our growing community of academics, researchers, and thinkers on Slack 💬
- Are you a lab or researcher interested in piloting the plugin with some guidance from the team? Send us an email or DM on Slack!
- Discourse Graphs is open source and open to contributions. If you have an idea for an improvement or identify a bug open an issue here on the repo to start the conversation.