A set of SPARQL examples that are used in LOTUS
Maintenance. Deprecate compound-taxon statements with single retracted reference.
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX pr: <http://www.wikidata.org/prop/reference/>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX ps: <http://www.wikidata.org/prop/statement/>
#title: Deprecate compound-taxon statements with single retracted reference
SELECT DISTINCT
(CONCAT(
STRAFTER(STR(?compound), "http://www.wikidata.org/entity/"),
" | P703 | ",
STRAFTER(STR(?taxon), "http://www.wikidata.org/entity/"),
" | R- | P2241 | Q77253277"
) AS ?quickstatement)
WHERE {
?compound p:P703 ?statement.
?statement ps:P703 ?taxon;
prov:wasDerivedFrom [
pr:P248 ?reference
].
?compound wdt:P235 ?compound_inchikey.
?taxon wdt:P225 ?taxon_name.
?reference wdt:P31 wd:Q45182324.
# Only statements with exactly one reference
FILTER NOT EXISTS {
?statement prov:wasDerivedFrom ?refNode1, ?refNode2.
FILTER(?refNode1 != ?refNode2)
}
}
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
v4("?compound"):::projected
v7("?compound_inchikey")
v9("?quickstatement")
v1("?refNode1")
v2("?refNode2")
v6("?reference")
v3("?statement")
v5("?taxon"):::projected
v8("?taxon_name")
a1((" "))
c8(["wd:Q45182324"]):::iri
f0[["not "]]
subgraph f0e0["Exists Clause"]
e0f0[["?refNode1 != ?refNode2"]]
e0f0 --> e0v1
e0f0 --> e0v2
e0v3 --"prov:wasDerivedFrom"--> e0v1
e0v3 --"prov:wasDerivedFrom"--> e0v2
e0v1("?refNode1"):::projected
e0v2("?refNode2"):::projected
e0v3("?statement"):::projected
end
f0--EXISTS--> f0e0
f0 --> v1
f0 --> v2
f0 --> v3
f0 --> c1
f1[["?refNode1 != ?refNode2"]]
f1 --> v1
f1 --> v2
v3 --"prov:wasDerivedFrom"--> v1
v3 --"prov:wasDerivedFrom"--> v2
v4 --"p:P703"--> v3
v3 --"p:statement/P703"--> v5
a1 --"p:reference/P248"--> v6
v3 --"prov:wasDerivedFrom"--> a1
v4 --"p:direct/P235"--> v7
v5 --"p:direct/P225"--> v8
v6 --"p:direct/P31"--> c8
bind2[/"concat(substring-after(str(?compound),'http://www.wikidata.org/entity/'),' | P703 | ',substring-after(str(?taxon),'http://www.wikidata.org/entity/'),' | R- | P2241 | Q77253277')"/]
v4 --o bind2
v5 --o bind2
bind2 --as--o v9