174_pdb_structures_via_pdbj_federation

rq turtle/ttl

Starting from human tumor suppressor TP53 (P04637), federate live with PDBj/RDF Portal's wwPDB RDF to list the extended, versioned wwPDB identifier (e.g. pdb_00002bq0, not the legacy 4-character code) of every PDB entry that has been experimentally solved for it. This goes through PDBj's own pdbo:link_to_uniprot cross-reference rather than UniProt's local rdfs:seeAlso/database cross-reference, so it is a genuine two-endpoint federated query, not a locally-built PDB identifier

Use at

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

SELECT
  ?extendedPdbId
  #?pdb
WHERE {
  BIND(uniprotkb:P04637 AS ?protein)
  # Compare with cross-reference stored in UniProtKB
  #?protein rdfs:seeAlso ?pdb .
  #?pdb up:database <http://purl.uniprot.org/database/wwPDB>
  SERVICE <https://rdfportal.org/pdb/sparql> {
    ?structRef pdbo:link_to_uniprot ?protein .
    ?pdbEntry pdbo:has_struct_refCategory/pdbo:has_struct_ref ?structRef .
    # Entries carry both their legacy 4-character code and the newer,
    # extended/versioned wwPDB identifier as skos:altLabel; the extended
    # one is the only one starting with "pdb_".
    ?pdbEntry skos:altLabel ?extendedPdbId .
    FILTER(STRSTARTS(?extendedPdbId, "pdb_"))
  }
}
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
  v2("?extendedPdbId"):::projected 
  v4("?pdbEntry")
  v1("?protein")
  v3("?structRef")
  a1((" "))
  bind0[/"'uniprotkb:P04637'"/]
  bind0 --as--o v1
  subgraph s1["https://rdfportal.org/pdb/sparql"]
    style s1 stroke-width:4px;
    f1[["starts-with(?extendedPdbId,'pdb_')"]]
    f1 --> v2
    v3 --http://rdf.wwpdb.org/schema/pdbx-with-vrptx-v50.owl#link_to_uniprot-->  v1
    v4 --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
    v4 --"skos:altLabel"-->  v2
  end