Examples

  1. Select the SwissLipids categories and their labels.# Example 1 SELECT ?category ?label WHERE { ?category SLM:rank SLM:Category . ?category rdfs:label ?label . }
  2. For a given (list of) lipid Species identifier(s) (e.g. SLM:000056420 (Phosphatidylcholine (20:2)) SLM:000308470 (Triacylglycerol (64:6))), return a list of the corresponding Molecular subspecies (if any), Structural subspecies (if any), and Isomeric subspecies. The query should return the lipid recommended names as well as identifiers. The list should be sorted by level in the hierarchy (Isomeric subspecies last). Future versions of this query should be generic enough to work from any start point (Species, Molecular subspecies, Structural subspecies). Recapitulates the “browse lipid analytes” function of the website (in batch).# Example 2 SELECT ?startId ?startName ?rank ?id ?name WHERE { # query: list of SwissLipids Species identifiers VALUES ?startId { SLM:000056420 SLM:000308470 } ?startId SLM:rank SLM:Species . # SwissLipids Species name ?startId rdfs:label ?startName . # Hierarchical search ?id rdfs:subClassOf+ ?startId . ?id SLM:rank ?rank . VALUES ?rank { SLM:Isomeric_Subspecies SLM:Molecular_Subspecies SLM:Structural_Subspecies} ?id rdfs:label ?name . } ORDER BY DESC(?rank) ?startId
  3. For a given (list of) lipid Species identifiers (e.g. SLM:000056493, Phosphatidylcholine (32:0)), return a list of the corresponding Molecular subspecies (if any), Structural subspecies (if any), and Isomeric subspecies (if any) which are associated with at least one citation (PMID: PubMed id). The query should return the lipid identifiers (?id), recommended names (?name), and PMIDs (?citation). Future versions of this query should be generic enough to work from any start point (Species, Molecular subspecies, Structural subspecies). # Example 3 SELECT ?startId ?startLabel ?rank ?id ?name ?citation WHERE { # Queried lipid species VALUES ?startId { SLM:000056493 } ?startId rdfs:label ?startLabel . ?id rdfs:subClassOf+ ?startId . VALUES ?rank { SLM:Isomeric_Subspecie SLM:Molecular_Subspecies SLM:Structural_Subspecies} ?id SLM:rank ?rank ; rdfs:label ?name ; SLM:citation ?citation . } ORDER BY ?startId ?id DESC(?rank)
  4. For a given (list of) lipid classes (e.g. SLM:000399814 (Ceramide) SLM:000000007 (Sphingomyelin (iso-d17:1(4E))), return a list of the corresponding Isomeric subspecies. The query should return the lipid recommended names (?name) as well as identifiers (?id). Recapitulates the “browse lipid classes” function of the website (in batch).# Example 4 SELECT ?startId ?startName ?id ?name WHERE { VALUES ?startId { SLM:000399814 SLM:000000567} ?startId SLM:rank SLM:Class . ?startId rdfs:label ?startName . ?id rdfs:subClassOf+ ?startId . ?id SLM:rank SLM:Isomeric_Subspecies ; rdfs:label ?name . } ORDER BY ?startId
  5. For a given lipid (SLM:000399814, Ceramide), return a list of all corresponding reactions (Rhea IDs and equation). This query does consider the hierarchy: it looks for reactions involving the specified lipid and/or its more specific forms.# Example 5 SELECT ?startId ?startName ?id ?name ?chebi ?rhea ?rheaEquation WHERE { # SwissLipids query (list of) identifier(s) VALUES ?startId { SLM:000399814 } # name ?startId rdfs:label ?startName . # Retrieve children lipids ?id rdfs:subClassOf* ?startId . ?id rdfs:label ?name . # ChEBI x-ref ?id owl:equivalentClass ?chebi . # federated query to Rhea SERVICE <https://sparql.rhea-db.org/sparql> { ?rhea rh:equation ?rheaEquation . ?rhea rh:side/rh:contains/rh:compound/rh:chebi ?chebi . } } ORDER BY ?startId ?id
  6. For a given lipid (SLM:000399814, Ceramide), return a list of all corresponding reactions (Rhea IDs and equation), as well as their enzymes as annotated in UniProtKB/Swiss-Prot) enzymes themselves (ID and protein name). This query does not consider the hierarchy: it looks for reactions and enzymes only for the specified lipid.# Example 6 SELECT ?startId ?startName ?chebi ?rhea ?rheaEquation ?uniprot ?uniprotName WHERE { # SwissLipids query (list of) identifier(s) VALUES ?startId { SLM:000399814 } # name ?startId rdfs:label ?startName . # ChEBI x-ref ?startId owl:equivalentClass ?chebi . # federated query to Rhea SERVICE <https://sparql.rhea-db.org/sparql> { ?rhea rh:equation ?rheaEquation . ?rhea rh:side/rh:contains/rh:compound/rh:chebi ?chebi . } # federated query to UniProt SERVICE <https://sparql.uniprot.org/sparql> { ?uniprot up:reviewed true . ?uniprot up:recommendedName/up:fullName ?uniprotName . ?uniprot up:annotation/up:catalyticActivity/up:catalyzedReaction ?rhea . } } ORDER BY ?startId
  7. For a given list of lipid Species, return a list of the corresponding Isomeric subspecies for that particular lipid that are linked to an enzyme as annotated in UniProtKB (UniProt AC and recommended name). This question would allow a user with (a list of) very high level MS identifications to immediately narrow them to the most likely potential lipid structures and protein targets as in this example: SLM:000056871 / PC(O-36:4) (target species of interest) -> SLM:000028143 / PC(O-16:0/20:4(5Z,8Z,11Z,14Z)) -> LPCAT4, PLA2G4A, PLA2G4C, PLA2G4F (target proteins)# Example 7 SELECT ?startId ?startLabel ?id ?name WHERE { # Queried lipid species VALUES ?startId { SLM:000056871 } ?startId rdfs:label ?startLabel . # Corresponding Isomeric subspecies ?id rdfs:subClassOf+ ?startId . ?id SLM:rank SLM:Isomeric_Subspecie ; rdfs:label ?name . # Mapped ChEBI ?id owl:equivalentClass ?chebi . # federated query to Rhea SERVICE <https://sparql.rhea-db.org/sparql> { ?rhea rh:equation ?rheaEquation . ?rhea rh:side/rh:contains/rh:compound/rh:chebi ?chebi . } # federated query to UniProt SERVICE <https://sparql.uniprot.org/sparql> { ?uniprot up:reviewed true . ?uniprot up:recommendedName/up:fullName ?uniprotName . ?uniprot up:annotation/up:catalyticActivity/up:catalyzedReaction ?rhea . } }
  8. Retrieve mapping between SwissLipids lipid identifiers and their corresponding LIPID MAPS identifiers. Output should include SwissLipids identifier and name plus the LIPID MAPS identifier. # Example 8 SELECT ?slm ?slmName ?lipidmaps WHERE { ?slm rdfs:label ?slmName . # Corresponding LIPID MAPS ?slm rdfs:seeAlso ?lipidmaps . FILTER (strstarts(str(?lipidmaps), str(lipidmaps:))) . } ORDER BY ?slm
  9. 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 # 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
  10. Retrieve mapping between SwissLipids lipid identifiers and their corresponding HMDB identifiers. Output should include SwissLipids identifier and name plus the HMDB identifier. # Example 10 SELECT ?slm ?slmName ?hmdb WHERE { ?slm rdfs:label ?slmName . # Corresponding HMDB entries ?slm rdfs:seeAlso ?hmdb . FILTER regex(str(?hmdb), "hmdb") . } ORDER BY ?slm
  11. For a given list of HMDB identifiers return the list of corresponding SwissLipids identifiers. Output should include SwissLipids identifier and name plus the HMDB 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.# Example 11 prefix HMDB:<http://identifiers.org/hmdb/> SELECT ?hmdb ?slm ?slmName WHERE { VALUES ?hmdb {HMDB:HMDB00269 HMDB:HMDB00032 HMDB:HMDB01383} ?slm rdfs:label ?slmName . # Corresponding SwissLipids entries ?slm rdfs:seeAlso ?hmdb . } ORDER BY ?hmdb
  12. Retrieve mapping between SwissLipids lipid identifiers and their corresponding ChEBI identifiers. Output should include SwissLipids identifier and name plus the ChEBI identifier.# Example 12 SELECT ?slm ?slmName ?chebi WHERE { ?slm rdfs:label ?slmName . # Corresponding ChEBI entries ?slm owl:equivalentClass ?chebi . } ORDER BY ?slm
  13. For a given list of ChEBI identifiers return the list of corresponding SwissLipids identifiers. Output should include SwissLipids identifier and name plus the HMDB 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.# Example 13 SELECT ?chebi ?slm ?slmName WHERE { VALUES ?chebi {CHEBI:70846 CHEBI:70771 CHEBI:70829} ?slm rdfs:label ?slmName . # Corresponding SwissLipids entries ?slm owl:equivalentClass ?chebi . } ORDER BY ?chebi
  14. For a given list of LIPID MAPS identifiers return the list of corresponding ChEBI IDs. Output should include LIPID MAPS ID, the corresponding SwissLipids ID and name, plus the ChEBI ID. This query first identifies SwissLipids identifiers for a given list of HMDB identifiers. It then retrieves all children and from them the required LIPID MAPS identifiers. extends ex:9# Example 14 SELECT ?lipidmaps ?slm ?slmName ?chebi WHERE { #VALUES ?lipidmaps {lipidmaps:LMSP01020001 lipidmaps:LMST01010069 lipidmaps:LMST04030222} ?slm rdfs:label ?slmName . # Corresponding SwissLipids entries ?slm rdfs:seeAlso ?lipidmaps . FILTER regex(str(?lipidmaps), "lipidmaps") . # Hierarchical search #?children rdfs:subClassOf* ?slm . #?children rdfs:label ?name . # Corresponding ChEBI entries ?slm owl:equivalentClass ?chebi . } ORDER BY ?lipidmaps ?slm ?chebi
  15. For a given list of LipidX lipid identifiers return the list of published Isomeric subspecies. Output should include the LipidX ID and the corresponding SwissLipids ID(s) and name(s) plus PubMed ID(s). This query first identifies SwissLipids identifiers for a given list of LipidX identifiers. It then retrieves the corresponding Isomeric subspecies that are linked to at least one publication, and the corresponding PMIDs. extends ex:15SELECT ?swisslipid ?lipidx ?isomericsubSwisslipid ?pubmed WHERE { VALUES ?hmdb {'HMDB00269' 'MDB00032'} BIND (IRI(CONCAT('http://identifiers.org/lipidx/', ?lipidx)) AS ?lipidxIRI) ?swisslipid rdfs:seeAlso ?lipidxIRI . ?swisslipid rdfs:subClassOf ?isomericsubSwisslipid . ?isomericsubSwisslipid SLM:rank SLM:Isomeric_Subspecies . ?isomericsubSwisslipid SLM:citation ?pubmed . }
  16. More examples

About

This SPARQL endpoint contains all SwissLipids data. It is free to access and supports the SPARQL 1.1 Standard.

There are 13,400,230 triples in this release (2022_06_26). The query timeout is 45 minutes. All triples are available in the default graph. There are 3 named graphs.

Documentation

  1. Statistics and diagrams
  2. Example queries