187_reactome_pathways_via_ensembl_gene

rq turtle/ttl

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