187_reactome_pathways_via_ensembl_gene
- Ensembl
- Reactome
- pathway
- federation
Given a UniProt protein (human TP53, P04637), list the Reactome pathways it participates in, reached via its Ensembl gene's own rdfs:seeAlso links at RDF Portal. This is a federated alternative to any pathway cross-references UniProt exposes directly: the Ensembl gene resource carries rdfs:seeAlso triples both back to the UniProt protein and out to each Reactome pathway identifier, so matching on the shared gene resource joins the two
Use at
PREFIX up: <http://purl.uniprot.org/core/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ensembl: <http://rdf.ebi.ac.uk/terms/ensembl/>
SELECT
?gene
?reactomePathway
WHERE {
BIND(<http://purl.uniprot.org/uniprot/P04637> AS ?protein)
SERVICE <https://rdfportal.org/ebi/sparql> {
?gene a ensembl:EnsemblGene ;
rdfs:seeAlso ?protein ;
rdfs:seeAlso ?reactomePathway .
FILTER(STRSTARTS(STR(?reactomePathway), "http://identifiers.org/reactome/"))
}
}
LIMIT 20
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
v3("?gene"):::projected
v1("?protein")
v2("?reactomePathway"):::projected
c4([http://rdf.ebi.ac.uk/terms/ensembl/EnsemblGene]):::iri
bind0[/"http://purl.uniprot.org/uniprot/P04637"/]
bind0 --as--o v1
subgraph s1["https://rdfportal.org/ebi/sparql"]
style s1 stroke-width:4px;
f1[["starts-with(str(?reactomePathway),'http://identifiers.org/reactome/')"]]
f1 --> v2
v3 --"a"--> c4
v3 --"rdfs:seeAlso"--> v1
v3 --"rdfs:seeAlso"--> v2
end