Skip to content

Commit ca328f8

Browse files
authored
Merge pull request #74 from JohT/feature/bring-documentation-up-to-date
Bring documentation up-to-date
2 parents a7610be + 12430c7 commit ca328f8

File tree

2 files changed

+32
-10
lines changed

2 files changed

+32
-10
lines changed

README.md

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,27 +13,37 @@ Contained within this repository is a comprehensive and automated code graph ana
1313
- Comprehensive reports including dependencies, metrics and graph structure visualization
1414
- Automated reference document generation
1515
- Runtime and library independent automation using [shell scripts](./scripts/SCRIPTS.md)
16+
- Tested on MacOS (zsh), Linux (bash) and Windows (Git Bash)
1617
- Comprehensive list of [Cypher queries](./cypher/CYPHER.md)
1718
- Example analysis for [AxonFramework](https://github.com/AxonFramework/AxonFramework)
1819

1920
### 📖 Jupyter Notebook Reports
2021

2122
Here is an overview of reports made with [Jupyter Notebooks](https://jupyter.org). For a detailed reference see [Jupyter Notebook Report Reference](#📈-jupyter-notebook-report-reference) below.
2223

23-
- [External Dependencies](./results/AxonFramework-4.8.0/external-dependencies/ExternalDependencies.md) contains detailed information about external library usage ([Notebook](./jupyter/ExternalDependencies.ipynb))
24-
- [Object Oriented Design Quality Metrics](./results/AxonFramework-4.8.0/object-oriented-design-metrics/ObjectOrientedDesignMetrics.md) is based on [OO Design Quality Metrics by Robert Martin](https://www.semanticscholar.org/paper/OO-Design-Quality-Metrics-Martin-October/18acd7eb21b918c8a5f619157f7e4f6d451d18f8) ([Notebook](./jupyter/ObjectOrientedDesignMetrics.ipynb))
25-
- [Overview](./results/AxonFramework-4.8.0/overview/Overview.md) contains overall statistics and details about methods and their complexity. ([Notebook](./jupyter/Overview.ipynb))
26-
- [Internal Dependencies](./results/AxonFramework-4.8.0/internal-dependencies/InternalDependencies.md) is based on [Analyze java package metrics in a graph database](https://joht.github.io/johtizen/data/2023/04/21/java-package-metrics-analysis.html) including cyclic dependencies ([Notebook](./jupyter/InternalDependencies.ipynb))
27-
- [Visibility Metrics](./results/AxonFramework-4.8.0/visibility-metrics/VisibilityMetrics.md) is based on [Visibility Metrics and the Importance of Hiding Things](https://dzone.com/articles/visibility-metrics-and-the-importance-of-hiding-th) ([Notebook](./jupyter/VisibilityMetrics.ipynb))
28-
- [Wordcloud](./results/AxonFramework-4.8.0/wordcloud/Wordcloud.md) contains a visual representation of package and class names ([Notebook](./jupyter/Wordcloud.ipynb))
24+
- [External Dependencies](./results/AxonFramework-4.8.0/external-dependencies/ExternalDependencies.md) contains detailed information about external library usage ([Notebook](./jupyter/ExternalDependencies.ipynb)).
25+
- [Internal Dependencies](./results/AxonFramework-4.8.0/internal-dependencies/InternalDependencies.md) is based on [Analyze java package metrics in a graph database](https://joht.github.io/johtizen/data/2023/04/21/java-package-metrics-analysis.html) and also includes cyclic dependencies ([Notebook](./jupyter/InternalDependencies.ipynb)).
26+
- [Method Metrics](./results/AxonFramework-4.8.0/method-metrics/MethodMetrics.md) shows how the effective number of lines of code and the cyclomatic complexity are distributed across the methods in the code ([Notebook](./jupyter/MethodMetrics.ipynb)).
27+
- [Node Embeddings](./results/AxonFramework-4.8.0/node-embeddings/NodeEmbeddings.md) shows how to generate node embeddings and to further reduce their dimensionality to be able to visualize them in a 2D plot ([Notebook](./jupyter/NodeEmbeddings.ipynb)).
28+
- [Object Oriented Design Quality Metrics](./results/AxonFramework-4.8.0/object-oriented-design-metrics/ObjectOrientedDesignMetrics.md) is based on [OO Design Quality Metrics by Robert Martin](https://www.semanticscholar.org/paper/OO-Design-Quality-Metrics-Martin-October/18acd7eb21b918c8a5f619157f7e4f6d451d18f8) ([Notebook](./jupyter/ObjectOrientedDesignMetrics.ipynb)).
29+
- [Overview](./results/AxonFramework-4.8.0/overview/Overview.md) contains overall statistics and details about methods and their complexity. ([Notebook](./jupyter/Overview.ipynb)).
30+
- [Visibility Metrics](./results/AxonFramework-4.8.0/visibility-metrics/VisibilityMetrics.md) is based on [Visibility Metrics and the Importance of Hiding Things](https://dzone.com/articles/visibility-metrics-and-the-importance-of-hiding-th) ([Notebook](./jupyter/VisibilityMetrics.ipynb)).
31+
- [Wordcloud](./results/AxonFramework-4.8.0/wordcloud/Wordcloud.md) contains a visual representation of package and class names ([Notebook](./jupyter/Wordcloud.ipynb)).
2932

3033
### 📖 Graph Data Science Reports
3134

3235
Here are some reports that utilize Neo4j's [Graph Data Science Library](https://neo4j.com/product/graph-data-science). For a detailed reference of all CSV reports see [CSV Cypher Query Report Reference](#📃-csv-cypher-query-report-reference) below.
3336

34-
- [Community Detection with Leiden](./results/AxonFramework-4.8.0/community-csv/Leiden_Communities.csv) ([Source Script](./scripts/reports/CommunityCsv.sh))
3537
- [Centrality with Page Rank](./results/AxonFramework-4.8.0/centrality-csv/Centrality_Page_Rank.csv) ([Source Script](./scripts/reports/CentralityCsv.sh))
38+
- [Community Detection with Leiden](./results/AxonFramework-4.8.0/community-csv/Leiden_Communities.csv) ([Source Script](./scripts/reports/CommunityCsv.sh))
39+
- [Node Embeddings with HashGNN](./results/AxonFramework-4.8.0/node-embeddings-csv/Package_Embeddings_HashGNN.csv) ([Source Script](./scripts/reports/NodeEmbeddingsCsv.sh))
3640
- [Similarity with Jaccard](./results/AxonFramework-4.8.0/similarity-csv/Similarity_Jaccard.csv) ([Source Script](./scripts/reports/SimilarityCsv.sh))
41+
- [Topology Sort](./results/AxonFramework-4.8.0/artifact-topology-csv/TopologicalSortedArtifacts.csv) ([Source Script](./scripts/reports/TopologicalSortCsv.sh))
42+
43+
## 📖 Blog Articles
44+
45+
- [Analyze java dependencies with jQAssistant](https://joht.github.io/johtizen/data/2021/02/21/java-jar-dependency-analysis.html)
46+
- [Analyze java package metrics in a graph database (Part 2)](https://joht.github.io/johtizen/data/2023/04/21/java-package-metrics-analysis.html)
3747

3848
## 🛠 Prerequisites
3949

@@ -48,20 +58,20 @@ Here are some reports that utilize Neo4j's [Graph Data Science Library](https://
4858

4959
To run Jupyter notebooks, create an `.env` file in the folder from where you open the notebook containing for example: `NEO4J_INITIAL_PASSWORD=neo4j_password_of_my_choice`
5060

51-
### Further Prerequisites for Python and Jupyter Notebooks
61+
### Additional Prerequisites for Python and Jupyter Notebooks
5262

5363
- Python is required for Jupyter Notebook reports.
5464
- A conda package manager like [Miniconda](https://docs.conda.io/projects/miniconda/en/latest) or [Anaconda](https://www.anaconda.com/download)(Recommended for Windows) is required for Jupyter Notebook reports.
5565
- Chromium will automatically be downloaded if needed for Jupyter Notebook PDF reports generation.
5666

57-
### Further Prerequisites for Graph Visualization
67+
### Additional Prerequisites for Graph Visualization
5868

5969
These tools are needed to run the graph visualization scripts of directory [graph-visualization](./graph-visualization):
6070

6171
- [Node.js](https://nodejs.org/en)
6272
- [npm](https://www.npmjs.com)
6373

64-
### Hints for Windows
74+
### Additional Prerequisites for Windows
6575

6676
- Add this line to your `~/.bashrc` file if you are using Anaconda3: `/c/ProgramData/Anaconda3/etc/profile.d/conda.sh`. Try to find a similar script for other conda package managers or versions.
6777
- Run `conda init` in the git bash opened as administrator. Running it in normal mode usually leads to an error message.
@@ -93,6 +103,7 @@ The [Code Structure Analysis Pipeline](./.github/workflows/code-structure-analys
93103
- [pip](https://pip.pypa.io/en/stable)
94104
- [monotonic](https://github.com/atdt/monotonic)
95105
- [py2neo](https://py2neo.org)
106+
- [sklearn](https://scikit-learn.org)
96107
- [wordcloud](https://github.com/amueller/word_cloud)
97108
- [Graph Visualization](./graph-visualization/README.md) uses [node.js](https://nodejs.org/de) and the dependencies listed in [package.json](./graph-visualization/package.json).
98109

renovate.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,17 @@
2020
"datasourceTemplate": "github-releases",
2121
"extractVersionTemplate": "^axon-?(?<version>.*?)$"
2222
},
23+
{
24+
"fileMatch": [
25+
"README.md"
26+
],
27+
"matchStrings": [
28+
"\\/AxonFramework-?(?<currentValue>.*?)\\/"
29+
],
30+
"depNameTemplate": "AxonFramework/AxonFramework",
31+
"datasourceTemplate": "github-releases",
32+
"extractVersionTemplate": "^axon-?(?<version>.*?)$"
33+
},
2334
{
2435
"fileMatch": [
2536
"^(workflow-templates|\\.github\/workflows)\\/[^/]+\\.ya?ml$",

0 commit comments

Comments
 (0)