sparql-examples

A set of SPARQL examples that are used in different SIB resources

View the Project on GitHub sib-swiss/sparql-examples

neXtProt/NXQ_00081

Proteins with at least one 3D structure and that are located in the mitochondrion and are linked with a disease

Use at

PREFIX : <http://nextprot.org/rdf/>
PREFIX nextprot_cv: <http://nextprot.org/rdf/terminology/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

SELECT DISTINCT ?entry WHERE {
 values ?mitoloc {nextprot_cv:SL-0173 nextprot_cv:GO_0005739} # SL and GO values for mitochondrion
 ?entry :isoform ?iso.
 ?iso :pdbMapping ?map.
 ?iso :cellularComponent ?loc .
 ?loc :term /:childOf ?mitoloc . # mitochondrial
 filter not exists { ?loc :negativeEvidence ?negev. } # No negative localization evidence
 {
 ?iso :medical / rdf:type :Disease.
 } union {
 ?iso :uniprotKeyword / :term ?kw .
 ?kw :termType "Disease"^^xsd:string
 filter (?kw != nextprot_cv:KW-0656)
 }
}
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
  v4("?entry"):::projected 
  v5("?iso")
  v7("?kw")
  v1("?loc")
  v6("?map")
  v3("?mitoloc")
  v2("?negev")
  a1((" "))
  a2((" "))
  a3((" "))
  c13(["Disease"]):::literal 
  c9([":Disease"]):::iri 
  f0[["not  "]]
  subgraph f0e0["Exists Clause"]
    e0v1 --":negativeEvidence"-->  e0v2
    e0v1("?loc"):::projected 
    e0v2("?negev"):::projected 
  end
  f0--EXISTS--> f0e0
  f0 --> v1
  f0 --> c1
  f0 --> v2
  v1 --":negativeEvidence"-->  v2
  bind1[/VALUES ?mitoloc/]
  bind1-->v3
  bind10([":terminology/SL-0173"])
  bind10 --> bind1
  bind11([":terminology/GO_0005739"])
  bind11 --> bind1
  v4 --":isoform"-->  v5
  v5 --":pdbMapping"-->  v6
  v5 --":cellularComponent"-->  v1
  v1 --":term"-->  a1
  a1 --":childOf"-->  v3
  subgraph union0[" Union "]
  subgraph union0l[" "]
    style union0l fill:#abf,stroke-dasharray: 3 3;
    f2[["?kw != ':terminology/KW-0656'"]]
    f2 --> v7
    v5 --":uniprotKeyword"-->  a3
    a3 --":term"-->  v7
    v7 --":termType"-->  c13
  end
  subgraph union0r[" "]
    style union0r fill:#abf,stroke-dasharray: 3 3;
    v5 --":medical"-->  a2
    a2 --"a"-->  c9
  end
  union0r <== or ==> union0l
  end