δΈζ | English
KWeaver is an open-source AI application platform for decision support, designed for development and use around business scenarios.
- π Documentation - Complete documentation for Ontology Engine
- π€ Contributing - Guidelines for contributing to the project
- π License - Apache License 2.0
- π Report Bug - Report a bug or issue
- π‘ Request Feature - Suggest a new feature
AI applications are intelligent decision programs for specific business scenarios. Based on the ADP architecture, they integrate core capabilities such as Data Agents and business knowledge networks in the business domain. Through customizable Chat and Board visualization methods, they achieve end-to-end business closed loops from inquiry, analysis, suggestion, action to feedback.
The current open-source version is the Ontology Engine. For documentation, please click here.
More components will be open-sourced in the future. Stay tuned!
The Ontology Engine is a distributed business knowledge network management system developed in Go, providing ontology modeling, data management, and intelligent query capabilities. The system adopts a microservices architecture, divided into ontology management and ontology query modules, supporting the construction, storage, and querying of large-scale knowledge networks.
- Ontology Modeling & Management: Supports definition and management of object types, relation types, and action types
- Knowledge Network Construction: Build multi-domain knowledge networks with complex semantic relationships
- Intelligent Query Engine: Provides powerful knowledge network query capabilities, supporting complex relationship queries
- Data Integration: Integrates multiple data sources through the VEGA virtualization engine
- Distributed Architecture: Microservices-based design supporting horizontal scaling
- OpenSearch Integration: Integrated OpenSearch for efficient search capabilities
kweaver/
βββ ontology/
βββ ontology-manager/ # Ontology Management Module
βββ ontology-query/ # Ontology Query Module
Responsible for creating, editing, and managing ontology models. Main features include:
- Knowledge Network Management: Build and manage business knowledge networks
- Object Type Management: Define and manage object types in knowledge networks
- Relation Type Management: Define and manage relation types in knowledge networks
- Action Type Management: Define executable operations and actions
- Job Scheduling: Background task and job management
Provides efficient knowledge graph query services. Main features include:
- Model Query: Query and browse ontology models
- Graph Query: Complex relationship path queries
- Semantic Search: Semantic-based intelligent search
- Data Retrieval: Multi-dimensional data filtering and retrieval
- Go 1.23.0 or higher
- MariaDB 11.4+ or DM8 (for data storage)
- OpenSearch 2.x (for search and indexing)
- Docker (optional, for containerized deployment)
- Kubernetes (optional, for cluster deployment)
- Clone the repository
git clone https://github.com/AISHU-Technology/kweaver.git
cd kweaver/ontology- Configure environment
Each module has its own configuration file:
ontology-manager/server/config/ontology-manager-config.yamlontology-query/server/config/ontology-query-config.yaml
- Run the Ontology Manager module
cd ontology-manager/server
go mod download
go run main.goThe service will start at http://localhost:13014
- Run the Ontology Query module
cd ../ontology-query/server
go mod download
go run main.goThe service will start at http://localhost:13018
Build images
# Build Ontology Manager module
cd ontology-manager
docker build -t ontology-manager:latest -f docker/Dockerfile .
# Build Ontology Query module
cd ../ontology-query
docker build -t ontology-query:latest -f docker/Dockerfile .Run containers
# Run Ontology Manager module
docker run -d -p 13014:13014 --name ontology-manager ontology-manager:latest
# Run Ontology Query module
docker run -d -p 13018:13018 --name ontology-query ontology-query:latestThe project provides Helm charts for Kubernetes deployment:
# Deploy Ontology Manager module
helm3 install ontology-manager ontology-manager/helm/ontology-manager/
# Deploy Ontology Query module
helm3 install ontology-query ontology-query/helm/ontology-query/The system provides complete RESTful API documentation:
The system supports multiple databases:
- MariaDB: Primary data storage
- DM8: DM8 database support
- OpenSearch: Search engine and data analysis
Database migration scripts are located at:
ontology/ontology-manager/migrations/ontology/ontology-query/migrations/
- Logging System: Integrated structured logging with multi-level log recording
- Distributed Tracing: OpenTelemetry-based distributed tracing
- Health Checks: Health check endpoints provided
server/
βββ common/ # Common configuration and constants
βββ config/ # Configuration files
βββ drivenadapters/ # Data access layer
βββ driveradapters/ # Interface adapter layer
βββ errors/ # Error definitions
βββ interfaces/ # Interface definitions
βββ locale/ # Internationalization
βββ logics/ # Business logic layer
βββ main.go # Application entry point
βββ version/ # Version information
βββ worker/ # Background tasks
- Modular Design: Follow clean architecture principles
- Interface Isolation: Clearly define interfaces and implementations
- Error Handling: Unified error handling mechanism
- Logging Standards: Structured logging
- Test Coverage: Unit tests and integration tests
We welcome contributions! Please see our Contributing Guide for details on how to contribute to this project.
Quick start:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Create a Pull Request
- v6.1.0: Current version, based on Go 1.23
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
- Technical Support: AISHU ADP R&D Team
- Documentation: Ontology Engine Documentation
- Contributing: Contributing Guide
- Issues: GitHub Issues
- License: Apache License 2.0
Note: This is an enterprise-level internal project. Code and documentation may contain specific business logic and configurations. Please adjust according to your actual environment.