Skip to content

Commit 7b9148c

Browse files
authored
📝 Doc fix & ✨ added compatibility test CI/CD (PR #72)
2 parents 993614b + e447d14 commit 7b9148c

File tree

5 files changed

+118
-15
lines changed

5 files changed

+118
-15
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Cross-platform Compatibility Tests
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
os-compatibility-tests:
11+
runs-on: ${{ matrix.os }}
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
os: [ubuntu-latest, windows-latest, macos-latest]
16+
python-version: ["3.10"]
17+
18+
steps:
19+
- name: Checkout code
20+
uses: actions/checkout@v4
21+
22+
- name: Set up Python ${{ matrix.python-version }}
23+
uses: actions/setup-python@v5
24+
with:
25+
python-version: ${{ matrix.python-version }}
26+
27+
- name: Install Poetry
28+
shell: bash
29+
run: |
30+
curl -sSL https://install.python-poetry.org | python -
31+
echo "$HOME/.local/bin" >> $GITHUB_PATH
32+
echo "$APPDATA/Python/Scripts" >> $GITHUB_PATH
33+
34+
- name: Configure Poetry and install plugin
35+
shell: bash
36+
run: |
37+
poetry --version
38+
poetry config virtualenvs.create false
39+
poetry self add "poetry-dynamic-versioning[plugin]"
40+
41+
- name: Install dependencies
42+
shell: bash
43+
run: |
44+
poetry install --no-interaction --no-ansi
45+
46+
- name: Run tests
47+
shell: bash
48+
run: |
49+
poetry run pytest

docs/source/_static/custom.css

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,39 @@
7979
margin-bottom: 1.2em;
8080
font-size: 1.1em;
8181
}
82+
83+
.video-container {
84+
position: relative;
85+
width: 100%;
86+
max-width: 960px;
87+
margin: 2rem auto;
88+
aspect-ratio: 16 / 9;
89+
}
90+
91+
.video-container iframe {
92+
width: 90%;
93+
height: 90%;
94+
border-radius: 12px;
95+
}
96+
97+
.video-card {
98+
max-width: 960px;
99+
margin: 3rem auto;
100+
padding: 1rem;
101+
background: #f9fafb;
102+
border-radius: 16px;
103+
box-shadow: 0 10px 30px rgb(161, 159, 159);
104+
}
105+
106+
.video-card iframe {
107+
width: 100%;
108+
aspect-ratio: 16 / 9;
109+
border-radius: 12px;
110+
}
111+
112+
.video-caption {
113+
margin-top: 0.75rem;
114+
text-align: center;
115+
font-size: 1.05rem;
116+
color: #0d3b5a;
117+
}

docs/source/aligner/kge.rst

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,7 @@ Usage
3434

3535
.. sidebar::
3636

37-
Full code is available at `OntoAligner Repository. <https://github.com/sciknoworg/OntoAligner/blob/main/examples/kge.py>`_
38-
37+
A usage example is available at `OntoAligner Repository. <https://github.com/sciknoworg/OntoAligner/blob/main/examples/kge.py>`_
3938

4039
This module guides you through a step-by-step process for performing ontology alignment using a KGEs and the OntoAligner library. By the end, you’ll understand how to preprocess data, encode ontologies, generate alignments, evaluate results, and save the outputs in XML and JSON formats.
4140

docs/source/aligner/rag.rst

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,37 @@ Retrieval-Augmented Generation
22
================================
33

44

5-
.. sidebar:: **Reference:**
6-
7-
`LLMs4OM: Matching Ontologies with Large Language Models <https://link.springer.com/chapter/10.1007/978-3-031-78952-6_3>`_
8-
9-
.. raw:: html
10-
11-
<iframe src="https://videolectures.net/embed/videos/eswc2024_babaei_giglou_language_models?part=1" width="100%" frameborder="0" allowfullscreen style="aspect-ratio:16/9"></iframe>
12-
135
LLMs4OM
146
----------------------------------
15-
**LLMs4OM: Matching Ontologies with Large Language Models**
167

17-
The retrieval augmented generation (RAG) module at OntoAligner is driven by a ``LLMs4OM`` framework, a novel approach for effective ontology alignment using LLMs. This framework utilizes two modules for retrieval and matching, respectively, enhanced by zero-shot prompting across three ontology representations: concept, concept-parent, and concept-children. The ``LLMs4OM`` framework, can match and even surpass the performance of traditional OM systems, particularly in complex matching scenarios. The ``LLMs4OM`` framework (as shown in the following diagram) offers a RAG approach within LLMs for OM. LLMs4OM uses :math:`O_{source}` as query :math:`Q(O_{source})` to retrieve possible matches for for any :math:`C_s \in C_{source}` from :math:`C_{target} \in O_{target}`. Where, :math:`C_{target}` is stored in the knowledge base :math:`KB(O_{target})`. Later, :math:`C_{s}` and obtained :math:`C_t \in C_{target}` are used to query the LLM to check whether the :math:`(C_s, C_t)` pair is a match. As shown in above diagram, the framework comprises four main steps: 1) Concept representation, 2) Retriever model, 3) LLM, and 4) Post-processing. But within the OntoAligner we we adapted the workflow into a parser, encoder, alignment, post-processing, evaluate, and export steps.
8+
The **LLMs4OM: Matching Ontologies with Large Language Models** work introduces a RAG approach for OA. The retrieval augmented generation (RAG) module at OntoAligner is driven by a ``LLMs4OM`` framework, a novel approach for effective ontology alignment using LLMs. This framework utilizes two modules for retrieval and matching, respectively, enhanced by zero-shot prompting across three ontology representations: concept, concept-parent, and concept-children. The ``LLMs4OM`` framework, can match and even surpass the performance of traditional OM systems, particularly in complex matching scenarios. The ``LLMs4OM`` framework is presented in the following diagram.
189

1910
.. raw:: html
2011

2112
<div align="center">
2213
<img src="https://raw.githubusercontent.com/sciknoworg/OntoAligner/refs/heads/dev/docs/source/img/LLMs4OM.jpg" width="80%"/>
2314
</div>
2415

16+
This offers a RAG approach within LLMs for OM. LLMs4OM uses :math:`O_{source}` as query :math:`Q(O_{source})` to retrieve possible matches for for any :math:`C_s \in C_{source}` from :math:`C_{target} \in O_{target}`. Where, :math:`C_{target}` is stored in the knowledge base :math:`KB(O_{target})`. Later, :math:`C_{s}` and obtained :math:`C_t \in C_{target}` are used to query the LLM to check whether the :math:`(C_s, C_t)` pair is a match. As shown in above diagram, the framework comprises four main steps: 1) Concept representation, 2) Retriever model, 3) LLM, and 4) Post-processing. But within the OntoAligner we we adapted the workflow into a parser, encoder, alignment, post-processing, evaluate, and export steps.
17+
18+
.. raw:: html
19+
20+
<div class="video-card">
21+
<iframe
22+
src="https://videolectures.net/embed/videos/eswc2024_babaei_giglou_language_models?part=1"
23+
frameborder="0"
24+
allowfullscreen>
25+
</iframe>
26+
<p class="video-caption">
27+
ESWC 2024 Talk — LLMs4OM Presentation by Hamed Babaei Giglou.
28+
</p>
29+
</div>
30+
31+
32+
.. note::
33+
34+
**Reference:** Babaei Giglou, H., D’Souza, J., Engel, F., Auer, S. (2025). LLMs4OM: Matching Ontologies with Large Language Models. In: Meroño Peñuela, A., et al. The Semantic Web: ESWC 2024 Satellite Events. ESWC 2024. Lecture Notes in Computer Science, vol 15344. Springer, Cham. `https://doi.org/10.1007/978-3-031-78952-6_3 <https://doi.org/10.1007/978-3-031-78952-6_3>`_
35+
2536

2637
Usage
2738
----------------

docs/source/index.rst

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,19 @@ OntoAligner was created by `Scientific Knowledge Organization (SciKnowOrg group)
1717
<strong>The vision is to create a unified hub that brings together a wide range of ontology alignment models, making integration seamless for researchers and practitioners.</strong>
1818
</div>
1919

20-
**Watch the OntoAligner presentation at EWC-2025.**
21-
2220
.. raw:: html
2321

24-
<iframe src="https://videolectures.net/embed/videos/eswc2025_bernardin_babaei_giglu?part=1" width="100%" frameborder="0" allowfullscreen style="aspect-ratio:16/9"></iframe>
22+
<div class="video-card">
23+
<iframe
24+
src="https://videolectures.net/embed/videos/eswc2025_bernardin_babaei_giglu?part=1"
25+
frameborder="0"
26+
allowfullscreen>
27+
</iframe>
28+
<p class="video-caption">
29+
ESWC 2025 Talk — OntoAligner Presentation by Hamed Babaei Giglou.
30+
</p>
31+
</div>
32+
2533

2634
Citing
2735
=========

0 commit comments

Comments
 (0)