InseeFr / InseeFr/Magma

Prendre en compte l'ordre des documents dans Magma-fusion

Open
#497 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
1
Forks
6
Avg merge
10m
Merged PRs (30d)
4

Description

Faire en sorte que le endpoint `/operations/rapportQualite/{id}` renvoie les documents et les liens dans l'ordre.

Pour gérer l'ordre, on peut faire un truc du genre :
````sparql
PREFIX rdf:
PREFIX insee:
# La position dans la liste est le nombre d'éléments intermédiaires entre le début de la liste et l'élément courant
SELECT ?startList ?element ?doc (COUNT(*) AS ?number)
WHERE {
# Récupération du début de la liste
insee:additionalMaterial ?startList .
# Petit hack parce que dans l'exemple, on a aussi les documents directement reliés à la rubrique par insee:additionalMaterial, donc on ne garde que le noeud vide
FILTER(isBlank(?startList))
# On récupère tous les éléments de la liste
?startList rdf:rest* ?element .
# On récupère tous les éléments intermédiaires entre le premier élément de la liste et l'élément courant
?startList rdf:rest* ?intermediate . ?intermediate rdf:rest* ?element .
# Et tant qu'à faire, on récupère le document associé à l'élément de la liste
?element rdf:first ?doc .
}
# On groupe par élément de la liste
GROUP BY ?startList ?element ?doc
````
(à adapter dans la requête réelle)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the `/operations/rapportQualite/{id}` endpoint and trace the query that builds its documents and links. Adapt the SPARQL ordering approach shown in the issue, then verify that the endpoint returns documents and links in list order.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, backend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
62/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.