Does DIAdem support Knowledge Graphs?

Updated Oct 22, 2025

Reported In

Software

  • DIAdem

Issue Details

Does DIAdem support Knowledge Graphs?

Solution

No, DIAdem does not have built-in support for Knowledge Graphs. However, it is possible to create and visualize a Knowledge Graph using Python scripting. For example, the following libraries are required:

  • networkx: for creating and manipulating graph structures
  • matplotlib: for visualizing graphs
  • pywin32: for interfacing with DIAdem via COM

# --------------------------------------------------------------------
# -- Python スクリプトファイル
# -- 作成日: 2025/10/22 14:56:54
# -- 作成者: username
# -- コメント: .
# --------------------------------------------------------------------
import sys
if 'DIAdem' in sys.modules:
    from DIAdem import Application as dd, Utils as ddu

    if dd.AppEnableScriptDebugger:
        import debugpy
        debugpy.configure(python = ddu.get_python_exe_path())
        if not debugpy.is_client_connected():
            try:
                debugpy.listen(5678)
            except:
                pass
            debugpy.wait_for_client()

# --------------------------------------------------------------------
# -- ユーザコードの始まり --
import networkx as nx
import matplotlib.pyplot as plt

# Create a graph
G = nx.Graph()

# Add nodes with attributes
G.add_node("Sensor A", label="Temperature")
G.add_node("Sensor B", label="Pressure")

# Add edge with relationship
G.add_edge("Sensor A", "Sensor B", relation="correlates")

# Prepare labels for nodes
node_labels = {node: f"{node}\n({data['label']})" for node, data in G.nodes(data=True)}

# Draw the graph
pos = nx.spring_layout(G)
nx.draw(G, pos, with_labels=False, node_color='lightblue', edge_color='gray', node_size=3000, font_size=10)
nx.draw_networkx_labels(G, pos, labels=node_labels)

# Draw edge labels
edge_labels = nx.get_edge_attributes(G, 'relation')
nx.draw_networkx_edge_labels(G, pos, edge_labels=edge_labels)

# Show the plot
plt.show()

To use DIAdem's scripting functionality, a DIAdem Professional license is required.