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_00028

Proteins associated with a disease but without a disease-causing amino-acid substitution variant

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 {
 ?entry :isoform ?iso.
 {
	 ?iso :medical / rdf:type :Disease.
 } union {
 ?iso :uniprotKeyword / :term ?kw .
	 ?kw :termType "Disease"^^xsd:string
	 filter (?kw != nextprot_cv:KW-0656)
 }
 filter ( not exists { ?entry :isoform / :variant / :disease ?_ . } )
 filter ( not exists {
	?entry :isoform / :proteoform ?pf.
	?pf :difference / :evidence / :negative false. # positive evidence only
	?pf :diseaseRelatedVariant / :term nextprot_cv:ME_0000013 . # cause of disease
 } )
}
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
  v3("?_")
  v1("?entry"):::projected 
  v4("?iso")
  v5("?kw")
  v2("?pf")
  a7((" "))
  a8((" "))
  a5((" "))
  a6((" "))
  a1((" "))
  a2((" "))
  a3((" "))
  a4((" "))
  c18(["Disease"]):::literal 
  c6(["false^^xsd:boolean"]):::literal 
  c9([":terminology/ME_0000013"]):::iri 
  c14([":Disease"]):::iri 
  f0[["not  "]]
  subgraph f0e0["Exists Clause"]
    e0v1 --":isoform"-->  e0a1
    e0a1 --":proteoform"-->  e0v2
    e0v2 --":difference"-->  e0a2
    e0a2 --":evidence"-->  e0a3
    e0a3 --":negative"-->  e0c6
    e0v2 --":diseaseRelatedVariant"-->  e0a4
    e0a4 --":term"-->  e0c9
    e0v1("?entry"):::projected 
    e0v2("?pf"):::projected 
    e0a1((" ")):::projected 
    e0a2((" ")):::projected 
    e0a3((" ")):::projected 
    e0a4((" ")):::projected 
    e0c6(["false^^xsd:boolean"]):::literal 
    e0c9([":terminology/ME_0000013"]):::iri 
  end
  f0--EXISTS--> f0e0
  f0 --> v1
  f0 --> c1
  f0 --> a1
  f0 --> c2
  f0 --> v2
  f0 --> c3
  f0 --> a2
  f0 --> c4
  f0 --> a3
  f0 --> c5
  f0 --> c6
  f0 --> c7
  f0 --> a4
  f0 --> c8
  f0 --> c9
  v1 --":isoform"-->  a1
  a1 --":proteoform"-->  v2
  v2 --":difference"-->  a2
  a2 --":evidence"-->  a3
  a3 --":negative"-->  c6
  v2 --":diseaseRelatedVariant"-->  a4
  a4 --":term"-->  c9
  f1[["not  "]]
  subgraph f1e1["Exists Clause"]
    e1v1 --":isoform"-->  e1a1
    e1a1 --":variant"-->  e1a2
    e1a2 --":disease"-->  e1v2
    e1v2("?_"):::projected 
    e1v1("?entry"):::projected 
    e1a1((" ")):::projected 
    e1a2((" ")):::projected 
  end
  f1--EXISTS--> f1e1
  f1 --> v1
  f1 --> c1
  f1 --> a5
  f1 --> c10
  f1 --> a6
  f1 --> c11
  f1 --> v3
  v1 --":isoform"-->  a5
  a5 --":variant"-->  a6
  a6 --":disease"-->  v3
  v1 --":isoform"-->  v4
  subgraph union0[" Union "]
  subgraph union0l[" "]
    style union0l fill:#abf,stroke-dasharray: 3 3;
    f2[["?kw != ':terminology/KW-0656'"]]
    f2 --> v5
    v4 --":uniprotKeyword"-->  a8
    a8 --":term"-->  v5
    v5 --":termType"-->  c18
  end
  subgraph union0r[" "]
    style union0r fill:#abf,stroke-dasharray: 3 3;
    v4 --":medical"-->  a7
    a7 --"a"-->  c14
  end
  union0r <== or ==> union0l
  end