A set of SPARQL examples that are used in different SIB resources
Proteins associated with a disease but without a disease-causing amino-acid substitution variant
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