The MindShare
Metadata Format
Every knowledge graph in MindShare is one JSON file: the things on the graph, how they connect, what each kind looks like and what opens when you click. Here is a small, complete example, and what each part means.
{ "dataTypes": { "Published": "datetime", "Pages": "int", "Genre": "typelist", "Language": "string", "Rating": "perc" }, "nodes": [ { "ID": "B1", "name": "Winter Orchard", "type": "Book", "description": "A family returns to the orchard every winter.", "properties": { "Published": "2024-03-01", "Pages": 312, "Genre": "Novel", "Language": "English", "Rating": "92%" } }, { "ID": "B2", "name": "The Lighthouse Ledger", "type": "Book", "description": "A keeper's logbook turns into a village history.", "properties": { "Published": "2021-09-14", "Pages": 248, "Genre": "Novel", "Language": "English", "Rating": "88%" } }, { "ID": "B3", "name": "Borrowed Rivers", "type": "Book", "description": "Essays on the rivers that shaped three cities.", "properties": { "Published": "2022-05-30", "Pages": 196, "Genre": "Essays", "Language": "English", "Rating": "81%" } }, { "ID": "B4", "name": "Paper Comets", "type": "Book", "description": "Two writers trade stories across one long summer.", "properties": { "Published": "2025-06-20", "Pages": 274, "Genre": "Short stories", "Language": "English", "Rating": "95%" } }, { "ID": "A1", "name": "Mara Velde", "type": "Author" }, { "ID": "A2", "name": "Tomas Reyna", "type": "Author" } ], "links": [ { "node1": "B1", "node2": "A1", "name1": "wrote", "name2": "written by", "direction": -1 }, { "node1": "B3", "node2": "A2", "name1": "wrote", "name2": "written by", "direction": -1 }, { "node1": "B4", "node2": "A1", "name1": "wrote", "name2": "written by", "direction": -1 }, { "node1": "B4", "node2": "A2", "name1": "wrote", "name2": "written by", "direction": -1 } ], "visuals": [ { "nodeType": "Book", "shape": "rectangle", "borderColor": "#5be592" }, { "nodeType": "Author", "shape": "circle", "borderColor": "#c95be5" } ], "detailView": [ { "nodeType": "*", "own": "*", "others": [ "Genre", "Published", "Rating" ], "order": [ "Author", "Book" ] } ], "metadata": { "description": "What our book club read this year, and who wrote it.", "sourceLink": "https://example.com/book-club" }, "view": { "x": 0, "y": 0, "z": 180 } }
What the metadata is
The file describes your knowledge graph completely: MindShare reads it in your browser, checks it and draws the graph. Export a graph from MindShare and you get the same format back, so you can edit it, generate it from your own data and import it again.
Only
An Excel import works the same way: the workbook carries this JSON in its first cell.
Only
dataTypes and nodes are required. links, visuals, detailView, metadata (the graph's description and source) and view (where it opens) are optional.An Excel import works the same way: the workbook carries this JSON in its first cell.
Data types dataTypes required
Declares every property you use and the kind of value it holds. It is one map for the whole graph, shared by nodes and links. The type decides how a value is shown, edited and filtered.
- string
- int
- dec
- perc
- bool
- datetime
- typelist
- time
- time[h:m:s]
- time[h:m]
- time[h]
- time[m:s]
- time[m]
- time[s]
- datetime
- A date,
2024-03-01, or a date and time,2024-03-01T18:30:00. - perc
- A percentage, written as text:
"45%". - typelist
- Offers the values already used for that property as choices.
Nodes nodes required
The things on your graph: books, people, processes, ideas. The list needs at least one node.
- ID
- Unique identifier; links point to it.
- name
- The label on the graph.
- type
- Its kind; decides its look and which properties it has.
- description
- Optional text shown in the detail panel.
- properties
- Optional values for the properties declared in
dataTypes. All nodes of one type use the same properties. - position
- Optional
{ "x", "y", "z" }. Leave it out and MindShare lays the graph out for you. - size
- Optional: one number, or
[width, height]. - images
- Optional list of image links shown in the detail panel.
- nodeImage
- Optional image link drawn inside the node when its type's shape is
canvas-image.
Links links
How the nodes connect. A link joins two node IDs and says what the connection means, read from each side.
- node1, node2
- The IDs of the two nodes it joins. Both must exist.
- name1, name2
name1is read from node2: Mara Velde wrote Winter Orchard.name2is read from node1: Winter Orchard written by Mara Velde. Or give onenamefor both sides.- direction
0no arrow (the default) ·1node1 → node2 ·-1node2 → node1 ·2both ways.- properties
- Optional values, typed by
dataTypes. All links use the same properties.
Visuals visuals
How each type of node looks: one entry per type.
- nodeType
- The type it styles.
- shape
circle,rectangle,hex,star,hex[N]for a shape with 5 to 20 corners, orcanvas-imageto draw each node'snodeImage.- borderColor
- The type's colour, e.g.
#5be592.
Detail view detailView
What opens when someone clicks a node. One entry per type, or
"*" for all types; a type's own entry replaces the "*" one.- nodeType
- The type the entry is for, or
"*". - own
- Properties shown for the clicked node: a list, or
"*"for all. - others
- Properties shown when the node appears as a connection of another node.
- order
- The order its connected types are grouped in.
Graph info metadata
About the graph as a whole. It shows in the graph's info, opened from its name at the top left.
- description
- Optional short plain text saying what the graph is about.
- sourceLink
- Optional link to where the data came from.
Opening view view
Where the graph opens: the centre of the screen and the zoom. MindShare writes it when you save, so a graph opens on the part that matters. Leave it out and MindShare chooses the view. A shared link with its own position opens there instead.
- x, y
- The point of the graph in the middle of the screen.
- z
- The zoom, as a distance from the graph: a larger number shows more of it. It must be above
0.
Password
A password is not part of the file. Choose one the first time you press Persist on server; saving over the graph or deleting it then needs the password. There is no reset by e-mail: if it is lost, only the MindShare admin can set a new one. Without a password, anyone with the graph's link can save over it.
Through the API, send it in the
Through the API, send it in the
X-Graph-Password request header when you create the graph, percent-encoded, at least 8 characters. A password field in the JSON is refused.