Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add dependency graph to README #22

Merged
merged 7 commits into from
Feb 21, 2025
Merged
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
129 changes: 129 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,135 @@ These levels of **transparency** (or *interpretability*) are generally not avail

## The Sole.jl framework

```mermaid

graph TD
SB[<font color="black">SoleBase.jl</font>]
SL[<font color="black">SoleLogics.jl</font>]
SD[<font color="black">SoleData.jl</font>]
SM[<font color="black">SoleModels.jl</font>]
S[<font color="black">Sole.jl</font>]

SL --> SB

SD --> SL
SM --> SL

S --> SD
S --> SM

SF[<font color="black">SoleFeatures.jl</font>]
%% SV[<font color="black">SoleViz.jl</font>]
MDL[<font color="black">ModalDecisionLists.jl</font>]
MDT[<font color="black">ModalDecisionTrees.jl</font>]
MAR[<font color="black">ModalAssociationRules.jl</font>]
SPH[<font color="black">SolePostHoc.jl</font>]
SX[<font color="black">SoleExplorer.jl</font>]
SLR[<font color="black">SoleReasoners.jl</font>]

%% SA[<font color="black">SoleAudio.jl</font>]
%% A[<font color="black">Audio911.jl</font>]
%% SA --> A
MD[<font color="black">MultiData.jl</font>]
SD --> MD

SF --> SD
%% SV --> SD

MDL --> S
MDT --> S
MAR --> S
SPH --> SM

SLR --> SL

SX --> S
SX --> MDT
SX --> MDL
SX --> MAR
SX --> SPH

style SB fill:#FFFFFF,stroke:#000000
style SL fill:#9558B2,stroke:#000000
style SD fill:#4063D8,stroke:#000000
style SM fill:#389824,stroke:#000000
style SF fill:#4063D8,stroke:#000000
%% style SV fill:#4063D8,stroke:#000000
style S fill:#D56B3D,stroke:#000000
style MDL fill:#D56B3D,stroke:#000000
style MDT fill:#D56B3D,stroke:#000000
style MAR fill:#D56B3D,stroke:#000000
style SPH fill:#389824,stroke:#000000
style SLR fill:#9558B2,stroke:#000000
%% style A fill:#FFFFFF,stroke:#000000
style SX fill:#FFFFFF,stroke:#000000
style MD fill:#4063D8,stroke:#000000

```

The following is a similar schema, but leverages mermaid's subgraph capabilities to avoid overlappings between nodes.
```mermaid
graph TD
SX[<font color="black">SoleExplorer.jl</font>]

subgraph Group1[ ]
MAR[<font color="black">ModalAssociationRules.jl</font>]
MDT[<font color="black">ModalDecisionTrees.jl</font>]
MDL[<font color="black">ModalDecisionLists.jl</font>]
S[<font color="black">Sole.jl</font>]
end

subgraph Group2[ ]
SF[<font color="black">SoleFeatures.jl</font>]
SD[<font color="black">SoleData.jl</font>]
MD[<font color="black">MultiData.jl</font>]
end

subgraph Group3[ ]
PHC[<font color="black">SolePostHoc.jl</font>]
SM[<font color="black">SoleModels.jl</font>]
end

subgraph Group4[ ]
SL[<font color="black">SoleLogics.jl</font>]
SR[<font color="black">SoleReasoners.jl</font>]
end
SB[<font color="black">SoleBase.jl</font>]

SX --> MDL
SX --> MDT
SX --> MAR
SX --> S
SX --> PHC

SL --> SB
SD --> SL
SD --> MD
SM --> SL
S --> SD
PHC --> SM
S --> SM
SF --> SD
MDL --> S
MDT --> S
MAR --> S
SR --> SL

style SX fill:#FFFFFF,stroke:#000000
style SB fill:#FFFFFF,stroke:#000000
style SL fill:#9558B2,stroke:#000000
style SD fill:#4063D8,stroke:#000000
style SM fill:#389824,stroke:#000000
style SF fill:#4063D8,stroke:#000000
style S fill:#D56B3D,stroke:#000000
style MDL fill:#D56B3D,stroke:#000000
style MDT fill:#D56B3D,stroke:#000000
style MAR fill:#D56B3D,stroke:#000000
style PHC fill:#389824,stroke:#000000
style SR fill:#9558B2,stroke:#000000
style MD fill:#4063D8,stroke:#000000
```

*Sole* is a collection of Julia packages for symbolic learning and reasoning.
Although at an embryonic stage, *Sole.jl* covers a range of functionality that is of interest for the symbolic community, but it also fills some gaps with a few functionalities for standard machine learning pipelines. At the time of writing, the framework comprehends the three core packages:
+ [*SoleLogics.jl*](https://github.com/aclai-lab/SoleLogics.jl) provides the **logical layer** for symbolic learning. It provides a useful codebase for [*computational logic*](https://en.wikipedia.org/wiki/Computational_logic), which features easy manipulation of:
Expand Down