213_protein_isolated_from_tissue

rq turtle/ttl

Find the tissue a protein was originally found to be expressed in from (up:isolatedFrom), distinct from its usual organism/subcellular-location annotations — the object is either a shared Tissue resource or a locally-defined (entry specific) tissue label

Use at

PREFIX up: <http://purl.uniprot.org/core/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>

SELECT
  ?protein
  ?tissue
  ?tissueLabel
WHERE {
  ?protein a up:Protein ;
    up:isolatedFrom ?tissue .
  ?tissue a up:Tissue .
  # A shared tissue resource carries a skos:prefLabel; a protein-local
  # tissue fragment (minted when no shared resource exists) carries an
  # rdfs:label instead.
  OPTIONAL { ?tissue skos:prefLabel ?tissueLabel }
  OPTIONAL { ?tissue rdfs:label ?tissueLabel }
}
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
  v1("?protein"):::projected 
  v2("?tissue"):::projected 
  v3("?tissueLabel"):::projected 
  c4(["up:Tissue"]):::iri 
  c2(["up:Protein"]):::iri 
  v1 --"a"-->  c2
  v1 --"up:isolatedFrom"-->  v2
  v2 --"a"-->  c4
  subgraph optional0["(optional)"]
  style optional0 fill:#bbf,stroke-dasharray: 5 5;
    v2 -."skos:prefLabel".->  v3
  end
  subgraph optional1["(optional)"]
  style optional1 fill:#bbf,stroke-dasharray: 5 5;
    v2 -."rdfs:label".->  v3
  end