@prefix ex: <https://sparql.swisslipids.org/.well-known/sparql-examples/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema: <https://schema.org/> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

ex:9 a sh:SPARQLExecutable,
        sh:SPARQLSelectExecutable ;
    rdfs:label "Mapping LIPID MAPS to SwissLipids"@en ;
    rdfs:comment """For a given list of LIPID MAPS identifiers return the list of corresponding SwissLipids identifiers.
Output should include SwissLipids identifier and name plus the LIPID MAPS identifier. 
This query considers only the cross references in the SwissLipids entry – it does not attempt to query other levels to find links between parents or children.
Recapitulates one ID mapping function on the website """@en ;
    sh:prefixes _:sparql_examples_prefixes ;
    sh:select """PREFIX lipidmaps: <https://www.lipidmaps.org/rdf/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

# Example 9
SELECT ?lipidmaps ?slm ?slmName 
WHERE {
  VALUES ?lipidmaps {lipidmaps:LMSP01020001 lipidmaps:LMST01010069 lipidmaps:LMST04030222}
  ?slm rdfs:label ?slmName . 
  # Corresponding SwissLipds entries
  ?slm rdfs:seeAlso ?lipidmaps .
}
ORDER BY ?lipidmaps""" ;
    schema:target <https://sparql.swisslipids.org/sparql/> .

