Hello tous,
j'ai u petit soucis à formuler une requête sparql qui fasse ce que je souhaite.
Imaginez un ensemble de termes dans un vocabulaire Skos. Ceux-ci sont décrits de plusieurs manières : rdfs:label, skos:label, skos:altlabel.
Je veux exprimer une requête qui me permette de retourner le meilleur label, selon un ordre prédéfini. Si le label alternatif skos:altlabel est disponible le retourner, sinon, si le label skos:label est disponible le retourner et à défaut retourner le label rdfs:label.
Pour ça je faisais comme ceci :
Malheureusement, il semble que cela ne fonctionne pas très bien. Est-ce la bonne voie ou existe-t-il une autre façon de faire ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT ?term ?label WHERE { ?term a skos:Concept . OPTIONAL { ?term skos:altLabel ?label } . OPTIONAL { ?term skos:prefLabel ?label } . OPTIONAL { ?term rdfs:label ?label . } } ORDER BY ?term
Merci.
Partager