175_uniprot_identity_of_a_pdb_entry_via_pdbj

rq turtle/ttl

Starting from PDB entry pdb_00002bq0 (the extended, versioned wwPDB identifier for legacy entry 2BQ0), federate live with PDBj/RDF Portal's wwPDB RDF to retrieve the recommended or submitted protein name and organism of the UniProt entity it was solved from -- the reverse direction of resolving a protein to its PDB structures

Use at

PREFIX up: <http://purl.uniprot.org/core/>
PREFIX pdbo: <http://rdf.wwpdb.org/schema/pdbx-with-vrptx-v50.owl#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>

SELECT
  ?protein
  ?recommendedName
  ?organismName
WHERE {
  SERVICE <https://rdfportal.org/pdb/sparql> {
    # The extended, versioned wwPDB identifier is recorded as a
    # skos:altLabel on the entry, alongside its legacy 4-character code.
    ?pdbEntry skos:altLabel "pdb_00002bq0" .
    ?pdbEntry pdbo:has_struct_refCategory/pdbo:has_struct_ref ?structRef .
    ?structRef pdbo:link_to_uniprot ?protein .
  }

  ?protein up:organism ?organism .
  ?organism up:scientificName ?organismName .
  OPTIONAL {
    ?protein up:recommendedName  ?name .
  }
  OPTIONAL {
    FILTER(! BOUND(?name))
    ?protein up:submittedName ?name .
  }
  ?name up:fullName ?recommendedName  ;
}
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
  v1("?name")
  v5("?organism")
  v6("?organismName"):::projected 
  v2("?pdbEntry")
  v4("?protein"):::projected 
  v7("?recommendedName"):::projected 
  v3("?structRef")
  a1((" "))
  c3(["pdb_00002bq0"]):::literal 
  subgraph s1["https://rdfportal.org/pdb/sparql"]
    style s1 stroke-width:4px;
    v2 --"skos:altLabel"-->  c3
    v2 --http://rdf.wwpdb.org/schema/pdbx-with-vrptx-v50.owl#has_struct_refCategory-->  a1
    a1 --http://rdf.wwpdb.org/schema/pdbx-with-vrptx-v50.owl#has_struct_ref-->  v3
    v3 --http://rdf.wwpdb.org/schema/pdbx-with-vrptx-v50.owl#link_to_uniprot-->  v4
  end
  v4 --"up:organism"-->  v5
  v5 --"up:scientificName"-->  v6
  subgraph optional0["(optional)"]
  style optional0 fill:#bbf,stroke-dasharray: 5 5;
    v4 -."up:recommendedName".->  v1
  end
  subgraph optional1["(optional)"]
  style optional1 fill:#bbf,stroke-dasharray: 5 5;
    v4 -."up:submittedName".->  v1
  end
  v1 --"up:fullName"-->  v7