Skip to content

bubbis-poncho/ModelKG

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ModelKG - Graph-Based Modeling Tool

A flexible graph-based modeling tool that supports multiple configurable metamodels for enterprise architecture (ArchiMate), project management, data integrations, and custom domains.

Features

  • Configurable Metamodels: Define your own node types, relationship types, and validation rules
  • Visual Graph Editor: Interactive Streamlit UI for creating and managing graphs
  • ArchiMate Support: Built-in ArchiMate Basic metamodel for enterprise architecture
  • Flexible Storage: JSON-based storage with pluggable backend architecture
  • Interactive Visualization: PyVis-powered graph visualization with metamodel-based styling

Installation

Option 1: Using requirements.txt

pip install -r requirements.txt

Option 2: Using pip install

pip install streamlit pyvis networkx python-dateutil

Quick Start

Run the Streamlit app:

streamlit run src/ui/app.py

The app will open in your browser at http://localhost:8501

Getting Started

  1. First Run: The app comes with the ArchiMate Basic metamodel pre-installed
  2. Create a Graph: Go to "Graph Editor" and create a new graph using the ArchiMate Basic metamodel
  3. Add Nodes: Use the "Add Node" tab to add elements like BusinessActor, ApplicationComponent, etc.
  4. Add Relationships: Use the "Add Relationship" tab to connect nodes with relationships like Serving, Assignment, etc.
  5. Visualize: View your graph in the "Visualization" tab with interactive pan/zoom

Project Structure

  • src/domain/ - Core domain models (Node, Edge, Graph, Metamodel)
  • src/metamodels/ - Metamodel schemas and validation
  • src/application/ - Business logic services
  • src/infrastructure/ - Storage implementations
  • src/visualization/ - Graph rendering
  • src/ui/ - Streamlit user interface
  • data/ - Graph and metamodel storage

Architecture

ModelKG follows clean architecture principles with clear separation between domain logic, application services, and infrastructure:

  • Repository Pattern: Pluggable storage backends (JSON, SQLite, Neo4j)
  • Domain-Driven Design: Graph as aggregate root
  • Service Layer: Business logic orchestration
  • Dependency Injection: Loose coupling between layers

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors