diff --git a/magma-diffusion-impl/src/main/resources/request/concepts/getConceptsByLabel.ftlh b/magma-diffusion-impl/src/main/resources/request/concepts/getConceptsByLabel.ftlh index 94d6b567..6932b41c 100644 --- a/magma-diffusion-impl/src/main/resources/request/concepts/getConceptsByLabel.ftlh +++ b/magma-diffusion-impl/src/main/resources/request/concepts/getConceptsByLabel.ftlh @@ -8,6 +8,6 @@ FILTER(REGEX(STR(?conceptScheme),'/concepts/definitions/scheme')) FILTER(lang(?intitule) = 'fr') FILTER(CONTAINS(LCASE(STR(?intitule)), LCASE("${label}"))) BIND(STR(?intitule) AS ?intituleFr) -BIND(EXISTS{?uri dcterms:replaces|^dcterms:replaces ?repl } AS ?hasLink) +BIND(EXISTS{?uri (skos:broader|skos:narrower|skos:related|dcterms:replaces|dcterms:isReplacedBy|skos:closeMatch|dcterms:references) ?repl } AS ?hasLink) } ORDER BY ?intituleFr \ No newline at end of file diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/ConceptsQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/ConceptsQueriesTest.java index b15c54c6..ac634c51 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/ConceptsQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/ConceptsQueriesTest.java @@ -103,7 +103,7 @@ void should_return_404_when_ConceptsDefinitionCode_codec1000() throws Exception{ /// concepts/definitions /// ///////////////////////////////////////////////////////////////////// -// geo/concepts/definitions?libelle=elect +// concepts/definitions?libelle=elect @Test void should_return_16_concepts_when_ConceptsDefinitions_libelleElect() { var response = endpoints.getconceptsliste("Élect"); @@ -111,6 +111,7 @@ void should_return_16_concepts_when_ConceptsDefinitions_libelleElect() { Assertions.assertNotNull(result); var resultItem1= result.getFirst(); var resultItem4= result.get(3); + var resultItem6= result.get(5); assertAll( () -> assertEquals(16, result.size()), @@ -118,17 +119,27 @@ void should_return_16_concepts_when_ConceptsDefinitions_libelleElect() { () -> assertEquals(URI.create("http://id.insee.fr/concepts/definition/c1769"), resultItem1.getUri()), () -> assertEquals("Commerce électronique", resultItem1.getIntitule()), - () -> assertEquals("c1158", resultItem4.getId()), () -> assertEquals(URI.create("http://id.insee.fr/concepts/definition/c1158"), resultItem4.getUri()), () -> assertEquals("Fichier général des électeurs ", resultItem4.getIntitule()), () -> assertEquals("c2131", resultItem4.getConceptsSuivants().getFirst().getId()), - () -> assertEquals(URI.create("http://id.insee.fr/concepts/definition/c2131"), resultItem4.getConceptsSuivants().getFirst().getUri()) + () -> assertEquals(URI.create("http://id.insee.fr/concepts/definition/c2131"), resultItem4.getConceptsSuivants().getFirst().getUri()), + + () -> assertEquals("c2169", resultItem6.getId()), + () -> assertEquals(URI.create("http://id.insee.fr/concepts/definition/c2169"), resultItem6.getUri()), + () -> assertEquals("Listes électorales", resultItem6.getIntitule()), + () -> assertEquals("c2167", resultItem6.getConceptsPlusSpecifiques().getFirst().getId()), + () -> assertEquals(URI.create("http://id.insee.fr/concepts/definition/c2167"), resultItem6.getConceptsPlusSpecifiques().getFirst().getUri()), + () -> assertEquals("c2170", resultItem6.getConceptsPlusSpecifiques().get(1).getId()), + () -> assertEquals(URI.create("http://id.insee.fr/concepts/definition/c2170"), resultItem6.getConceptsPlusSpecifiques().get(1).getUri()), + () -> assertEquals("c2171", resultItem6.getConceptsPlusSpecifiques().get(2).getId()), + () -> assertEquals(URI.create("http://id.insee.fr/concepts/definition/c2171"), resultItem6.getConceptsPlusSpecifiques().get(2).getUri()) ); } - // geo/concepts/definitions + + // concepts/definitions @Test void should_return_1232_concepts_when_ConceptsDefinitions_libelleNull() { var response = endpoints.getconceptsliste("");