DEV Community

Daniel Ioni
Daniel Ioni

Posted on

Knowledge πŸš€ MyZubster Knowledge Graph: MONERO / ART-001

πŸš€ MyZubster Knowledge Graph: MONERO / ART-001

We have introduced an interactive Knowledge Graph experience for the MyZubster ecosystem.

The goal is to transform isolated knowledge pages into a connected network where people can explore articles, sources, concepts, and related topics through stable, shareable links.

πŸ”— Open the main knowledge node:

https://myzubster-knowledge.vercel.app/conoscenze?domain=MONERO&id=ART-001

What we built

The first implementation introduces a dedicated /conoscenze route and an interactive graph for the MONERO knowledge domain.

The initial graph contains:

β€’ ART-001 β€” Introduction to Monero

β€’ ART-002 β€” Privacy in Monero

β€’ ART-003 β€” Monero Transactions

β€’ SRC-001 β€” Monero documentation

β€’ CON-PRIVACY β€” Privacy

β€’ CON-OSS β€” Open Source

Every article is identified by two stable values:

domain + article ID
Enter fullscreen mode Exit fullscreen mode

For example:

domain = MONERO
id = ART-001
Enter fullscreen mode Exit fullscreen mode

These values produce the public URL:

https://myzubster-knowledge.vercel.app/conoscenze?domain=MONERO&id=ART-001

This structure allows MyZubster to support many independent knowledge domains without creating a different application for every subject.

Future examples may include:

MONERO / ART-001
KEFIR / ART-001
PERMACULTURE / ART-001
SOUND-SYSTEM / ART-001
CYBERSECURITY / ART-001
Enter fullscreen mode Exit fullscreen mode

How to use the Knowledge Graph

  1. Open the main knowledge page:

https://myzubster-knowledge.vercel.app/conoscenze?domain=MONERO&id=ART-001

  1. Select a node in the graph.

The information panel will display:

β€’ node type;

β€’ identifier;

β€’ title;

β€’ description;

β€’ available destination or source.

  1. Use the filters to focus the graph.

The available filters are:

β€’ All;

β€’ Articles;

β€’ Sources;

β€’ Concepts.

  1. Open a related article.

Select an article node and use the β€œOpen article” action. The page will load the corresponding domain + id URL.

You can also open articles directly:

πŸ” Privacy in Monero β€” ART-002

https://myzubster-knowledge.vercel.app/conoscenze?domain=MONERO&id=ART-002

πŸ”„ Monero Transactions β€” ART-003

https://myzubster-knowledge.vercel.app/conoscenze?domain=MONERO&id=ART-003

  1. Open a source.

Select a source node to inspect its information, then follow the external source link when available.

  1. Share the current knowledge node.

Copy the complete URL from the browser. Because the domain and article ID are part of the address, another person can open the same node directly.

How the system works

The current implementation uses React 18 and structured knowledge records inside the MyZubster frontend.

The application reads the URL parameters:

/conoscenze?domain=MONERO&id=ART-001
Enter fullscreen mode Exit fullscreen mode

It then uses MONERO:ART-001 as the internal lookup key.

The selected article provides:

β€’ its title and summary;

β€’ its tags;

β€’ relationships with other articles;

β€’ connected sources;

β€’ connected concepts.

The interface converts this structured record into graph nodes and connections.

The interaction flow is:

Public URL
β†’ domain and article ID
β†’ structured knowledge record
β†’ graph nodes and relationships
β†’ interactive exploration
β†’ related knowledge
Enter fullscreen mode Exit fullscreen mode

The graph is therefore generated from knowledge data instead of being permanently hard-coded into the visual layout.

How developers can add a new article

  1. Open the knowledge data file:
frontend/src/data/knowledge.js
Enter fullscreen mode Exit fullscreen mode
  1. Add a new record using a unique DOMAIN:ARTICLE-ID key.

Example:

'MONERO:ART-004': {
  id: 'ART-004',
  domain: 'MONERO',
  title: 'New Monero Article',
  summary: 'A concise explanation of the topic.',
  tags: ['monero', 'documentation'],
  relations: [
    {
      id: 'ART-001',
      label: 'Introduction'
    }
  ],
  sources: [
    {
      id: 'SRC-002',
      title: 'Source title',
      url: 'https://example.org/source'
    }
  ],
  concepts: [
    {
      id: 'CON-EXAMPLE',
      title: 'Example concept'
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode
  1. Connect the new article to an existing article.

Add a relation to the relevant record:

relations: [
  {
    id: 'ART-004',
    label: 'New topic'
  }
]
Enter fullscreen mode Exit fullscreen mode
  1. Run the frontend build:
cd frontend
npm run build
Enter fullscreen mode Exit fullscreen mode
  1. Check that the article opens correctly:
/conoscenze?domain=MONERO&id=ART-004
Enter fullscreen mode Exit fullscreen mode
  1. Commit the source files and publish the change through the normal GitHub and Vercel workflow.

How contributors should prepare knowledge

Before adding a new record, contributors should provide:

β€’ a unique article ID;

β€’ a clear title;

β€’ a concise summary;

β€’ the correct knowledge domain;

β€’ relevant tags;

β€’ relationships with existing articles;

β€’ reliable sources;

β€’ clearly named concepts.

Contributors should not present unsupported claims as verified knowledge. Sources, limitations, review status, and uncertainty should remain visible whenever relevant.

A relationship between two nodes means that the subjects are connected. It does not automatically prove that a claim is correct, scientifically validated, or endorsed by another organization.

Technical implementation

The feature was implemented in the MyZubster React frontend with:

β€’ a new KnowledgeGraphPage component;

β€’ responsive graph styling;

β€’ structured MONERO knowledge data;

β€’ /conoscenze and /knowledge routes;

β€’ filters for different node types;

β€’ navigation between related articles;

β€’ external source links;

β€’ mobile and desktop layouts.

The production build completed successfully before the changes were merged into the main branch.

πŸ’» Source repository:

https://github.com/MyZubster-Ecosystem/myzubster

πŸ”Ž Implementation commit:

https://github.com/MyZubster-Ecosystem/myzubster/commit/43c7d966

What comes next

The next development phase can move the structured knowledge records into a dedicated API or versioned knowledge repository.

That evolution would allow:

β€’ automatic graph generation across many domains;

β€’ server-side validation;

β€’ collaborative editing;

β€’ article review states;

β€’ source provenance;

β€’ backlinks between articles;

β€’ search and discovery;

β€’ larger multi-domain graphs;

β€’ integration with Zorgax and other MyZubster services.

The long-term direction is a shared knowledge network where community members can learn, document, verify, connect, and transmit knowledge without losing its sources or context.

Explore the first node:

https://myzubster-knowledge.vercel.app/conoscenze?domain=MONERO&id=ART-001

MyZubster #KnowledgeGraph #OpenSource #React #Monero #KnowledgeManagement #WebDevelopment #CommunityKnowledge #LinkedData

Top comments (0)