Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
1cd347e
add ability to get available configs
YoucTagh May 15, 2025
40daaad
add to select active config in query gen
YoucTagh May 15, 2025
612a858
➕ authentication login/sign-up
YoucTagh May 21, 2025
9a863fe
➕ route guard for non-authenticated users
YoucTagh May 21, 2025
93f3e97
⛑️ fix auth interceptor
YoucTagh May 21, 2025
767e3a7
➕ get user's active config from db
YoucTagh May 22, 2025
415791c
🛠️ use observable and subscriptions to manage the user's active config
YoucTagh May 26, 2025
2bc3a25
🛠️ reuse available configs instead of making new requests
YoucTagh May 26, 2025
3469a41
🛠️ activate another configuration and update UI
YoucTagh May 26, 2025
d2f3a0a
⛑️ add dedicated auth interceptor for fetch requests
YoucTagh May 28, 2025
2f9ab73
🛠️ show scenarios in home without login requirement
YoucTagh Jul 3, 2025
1ac0c7e
🛠️ update CQ generation UI
YoucTagh Jul 3, 2025
f524727
➕ use localstorage to save questions and q2sets instead of cookies
YoucTagh Jul 3, 2025
0cdd1a5
➕ add sparql generation chats in the side nav
YoucTagh Jul 7, 2025
24a5928
➕ update a user SPARQL chat history
YoucTagh Jul 7, 2025
bdfa8bd
➕ delete a SPARQL chat from history
YoucTagh Jul 8, 2025
a725c1f
➕ use the different features only when user has quota
YoucTagh Jul 8, 2025
ce48039
⛑️ delete competency question or question/query from saved local storage
YoucTagh Jul 8, 2025
b268eb3
🛠️ update favicon
YoucTagh Jul 10, 2025
1099b20
🛠️ update warning messages
YoucTagh Jul 11, 2025
f9cb212
🛠️ update angular to v20
YoucTagh Jul 18, 2025
ecce274
🛠️ update angular to v20
YoucTagh Jul 18, 2025
32893a8
🛠️ use https instead of http and update github links
YoucTagh Sep 26, 2025
4204bdf
⛑️ in CQ tab, fix KG vocabularies and description extraction
YoucTagh Dec 3, 2025
4da39b4
🛠️ do not show an error message if the configuration is already active
YoucTagh Dec 3, 2025
3eb737f
🛠️ reset number of CQs to 5
YoucTagh Dec 3, 2025
f77edaf
🛠️ updates for v1 release
YoucTagh Feb 24, 2026
860e8de
🛠️ update CITATION.cff for v2 release
YoucTagh Feb 24, 2026
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
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -40,5 +40,5 @@ authors:

repository-code: 'https://github.com/Wimmics/q2forge'
license: AGPL-3.0-or-later
version: 1.0
date-released: '2025-05-12'
version: 2.0
date-released: '2026-02-24'
25 changes: 18 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ The following diagram shows the pipeline and how Q²Forge integrates with other

[![Q²Forge full video](/public/images/q2forge_thumbnail.png)](https://youtu.be/I3w-jmZRJII)

### Conference Presentation (K-CAP 2025)

[![Q²Forge K-CAP Presentation](/public/images/q2forge_kcap_presentation.png)](https://youtu.be/RZbSCbMr1es)


## Run locally

Expand Down Expand Up @@ -67,16 +71,23 @@ See the [LICENSE file](./LICENSE).

## Cite this work

Yousouf TAGHZOUTI, Franck MICHEL, Tao JIANG, Louis-Félix NOTHIAS, Fabien GANDON (2025). **Q²Forge**. <https://github.com/Wimmics/q2forge>
Yousouf Taghzouti, Franck Michel, Tao Jiang, Louis Felix Nothias, and Fabien Gandon. 2025. Q²Forge: Minting Competency Questions and SPARQL Queries for Question-Answering Over Knowledge Graphs. In Proceedings of the 13th Knowledge Capture Conference 2025 (K-CAP '25). Association for Computing Machinery, New York, NY, USA, 74–81. https://doi.org/10.1145/3731443.3771350


<details>
<summary>See BibTex</summary>
@software{taghzouti_q2forge:2025,
author = {TAGHZOUTI, Yousouf and MICHEL, Franck and JIANG, Tao and NOTHIAS, Louis-Félix , and GANDON Fabien},
title = {{Q²Forge}},
url = {https://github.com/Wimmics/q2forge},
version = {1.0},
year = {2025}
@inproceedings{10.1145/3731443.3771350,
author = {Taghzouti, Yousouf and Michel, Franck and Jiang, Tao and Nothias, Louis Felix and Gandon, Fabien},
title = {Q²Forge: Minting Competency Questions and SPARQL Queries for Question-Answering Over Knowledge Graphs},
year = {2025},
isbn = {9798400718670},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3731443.3771350},
doi = {10.1145/3731443.3771350},
booktitle = {Proceedings of the 13th Knowledge Capture Conference 2025},
pages = {74–81},
numpages = {8},
series = {K-CAP '25}
}
</details>
32 changes: 29 additions & 3 deletions angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"prefix": "app",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:application",
"builder": "@angular/build:application",
"options": {
"browser": "src/main.ts",
"outputPath": {
Expand Down Expand Up @@ -83,7 +83,7 @@
"defaultConfiguration": "production"
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"builder": "@angular/build:dev-server",
"configurations": {
"production": {
"buildTarget": "q2forge:build:production"
Expand All @@ -95,9 +95,35 @@
"defaultConfiguration": "development"
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n"
"builder": "@angular/build:extract-i18n"
}
}
}
},
"schematics": {
"@schematics/angular:component": {
"type": "component"
},
"@schematics/angular:directive": {
"type": "directive"
},
"@schematics/angular:service": {
"type": "service"
},
"@schematics/angular:guard": {
"typeSeparator": "."
},
"@schematics/angular:interceptor": {
"typeSeparator": "."
},
"@schematics/angular:module": {
"typeSeparator": "."
},
"@schematics/angular:pipe": {
"typeSeparator": "."
},
"@schematics/angular:resolver": {
"typeSeparator": "."
}
}
}
27 changes: 15 additions & 12 deletions codemeta.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"@context": "https://w3id.org/codemeta/3.0",
"type": "SoftwareSourceCode",
"author": [
{
Expand All @@ -14,9 +14,9 @@
"givenName": "Yousouf"
},
{
"type": "schema:Role",
"type": "Role",
"schema:author": "https://orcid.org/0000-0003-4509-9537",
"schema:roleName": "Developper"
"roleName": "Developper"
},
{
"id": "https://orcid.org/0000-0001-9064-0463",
Expand All @@ -30,9 +30,9 @@
"givenName": "Franck"
},
{
"type": "schema:Role",
"type": "Role",
"schema:author": "https://orcid.org/0000-0001-9064-0463",
"schema:roleName": "Developper"
"roleName": "Developper"
},
{
"id": "https://orcid.org/0000-0002-5293-3916",
Expand All @@ -46,9 +46,9 @@
"givenName": "Tao"
},
{
"type": "schema:Role",
"type": "Role",
"schema:author": "https://orcid.org/0000-0002-5293-3916",
"schema:roleName": "Developper"
"roleName": "Developper"
},
{
"id": "https://orcid.org/0000-0001-6711-6719",
Expand All @@ -62,9 +62,9 @@
"givenName": "Louis-Felix"
},
{
"type": "schema:Role",
"type": "Role",
"schema:author": "https://orcid.org/0000-0001-6711-6719",
"schema:roleName": "Design"
"roleName": "Design"
},
{
"id": "https://orcid.org/0000-0003-0543-1232",
Expand All @@ -78,12 +78,13 @@
"givenName": "Fabien"
},
{
"type": "schema:Role",
"type": "Role",
"schema:author": "https://orcid.org/0000-0003-0543-1232",
"schema:roleName": "Design"
"roleName": "Design"
}
],
"codeRepository": "https://github.com/Wimmics/q2forge",
"dateModified": "2026-02-24",
"datePublished": "2025-05-12",
"description": "Q²Forge addresses the challenge of generating new competency questions for a KG and corresponding SPARQL queries that reflect those questions. It iteratively validates those queries with human feedback and LLM as a judge.",
"identifier": "q2forge",
Expand All @@ -93,5 +94,7 @@
"SPARQL"
],
"name": "Q²Forge",
"version": "1.0"
"version": "2.0",
"issueTracker": "https://github.com/Wimmics/q2forge/issues",
"referencePublication": "https://doi.org/10.1145/3731443.3771350"
}
Loading