How to make a knowledge graph

0 votes
asked May 10 in Question / help by WaltHaas (120 points)

I'm trying to learn to use Blender which is complex software with many internal interactions.  To the frustrated student, it seems as if everything affects everything else.  To make life more difficult, basic words like "geometry" are often used to describe two or more different concepts with just enough similarity to be confusing.  So, as a good student, I'm taking notes in an effort to sort out what interacts with what.  Conceptually this seems like a knowledge graph. Plantuml doesn't have an explicit knowledge graph type, so I've been trying to fake it by using a state diagram.  In some ways an ER diagram or mind map might seem like a more logical base but the graph of Blender internal interactions is messier than that.  So far what I have come up with to start is:

@startuml
title = Render Baking
header
Blender 4.1
May 10 2024
endheader
hide empty description
state Properties as "= Properties"
url of Properties is [[https://docs.blender.org/manual/en/latest/editors/properties_editor.html]]
state "Shader editor" as shader
state shader as "= Shader Editor"
url of shader is [[https://docs.blender.org/manual/en/latest/editors/shader_editor.html]]
state Outliner as "= Outliner"
url of Outliner is [[https://docs.blender.org/manual/en/latest/editors/outliner/introduction.html]]
Properties --> Scene : has property
state Scene
Scene -->render : has function
state "Render engine" as render
state Cycles
render --> Cycles : has engine
state "Render Baking" as bake #yellow
url of bake is [[https://docs.blender.org/manual/en/latest/render/cycles/baking.html]]
note right of bake
  FIXME indicate that if the
  object uses multires, select
  bake with multires
end note
Cycles --> bake : has function
state Mesh
bake --> Mesh : requires
state t <<choice>>
state Target
shader --> node : contains
state "Image texture node" as node
  node : node must be the active\nnode in the shader editor
  node : \nimage must be defined and refer\nto an existing or new image
note left of node
  FIXME margin
  specification
end note
state "Color Attributes" as attributes
Target --> t
t --> node : Image texture node
t --> attributes : Color attributes
bake --> Target : requires
state "UV map" as map
object --> map : has
bake --> map : requires
state "source object" as object
object : must be the active object\nand render must be enabled
Outliner --> object : has object
object --> Mesh : has
state Material
Mesh --> Material : requires
Properties --> Material : has property
@enduml

leading to this:

I'm looking for suggestions to improve this.  In particular there are three top level abstractions indicated with bold type, and the diagram would be more readable if they could be hoisted to the top.  Ideas are welcome.

1 Answer

0 votes
answered Jun 1 by chris (2,780 points)

Try a work breakdown structure graph, you can add arrows to link but you control the order of the things:

wbs diagram

commented Jun 1 by WaltHaas (120 points)
Thanks for the suggestion.  However I need to label the relationships between  boxes.  I tried to do that wit the WBS graph but couldn't figure out how.
...