A set of SPARQL examples that are used in different SIB resources
Proteins that have at least one RRM RNA-binding domain and either no GO "RNA binding" or a GO "RNA binding" with evidence cv:ECO_0000501 or cv:ECO_0000250
PREFIX : <http://nextprot.org/rdf/>
PREFIX nextprot_cv: <http://nextprot.org/rdf/terminology/>
SELECT DISTINCT ?entry WHERE {
{
?entry :isoform ?iso.
# >=1 RRM RNA-binding domain
?iso :region/:term nextprot_cv:DO-00581.
# No GO "RNA binding"
filter not exists {
?iso :function/:term /:childOf nextprot_cv:GO_0003723
}
}
union{
?entry :isoform ?iso.
# >=1 RRM RNA-binding domain
?iso :region/:term nextprot_cv:DO-00581.
# GO "RNA binding" with evidence IEA or ISS
?iso :function ?s1.
?s1 :term /:childOf nextprot_cv:GO_0003723.
filter not exists { ?s1 :negativeEvidence ?negev. } # No negative function evidence
?s1 :evidence /:evidenceCode /:childOf ?pcode.
values ?pcode { nextprot_cv:ECO_0000501 nextprot_cv:ECO_0000250 }
}
}
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
v2("?entry"):::projected
v1("?iso")
v4("?negev")
v6("?pcode")
v3("?s1")
a3((" "))
a1((" "))
a2((" "))
a4((" "))
a5((" "))
a6((" "))
a7((" "))
c7([":terminology/DO-00581"]):::iri
c4([":terminology/GO_0003723"]):::iri
subgraph union0[" Union "]
subgraph union0l[" "]
style union0l fill:#abf,stroke-dasharray: 3 3;
f0[["not "]]
subgraph f0e0["Exists Clause"]
e0v1 --":negativeEvidence"--> e0v2
e0v2("?negev"):::projected
e0v1("?s1"):::projected
end
f0--EXISTS--> f0e0
f0 --> v3
f0 --> c8
f0 --> v4
v3 --":negativeEvidence"--> v4
v2 --":isoform"--> v1
v1 --":region"--> a4
a4 --":term"--> c7
v1 --":function"--> v3
v3 --":term"--> a5
a5 --":childOf"--> c4
v3 --":evidence"--> a6
a6 --":evidenceCode"--> a7
a7 --":childOf"--> v6
bind1[/VALUES ?pcode/]
bind1-->v6
bind10([":terminology/ECO_0000501"])
bind10 --> bind1
bind11([":terminology/ECO_0000250"])
bind11 --> bind1
end
subgraph union0r[" "]
style union0r fill:#abf,stroke-dasharray: 3 3;
f2[["not "]]
subgraph f2e1["Exists Clause"]
e1v1 --":function"--> e1a1
e1a1 --":term"--> e1a2
e1a2 --":childOf"--> e1c4
e1v1("?iso"):::projected
e1a1((" ")):::projected
e1a2((" ")):::projected
e1c4([":terminology/GO_0003723"]):::iri
end
f2--EXISTS--> f2e1
f2 --> v1
f2 --> c1
f2 --> a1
f2 --> c2
f2 --> a2
f2 --> c3
f2 --> c4
v1 --":function"--> a1
a1 --":term"--> a2
a2 --":childOf"--> c4
v2 --":isoform"--> v1
v1 --":region"--> a3
a3 --":term"--> c7
end
union0r <== or ==> union0l
end