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_00023

Proteins that are involved in transport and located in a membrane and that are not glycosylated (experimentally or predicted)

Use at

PREFIX : <http://nextprot.org/rdf/>
PREFIX nextprot_cv: <http://nextprot.org/rdf/terminology/>

SELECT DISTINCT ?entry WHERE {
 ?entry :isoform ?iso .
 {
 ?iso :goBiologicalProcess ?gofunc .
	?gofunc :term / :childOf nextprot_cv:GO_0006810. # GO value for transport
	filter not exists {?gofunc :negativeEvidence ?negev} # No negative function evidence
 } union {
 ?iso :uniprotKeyword / :term nextprot_cv:KW-0813. # KW for transport
 }
 {
 ?iso :uniprotKeyword / :term nextprot_cv:KW-0812. # transmembrane
 } union {
 ?iso :topology / :term nextprot_cv:CVTO_0004. # intramembrane
 }
 filter not exists { ?iso :uniprotKeyword / :term nextprot_cv:KW-0325 } # not a glycoprotein
}
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
  v2("?entry"):::projected 
  v3("?gofunc")
  v1("?iso")
  v4("?negev")
  a2((" "))
  a3((" "))
  a4((" "))
  a5((" "))
  a1((" "))
  c8([":terminology/GO_0006810"]):::iri 
  c3([":terminology/KW-0325"]):::iri 
  c12([":terminology/CVTO_0004"]):::iri 
  c9([":terminology/KW-0813"]):::iri 
  c10([":terminology/KW-0812"]):::iri 
  f0[["not  "]]
  subgraph f0e0["Exists Clause"]
    e0v1 --":uniprotKeyword"-->  e0a1
    e0a1 --":term"-->  e0c3
    e0v1("?iso"):::projected 
    e0a1((" ")):::projected 
    e0c3([":terminology/KW-0325"]):::iri 
  end
  f0--EXISTS--> f0e0
  f0 --> v1
  f0 --> c1
  f0 --> a1
  f0 --> c2
  f0 --> c3
  v1 --":uniprotKeyword"-->  a1
  a1 --":term"-->  c3
  v2 --":isoform"-->  v1
  subgraph union0[" Union "]
  subgraph union0l[" "]
    style union0l fill:#abf,stroke-dasharray: 3 3;
    v1 --":uniprotKeyword"-->  a3
    a3 --":term"-->  c9
  end
  subgraph union0r[" "]
    style union0r fill:#abf,stroke-dasharray: 3 3;
    f1[["not  "]]
    subgraph f1e1["Exists Clause"]
      e1v1 --":negativeEvidence"-->  e1v2
      e1v1("?gofunc"):::projected 
      e1v2("?negev"):::projected 
    end
    f1--EXISTS--> f1e1
    f1 --> v3
    f1 --> c5
    f1 --> v4
    v3 --":negativeEvidence"-->  v4
    v1 --":goBiologicalProcess"-->  v3
    v3 --":term"-->  a2
    a2 --":childOf"-->  c8
  end
  union0r <== or ==> union0l
  end
  subgraph union1[" Union "]
  subgraph union1l[" "]
    style union1l fill:#abf,stroke-dasharray: 3 3;
    v1 --":topology"-->  a5
    a5 --":term"-->  c12
  end
  subgraph union1r[" "]
    style union1r fill:#abf,stroke-dasharray: 3 3;
    v1 --":uniprotKeyword"-->  a4
    a4 --":term"-->  c10
  end
  union1r <== or ==> union1l
  end