SPARQL example query
27: Retrieve all protein names, including peptide names, associated with UniProtKB entry P05067.
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
?protein
?anyKindOfName
?names
?partType
WHERE
{
BIND(<http://purl.uniprot.org/uniprot/P05067> AS ?protein)
?protein a up:Protein .
{
?protein (up:recommendedName|up:alternativeName) ?structuredName .
}
UNION
{
VALUES(?partType){(up:domain) (up:component)}
?protein ?partType ?part .
?part (up:recommendedName|up:alternativeName) ?structuredName .
}
?structuredName ?anyKindOfName ?names .
?anyKindOfName rdfs:subPropertyOf up:structuredNameType .
}
27: Find all names associated with UniProtKB entry P05067, and if the name is associated with the entry it's domains or its components
xxxxxxxxxx
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
?protein
?anyKindOfName
?names
?partType
WHERE
{
BIND(<http://purl.uniprot.org/uniprot/P05067> AS ?protein)
?protein a up:Protein .
{
?protein (up:recommendedName|up:alternativeName) ?structuredName .
}
UNION
{
VALUES(?partType){(up:domain) (up:component)}
?protein ?partType ?part .
?part (up:recommendedName|up:alternativeName) ?structuredName .
}
?structuredName ?anyKindOfName ?names .
?anyKindOfName rdfs:subPropertyOf up:structuredNameType .
}
28: Get the list of UniProtKB entries for the chromosome of proteome UP000000625
xxxxxxxxxx
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
?protein
?proteome
WHERE
{
?protein a up:Protein ;
up:reviewed true ;
up:proteome ?proteome .
VALUES (?proteome) {(<http://purl.uniprot.org/proteomes/UP000000625#Chromosome>)}
}
29: Use ALLIE a service for Abbreviation / Long Form in Japanese and English to search in UniProt using Japanese.
xxxxxxxxxx
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT ?protein ?englishLabelStr
WHERE {
SERVICE <https://data.allie.dbcls.jp/sparql>{
?x rdfs:label "アミロイド前駆体タンパク質" ;
rdfs:label ?englishLabel .
FILTER(lang(?englishLabel) = "en")
}
BIND (STR(?englishLabel) AS ?englishLabelStr)
?protein a up:Protein .
{
?protein (up:recommendedName|up:alternativeName) ?structuredName .
}
UNION
{
VALUES(?partType){(up:domain) (up:component)}
?protein ?partType ?part .
?part (up:recommendedName|up:alternativeName) ?structuredName .
}
?structuredName ?anyKindOfName ?englishLabelStr .
?anyKindOfName rdfs:subPropertyOf up:structuredNameType .
}
30: Find UniProtKB entries with merged loci in Bordetella avium
xxxxxxxxxx
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
?protein
(GROUP_CONCAT(?locusName; separator=',') AS ?locusNames)
WHERE
{
?protein a up:Protein ;
up:organism taxon:360910 ;
up:encodedBy ?gene .
?gene up:locusName ?locusName .
}
GROUP BY ?protein
HAVING (COUNT(?locusName) > 1)
31: Find UniParc records whose sequence point to the most database entries
xxxxxxxxxx
PREFIX up: <http://purl.uniprot.org/core/>
SELECT ?sequence ?entries
WHERE
{
SELECT
?sequence
(COUNT(?entry) AS ?entries)
WHERE
{
GRAPH <http://sparql.uniprot.org/uniparc> {
?sequence up:sequenceFor ?entry .
}
} GROUP BY ?sequence
} ORDER BY DESC(?entries)
32: Find UniProtKB entries with more than 1 Topological domain annotation
xxxxxxxxxx
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
?protein
(GROUP_CONCAT(?comment; separator=", ") AS ?comments)
WHERE
{
?protein a up:Protein ;
up:annotation ?annotation .
?annotation rdf:type up:Topological_Domain_Annotation ;
rdfs:comment ?comment .
}
GROUP BY ?protein
HAVING (COUNT(?annotation) > 1)
33: Find longest comment text associated with a UniProtKB natural variant annotation
xxxxxxxxxx
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
?annotation ?comment
WHERE {
?annotation a up:Natural_Variant_Annotation ;
rdfs:comment ?comment .
}
ORDER BY DESC(STRLEN(?comment))
34: Find the co-occurence count of topological domain comment text in UniProtKB entries
xxxxxxxxxx
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
?comment1
?comment2
(COUNT(?comment1) AS ?count1)
WHERE
{
?protein a up:Protein ;
up:annotation ?annotation1 ,
?annotation2 .
?annotation1 rdf:type up:Topological_Domain_Annotation ;
rdfs:comment ?rawComment1 .
?annotation2 rdf:type up:Topological_Domain_Annotation ;
rdfs:comment ?rawComment2 .
BIND(IF(contains(?rawComment1, ';'),
STRBEFORE(?rawComment1,';'),
?rawComment1) AS ?comment1)
BIND(IF(contains(?rawComment2, ';'),
STRBEFORE(?rawComment2,';'),
?rawComment2) AS ?comment2)
FILTER(?annotation1 != ?annotation2)
}
GROUP BY ?comment1 ?comment2
ORDER BY DESC(COUNT(?comment1))
35: Find the similar proteins for UniProtKB entry P05067 sorted by UniRef cluster identity
xxxxxxxxxx
PREFIX uniprotkb: <http://purl.uniprot.org/uniprot/>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
?similar ?identity
FROM <http://sparql.uniprot.org/uniref>
FROM <http://sparql.uniprot.org/uniprot>
WHERE
{
BIND (uniprotkb:P05607 AS ?protein)
?cluster up:member ?member ;
up:member/up:sequenceFor ?protein;
up:identity ?identity .
?member up:sequenceFor ?similar .
FILTER(!sameTerm(?similar, ?protein))
}
ORDER BY DESC(?identity)
36: Find the orthologous proteins for UniProtKB entry P05067 using the OrthoDB database
xxxxxxxxxx
PREFIX orthodb: <http://purl.orthodb.org/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX uniprotkb: <http://purl.uniprot.org/uniprot/>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
?protein
?orthoGroup
?scientificName
?functionComment
?prefferedGeneName
((STRLEN(?value) - ?medianLength) as ?deviationFromMedianLength)
WHERE
{
uniprotkb:P05067 a up:Protein ;
up:organism/up:scientificName ?scientificName ;
rdfs:seeAlso ?orthoGroup ;
up:encodedBy/skos:prefLabel ?prefferedGeneName ;
up:sequence/rdf:value ?value .
OPTIONAL {
?protein up:annotation ?functionAnnotation .
?functionAnnotation a up:Function_Annotation ;
rdfs:comment ?functionComment .
}
SERVICE <https://sparql.orthodb.org/sparql>{
?orthoGroup orthodb:ogMedianProteinLength ?medianLength .
?orthoGroup orthodb:hasMember ?xref .
?xref orthodb:xref/orthodb:xrefResource uniprotkb:P05067 .
}
}
37: Find the human protein which contains an epitope VSTQ, where T is a phosphorylated threonine
xxxxxxxxxx
PREFIX faldo: <http://biohackathon.org/resource/faldo#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
?protein
?comment
?begin
?end
WHERE
{
?protein a up:Protein ;
up:organism taxon:9606 ;
up:sequence ?sequence ;
up:annotation ?annotation .
?annotation a up:Modified_Residue_Annotation ;
rdfs:comment ?comment ;
up:range ?range .
?range
faldo:begin [ faldo:position ?begin ; faldo:reference ?sequence ] ;
faldo:end [ faldo:position ?end ; faldo:reference ?sequence ] .
?sequence rdf:value ?aaSequence .
FILTER (SUBSTR(?aaSequence, ?begin -2 , 4) = "VSTQ")
FILTER (CONTAINS(?comment, "Phosphothreonine"))
}
38: For the human entry P05067 (Amyloid-beta precursor protein) find the gene start ends in WikiData
xxxxxxxxxx
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX pq: <http://www.wikidata.org/prop/qualifier/>
PREFIX ps: <http://www.wikidata.org/prop/statement/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX uniprotkb: <http://purl.uniprot.org/uniprot/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
SELECT
?protein
?begin
?end
?chromosome
?assembly
WHERE {
{
BIND(uniprotkb:P05067 AS ?proteinIRI)
BIND (SUBSTR(STR(?proteinIRI), STRLEN(STR(uniprotkb:))+1) AS ?protein)
}
SERVICE <https://query.wikidata.org/sparql> {
?wp wdt:P352 ?protein ;
wdt:P702 ?wg .
?wg p:P644 ?wgss .
?wgss ps:P644 ?begin ;
pq:P1057/wdt:P1813 ?chromosome ;
pq:P659/rdfs:label ?assembly .
?wg p:P645 ?wgse .
?wgse ps:P645 ?end ;
pq:P1057/wdt:P1813 ?chromosome ;
pq:P659/rdfs:label ?assembly .
FILTER(lang(?assembly) = "en")
}
}
39: Retrieve entries and catalytic activities in the reviewed (UniProtKB/Swiss-Prot) section that have experimental evidences,
xxxxxxxxxx
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
?protein
?rhea
WHERE {
# ECO 269 is experimental evidence
BIND (<http://purl.obolibrary.org/obo/ECO_0000269> as ?evidence)
GRAPH <http://sparql.uniprot.org/uniprot> {
?protein up:reviewed true ;
up:annotation ?a ;
up:attribution ?attribution .
?a a up:Catalytic_Activity_Annotation ;
up:catalyticActivity ?ca .
?ca up:catalyzedReaction ?rhea .
[] rdf:subject ?a ;
rdf:predicate up:catalyticActivity ;
rdf:object ?ca ;
up:attribution ?attribution .
?attribution up:evidence ?evidence .
}
}
40: Retrieve human enzymes that metabolize sphingolipids and are annotated in ChEMBL
xxxxxxxxxx
PREFIX CHEBI: <http://purl.obolibrary.org/obo/CHEBI_>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rh: <http://rdf.rhea-db.org/>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT DISTINCT ?protein ?chemblEntry
WHERE {
SERVICE <https://sparql.rhea-db.org/sparql> {
?rhea rdfs:subClassOf rh:Reaction ;
rh:side/rh:contains/rh:compound/rh:chebi/rdfs:subClassOf+ CHEBI:26739 .
}
?ca up:catalyzedReaction ?rhea .
?protein up:annotation/up:catalyticActivity ?ca ;
up:organism taxon:9606 ;
rdfs:seeAlso ?chemblEntry .
?chemblEntry up:database <http://purl.uniprot.org/database/ChEMBL> .
}
41: Retrieve UniProtKB entries with sequences that are composed of fragments
xxxxxxxxxx
PREFIX up: <http://purl.uniprot.org/core/>
SELECT DISTINCT
?protein
WHERE {
?protein a up:Protein ;
up:sequence ?sequence .
MINUS { ?sequence up:fragment [] }
}
42: Connect patents cited in UniProtKB with those in the patent database at EPO via publication number.
xxxxxxxxxx
PREFIX patent: <http://data.epo.org/linked-data/def/patent/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT ?citation ?patent ?application ?applicationNo
WHERE
{
?citation a up:Patent_Citation ;
skos:exactMatch ?patent .
FILTER(CONTAINS(STR(?patent), 'EP'))
BIND(SUBSTR(STR(?patent), 35) AS ?applicationNo)
SERVICE <https://data.epo.org/linked-data/query>{
?application patent:publicationNumber ?applicationNo
}
}
43: Connect patents cited in UniProtKB with those in the patent database at EPO via publication number, whose grant date is more than twenty years in the past.
xxxxxxxxxx
PREFIX patent: <http://data.epo.org/linked-data/def/patent/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT ?grantDate ?patent ?application ?applicationNo
WHERE
{
?citation a up:Patent_Citation ;
skos:exactMatch ?patent .
BIND(SUBSTR(STR(?patent), 35) AS ?applicationNo)
BIND(SUBSTR(STR(?patent), 33, 2) AS ?countryCode)
SERVICE <https://data.epo.org/linked-data/query>{
?publication patent:publicationNumber ?applicationNo ;
patent:application ?application .
?application patent:grantDate ?grantDate .
}
BIND((year(now()) - 20) AS ?thisYearMinusTwenty)
BIND(year(?grantDate) AS ?grantYear)
FILTER(?grantYear < ?thisYearMinusTwenty)
} ORDER BY ?grantYear
44: Find the Rhea and InterPro combinations in UniProtKB entries.
xxxxxxxxxx
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
?interpro
?rhea
FROM <http://sparql.uniprot.org/uniprot>
WHERE
{
?protein up:reviewed true .
?protein up:annotation ?annotation .
?annotation up:catalyticActivity ?rhea .
?protein rdfs:seeAlso ?interpro .
?interpro up:database <http://purl.uniprot.org/database/InterPro> .
} ORDER BY ?rhea
45: Retrieve drugs that target human enzymes involved in sterol metabolism (federated query with WikiData and Rhea).
xxxxxxxxxx
PREFIX CHEBI: <http://purl.obolibrary.org/obo/CHEBI_>
PREFIX chebihash: <http://purl.obolibrary.org/obo/chebi#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rh: <http://rdf.rhea-db.org/>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX uniprotkb: <http://purl.uniprot.org/uniprot/>
PREFIX up: <http://purl.uniprot.org/core/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
SELECT DISTINCT ?protein ?proteinFullName ?wikiChemical ?wikiChemicalLabel ?medicalConditionTreatedLabel
WHERE {
# ChEBI: retrieve members of the ChEBI class ChEBI:15889 (sterol)
# Rhea: retrieve the reactions involving these ChEBI as participants
SERVICE <https://sparql.rhea-db.org/sparql> {
?reaction rdfs:subClassOf rh:Reaction ;
rh:status rh:Approved ;
rh:side ?reactionSide .
?reactionSide
rh:contains ?participant .
?participant rh:compound ?compound
{
?compound rh:chebi ?chebi .
?chebi (rdfs:subClassOf)+ CHEBI:15889
} UNION {
?compound rh:chebi ?chebi .
?chebi2 rdfs:subClassOf ?chebiRestriction .
?chebiRestriction
a owl:Restriction ;
owl:onProperty chebihash:has_major_microspecies_at_pH_7_3 ;
owl:someValuesFrom ?chebi .
?chebi2 (rdfs:subClassOf)+ CHEBI:15889
}
}
# UniProt: retrieve the human (taxid:9606) enzymes catalyzing these Rhea reactions
?ca up:catalyzedReaction ?reaction .
?a up:catalyticActivity ?ca .
?proteinIRI up:annotation ?a ;
up:organism taxon:9606 ;
up:recommendedName ?proteinRecName .
?proteinRecName up:fullName ?proteinFullName .
# Find drugs in wikidata that interact with the UniProt Proteins
BIND (SUBSTR(STR(?proteinIRI), STRLEN(STR(uniprotkb:))+1) AS ?protein)
SERVICE <https://query.wikidata.org/sparql> {
?wp wdt:P352 ?protein .
?wikiChemical wdt:P129 ?wp . # Physically interacts with
?wikiChemical rdfs:label ?wikiChemicalLabel .
?wikiChemical wdt:P2175 ?wmc . # Medical conndition treated
?wmc rdfs:label ?medicalConditionTreatedLabel .
FILTER(lang(?medicalConditionTreatedLabel) = 'en')
FILTER(lang(?wikiChemicalLabel) = 'en')
}
}
46: Retrieve images of 'Anas' (Ducks) from the European Environmental Agency databases (federated query).
xxxxxxxxxx
PREFIX eunisSpecies: <http://eunis.eea.europa.eu/rdf/species-schema.rdf#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
?taxon
?ncbiTaxid
?eunisTaxon
?eunisName
?image
WHERE
{
GRAPH <http://sparql.uniprot.org/taxonomy>
{
?taxon a up:Taxon .
# Taxon subclasses are materialized, do not use rdfs:subClassOf+
?taxon rdfs:subClassOf taxon:8835 .
BIND(strafter(str(?taxon), 'onomy/') AS ?ncbiTaxid)
}
SERVICE <https://semantic.eea.europa.eu/sparql>
{
?eunisTaxon a eunisSpecies:SpeciesSynonym ;
eunisSpecies:binomialName ?eunisName ;
eunisSpecies:sameSpeciesNCBI ?ncbiTaxid ;
<http://xmlns.com/foaf/0.1/depiction> ?image .
}
}
47: Find UniProtKB entries with a transmembrane region, with an alanine in the 15 amino acid region preceding the transmembrane
xxxxxxxxxx
PREFIX faldo: <http://biohackathon.org/resource/faldo#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT ?protein ?from ?interestingRegion
WHERE
{
?protein up:annotation ?annotation .
?annotation a up:Transmembrane_Annotation .
# Get the coordinates of the Transmembrane
?annotation up:range ?range .
?range faldo:begin ?beginI .
?beginI faldo:position ?begin .
?beginI faldo:reference ?sequence .
# The aas will have the specific IUPAC aminoacids
?sequence rdf:value ?aas .
# We calculate the start by substracting 10
BIND(?begin - 10 AS ?tenBeforeBegin)
# Can't start before the sequence starts or we might miss some results
BIND(IF(?tenBeforeBegin < 1, 0, ?tenBeforeBegin) AS ?from)
# Substring the IUPAC aminoacids
BIND(SUBSTR(?aas, ?from, 15) AS ?interestingRegion)
# The interestingRegion needds to contain an Alanine
FILTER(CONTAINS(?interestingRegion, 'A'))
}
48: Retrieve glycosylation sites and glycans on human enzymes (federated with Glyconnect)
xxxxxxxxxx
PREFIX faldo: <http://biohackathon.org/resource/faldo#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX glycan: <http://purl.jp/bio/12/glyco/glycan#>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
DISTINCT
?protein ?glycosite ?glycostructure ?glycoimage
WHERE{
?protein up:annotation ?annotation .
?protein up:organism taxon:9606 .
?annotation a up:Catalytic_Activity_Annotation .
?protein up:sequence ?isoform .
SERVICE <https://glyconnect.expasy.org/sparql> {
?glycosite faldo:reference ?isoform .
?glycosite faldo:position ?position .
?specificglycosite faldo:location ?glycosite .
?glycoprotein glycan:glycosylated_at ?specificglycosite .
?glycostructure glycan:glycosylates_at ?specificglycosite .
?glycostructure foaf:depiction ?glycoimage .
}
}
49: Retrieve the UniProtKB proteins, their catalyzed Rhea reactions, their encoding genes (Ensembl) and the anatomic entities where the genes are expressed (UBERON anatomic entites from Bgee expression data resource).
xxxxxxxxxx
PREFIX CHEBI: <http://purl.obolibrary.org/obo/CHEBI_>
PREFIX genex: <http://purl.org/genex#>
PREFIX lscr: <http://purl.org/lscr#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rh: <http://rdf.rhea-db.org/>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT DISTINCT ?protein ?ensemblGene ?reaction ?anatomicEntityLabel ?anatomicEntity
WHERE {
# federated query to Rhea enadpoint
{
SELECT DISTINCT ?reaction WHERE {
SERVICE <https://sparql.rhea-db.org/sparql> {
?reaction rdfs:subClassOf rh:Reaction ;
rh:equation ?reactionEquation ;
rh:side ?reactionSide .
?reactionSide rh:contains ?participant .
?participant rh:compound ?compound .
# compound constraint (CHEBI:16113 == cholesterol)
?compound rh:chebi CHEBI:16113 .
}
}
}
# taxonomy constraint (taxon:9606 == Homo sapiens)
?protein up:organism taxon:9606 ;
up:annotation ?a ;
rdfs:seeAlso / up:transcribedFrom ?ensemblGene .
?a a up:Catalytic_Activity_Annotation ;
up:catalyticActivity ?ca .
?ca up:catalyzedReaction ?reaction .
# federated query to Bgee (expression data)
BIND(IRI(REPLACE(STR(?ensemblGene), "\\.[0-9]+$", "")) AS ?ensemblGeneNoVersion)
SERVICE <https://www.bgee.org/sparql> {
?gene lscr:xrefEnsemblGene ?ensemblGeneNoVersion ;
genex:isExpressedIn ?anatomicEntity .
?anatomicEntity rdfs:label ?anatomicEntityLabel .
}
}
50: Where are the human genes encoding enzymes metabolizing N-acyl sphingosines expressed in the human body (federated query, with Rhea and Bgee)
xxxxxxxxxx
PREFIX CHEBI: <http://purl.obolibrary.org/obo/CHEBI_>
PREFIX genex: <http://purl.org/genex#>
PREFIX lscr: <http://purl.org/lscr#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rh: <http://rdf.rhea-db.org/>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
DISTINCT
?chebi
?reaction
?protein ?ensemblGene
?anatomicEntityLabel
?anatomicEntity
WHERE {
SERVICE <https://sparql.rhea-db.org/sparql> {
?reaction rdfs:subClassOf rh:Reaction .
?reaction rh:equation ?reactionEquation .
?reaction rh:side ?reactionSide .
?reactionSide rh:contains ?participant .
?participant rh:compound ?compound .
?compound rh:chebi ?chebi .
?chebi rdfs:subClassOf* CHEBI:52639
}
?protein up:organism taxon:9606 .
?protein up:annotation ?a .
?a a up:Catalytic_Activity_Annotation .
?a up:catalyticActivity ?ca .
?ca up:catalyzedReaction ?reaction .
?protein rdfs:seeAlso / up:transcribedFrom ?ensemblGene .
SERVICE <https://www.bgee.org/sparql> {
?gene genex:isExpressedIn ?anatomicEntity .
?gene lscr:xrefEnsemblGene ?ensemblGene .
?anatomicEntity rdfs:label ?anatomicEntityLabel .
}
}
51: Find all proteins linked to arachidonate (CHEBI:32395)
xxxxxxxxxx
PREFIX CHEBI: <http://purl.obolibrary.org/obo/CHEBI_>
PREFIX rh: <http://rdf.rhea-db.org/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX up: <http://purl.uniprot.org/core/>
SELECT
DISTINCT
?uniprot
?uniprotID
?recname
?gene
?chebi
?uniprotName
WHERE {
SERVICE <https://sparql.rhea-db.org/sparql> {
VALUES (?chebi) { (CHEBI:32395) }
?rhea rh:side/rh:contains/rh:compound ?compound .
?compound rh:chebi ?chebi .
?chebi up:name ?uniprotName .
}
?uniprot up:annotation/up:catalyticActivity/up:catalyzedReaction ?rhea .
?uniprot up:mnemonic ?uniprotID .
?uniprot up:recommendedName/up:fullName ?recname .
OPTIONAL {?uniprot up:encodedBy/skos:prefLabel ?gene .}
}