MCPcopy Index your code
hub / github.com/KnowageLabs/Knowage-Server

github.com/KnowageLabs/Knowage-Server @v9.0.8

Chat with this repo
repository ↗ · DeepWiki ↗ · release v9.0.8 ↗ · + Follow
51,122 symbols 182,399 edges 4,438 files 16,575 documented · 32%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

License: APGL Docker badge

Documentation badge

KNOWAGE is an open-source analytics and business intelligence suite designed to integrate traditional and big/cloud data sources, transforming them into valuable insights.

Its features, such as data federation, mash-up, data/text mining and advanced data visualization, give comprehensive support to rich and multi-source data analysis.

| :books: Documentation | :page_facing_up: Site | :whale: Docker Hub | :dart: Roadmap |

Contents

Main functionalities

Name Description EE only
Virtual Assistant KNOWAGE provides a virtual assistant that, by integrating AI tools (EngGpt), supports users in performing analyses and navigating information
Online Dashboard The dashboard is an interactive tool designed for visualizing information retrieved from data sets
Reporting The advanced reporting capabilities, enabling users to create, customize, and distribute interactive reports based on diverse data sources.
OLAP This function allows users to explore multidimensional data interactively, enabling drill-down, slice-and-dice, and pivot operations for in-depth analysis
KPI Knowage enables KPI management by defining, monitoring, and visualizing key performance indicators to track business objectives and performance trends
Data Preparation Knowage provides data preparation tools to clean, transform, and enrich raw data, ensuring quality and consistency for advanced analytics and reporting.
Python integration Knowage supports Python integration, allowing users to execute scripts, apply advanced analytics, and embed custom algorithms directly within the BI environment
Dossier Knowage allows users to create dossiers by combining multiple reports and documents into a single, organized and interactive view for comprehensive analysis

KNOWAGE supports a modern vision of data analytics, providing new self-service capabilities that give autonomy to the end-user, now able to build his own analysis and explore his own data space, also combining data that come from different sources.

Editions

KNOWAGE is available on two versions:

  • the community edition (CE), with the whole set of analytical capabilities, it is part of the software stack managed by OW2 as SpagoBI was;
  • the enterprise edition (EE), provided and guaranteed directly from Engineering Group - the leading Italian software and services company - with a commercial offering and some facilities for the administrator.

This repository contains the source code of the Community Edition.

Install

Information about how to install KNOWAGE are available on official documentation on Read the Docs within Installation & Administration Manuals.

A Dockerfile is also available for your use - further information can be found here.

Usage

Information about how to use KNOWAGE is available on official documentation on Read the Docs within User Guide and Functionalities sections.

Contributions

KNOWAGE is open to external contributions. You can submit your contributions into this repository through pull requests. Before starting, there are a few things you should be aware of:

  • This project is released with a Contributor Code of Conduct. By participating in this project, you agree to abide by its terms.
  • When you open a pull request, you must sign the Individual Contributor License Agreement by stating in a comment "I have read the CLA Document and I hereby sign the CLA"
  • Please ensure that your contribution passes all tests. If there are test failures, you will need to address them before we can merge your contribution.

Documentation

The official documentation is available at Read the Docs.

More

Please visit the project website for information about the Enterprise Edition.

Build

To build KNOWAGE you need: - JDK 17 - Maven 3 - NodeJS 22 or greater

N.B.: You need to add the paths containing your java, node and npm commands to your PATH environment variable: see the official documentation of your operating system.

The main project is knowage-ce-parent and from within that directory you need to launch this command in the shell:

mvn package

At the end of the build you will find all the WAR files at the following paths: - knowage/target/knowage.war - knowage-api/target/knowage-api.war - knowage-vue/target/knowage-vue.war - knowagebirtreportengine/target/knowagebirtreportengine.war - knowagecockpitengine/target/knowagecockpitengine.war - knowagejasperreportengine/target/knowagejasperreportengine.war - knowagekpiengine/target/knowagekpiengine.war - knowagemeta/target/knowagemeta.war - knowageqbeengine/target/knowageqbeengine.war - knowagetalendengine/target/knowagetalendengine.war - knowagewhatifengine/target/knowagewhatifengine.war

There is no need to do anything in order to build KNOWAGE-Python module: you can just take the source code and run it as a standalone program (refer to the official docs: https://knowage-suite.readthedocs.io/en/master/installation-guide/python-installation.html).

Testing

To run tests, type

mvn test -DskipTests=false

from knowage-ce-parent folder.

This project is tested with Browserstack.

License

AGPL © 2021 Engineering Ingegneria Informatica S.p.A.

Extension points exported contracts — how you extend this code

ILovDetail (Interface)
Defines methods to manage a lov [7 implementers]
knowagedao/src/main/java/it/eng/spagobi/behaviouralmodel/lov/bo/ILovDetail.java
IFormulaDAO (Interface)
Inteface for retrieving formulas @author dpirkovic [10 implementers]
knowageqbeengine/src/main/java/it/eng/spagobi/engines/qbe/query/formula/DAO/IFormulaDAO.java
IWhatIfTemplateParser (Interface)
@author Zerbetto Davide (davide.zerbetto@eng.it ) [14 implementers]
knowagewhatifengine/src/main/java/it/eng/spagobi/engines/whatif/template/IWhatIfTemplateParser.java
IJobRunner (Interface)
@author Andrea Gioia [16 implementers]
knowagetalendengine/src/main/java/it/eng/spagobi/engines/talend/runtime/IJobRunner.java
IModelSerializer (Interface)
@author Andrea Gioia (andrea.gioia@eng.it) [10 implementers]
knowagemeta/src/test/java/it/eng/knowage/serialization/IModelSerializer.java
BusinessViewInnerJoinRelationship (Interface)
<!-- begin-user-doc --> A representation of the model object ' Business View Inner Join Relationship '. <! [7 implementers]
spagobi-metamodel-core/src/main/java/it/eng/spagobi/meta/model/business/BusinessViewInnerJoinRelationship.java
ICockpitTemplateRetriver (Interface)
@author Dragan Pirkovic [23 implementers]
knowage-core/src/main/java/it/eng/knowage/document/cockpit/template/ICockpitTemplateRetriver.java
Placeholder (Interface)
Placeholder interface for the data matrix into the crosstab. @author Marco Libanori [12 implementers]
knowagecockpitengine/src/main/java/it/eng/knowage/engine/cockpit/api/crosstable/placeholder/Placeholder.java

Core symbols most depended-on inside this repo

debug
called by 8175
knowage-api/src/main/java/org/apache/log4j/LogMF.java
add
called by 4079
spagobi-cwm/src/main/java/it/eng/spagobi/meta/cwm/jmi/spagobi/meta/instance/SlotValue.java
get
called by 3667
knowagewhatifengine/src/main/java/mondrian/rolap/SqlStatement.java
error
called by 3042
knowage-api/src/main/java/org/apache/log4j/LogMF.java
put
called by 3018
knowage-core/src/main/java/it/eng/spagobi/tools/dataset/cache/ICache.java
toString
called by 2943
qbecore/src/main/java/it/eng/qbe/model/structure/IModelEntity.java
put
called by 2661
knowageutilsjson/src/main/java/org/json/JSONObject.java
append
called by 2478
knowageutilsjson/src/main/java/org/json/JSONObject.java

Shape

Method 39,294
Function 7,455
Class 3,417
Interface 878
Enum 73
Route 5

Languages

Java85%
TypeScript15%
Python1%

Modules by API surface

knowageutils/src/main/java/it/eng/knowage/parsers/SQLiteParser.java1,354 symbols
knowageutils/src/main/java/it/eng/knowage/parsers/MySqlParserBaseListener.java1,077 symbols
knowageutils/src/main/java/it/eng/knowage/parsers/MySqlParserListener.java1,073 symbols
knowage/src/main/webapp/js/lib/openlayers/4.6.4/ol.js967 symbols
knowage/src/main/webapp/js/lib/openlayers/v6.15.1-dist/ol.js940 symbols
knowage/src/main/webapp/js/lib/openlayers/3.x.x/ol.js912 symbols
knowage/src/main/webapp/js/lib/angular/angular-material_1.1.0/angular-material.js801 symbols
knowagecockpitengine/src/main/webapp/js/lib/d3/d3.js563 symbols
knowageutils/src/main/java/it/eng/knowage/parsers/MySqlParserVisitor.java537 symbols
knowageutils/src/main/java/it/eng/knowage/parsers/MySqlParserBaseVisitor.java537 symbols
knowage/src/main/webapp/js/lib/angular/angular_1.4/angular.js495 symbols
knowagecockpitengine/src/main/webapp/js/lib/d3/d3.min.js383 symbols

Datastores touched

(mysql)Database · 1 repos
foodmart_keyDatabase · 1 repos
knowagecacheDatabase · 1 repos
ds_cacheDatabase · 1 repos
foodmartDatabase · 1 repos
knowageDatabase · 1 repos
spagobi_testrDatabase · 1 repos
spagobi_testrDatabase · 1 repos

For agents

$ claude mcp add Knowage-Server \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact