| Hjfocs added a comment. |
State triple solution experiment.
Input dataset, Turtle format, named graph http://chuck-berry
@prefix wd: <http://www.wikidata.org/entity/> . @prefix wds: <http://www.wikidata.org/entity/statement/> . @prefix wdref: <http://www.wikidata.org/reference/> . @prefix p: <http://www.wikidata.org/prop/> . @prefix ps: <http://www.wikidata.org/prop/statement/> . @prefix pq: <http://www.wikidata.org/prop/qualifier/> . @prefix pr: <http://www.wikidata.org/prop/reference/> . @prefix prov: <http://www.w3.org/ns/prov#> .
wd:Q5921 p:P18 wds:Q5921-583C7277-B344-4C96-8CF2-0557C2D0CD34 . wds:Q5921-583C7277-B344-4C96-8CF2-0557C2D0CD34 ps:P18 <http://commons.wikimedia.org/wiki/Special:FilePath/Chuck-berry-2007-07-18.jpg> ; pq:P2096 "Chuck Berry (2007)"@ca ; prov:wasDerivedFrom wdref:288ab581e7d2d02995a26dfa8b091d96e78457fc . wdref:288ab581e7d2d02995a26dfa8b091d96e78457fc pr:P143 wd:Q206855 .
State triples to be added at upload time (into the same named graph http://chuck-berry)
# Claim wd:Q5921 <http://www.wikidata.org/primary-sources/state> "new" . # Reference wdref:288ab581e7d2d02995a26dfa8b091d96e78457fc <http://www.wikidata.org/primary-sources/state> "new" . # Qualifier pq:P2096 <http://www.wikidata.org/primary-sources/state> "new" .
Given the Chuck Berry Item Q5921, the front end must run the following query to retrieve the data
PREFIX pst: <http://www.wikidata.org/primary-sources/>
SELECT ?property ?statement_property ?statement_value ?reference_property ?reference_value
WHERE {
GRAPH <http://chuck-berry> {
# Claim
wd:Q5921 pst:state "new" ;
?property ?statement .
?statement ?statement_property ?statement_value .
# Qualifier
OPTIONAL {
?statement_property pst:state "new" .
}
# Reference
OPTIONAL {
?statement_value pst:state "new" ;
?reference_property ?reference_value .
}
}
}The front end must run the following update queries, depending on which part of the statement.
On claim approval
PREFIX pst: <http://www.wikidata.org/primary-sources/>
WITH <http://chuck-berry>
DELETE {
wd:Q5921 pst:state "new" .
?statement_property pst:state "new" .
?statement_value pst:state "new" .
}
INSERT {
wd:Q5921 pst:state "approved" .
?statement_property pst:state "approved" .
?statement_value pst:state "approved" .
}
WHERE {
wd:Q5921 pst:state "new" ;
?property ?statement .
?statement ?statement_property ?statement_value .
OPTIONAL {
?statement_property pst:state "new" .
}
OPTIONAL {
?statement_value pst:state "new" .
}
}On qualifier approval
PREFIX pst: <http://www.wikidata.org/primary-sources/>
WITH <http://chuck-berry>
DELETE {
?statement_property pst:state "new" .
}
INSERT {
?statement_property pst:state "approved" .
}
WHERE {
wd:Q5921 pst:state "new" ;
?property ?statement .
?statement ?statement_property ?statement_value .
?statement_property pst:state "new" .
}On reference approval
PREFIX pst: <http://www.wikidata.org/primary-sources/>
WITH <http://chuck-berry>
DELETE {
?statement_value pst:state "new" .
}
INSERT {
?statement_value pst:state "approved" .
}
WHERE {
wd:Q5921 pst:state "new" ;
?property ?statement .
?statement ?statement_property ?statement_value .
?statement_value pst:state "new" .
}Notes
- storage overhead in terms of additional state triples;
- relatively complex queries to both retrieve the data and to update;
- since full values for qualifiers seem to be required only for complex data types, they should be mostly represented by simple values. Hence, the state triple must be attached to a predicate, instead of a subject, e.g., pq:P2096 <http://www.wikidata.org/primary-sources/state> "new" .
TASK DETAIL
EMAIL PREFERENCES
To: Hjfocs
Cc: Aklapper, Hjfocs, Kiailandi, dachary, Wikidata-bugs, Ricordisamoa, Sjoerddebruin, Mbch331
Cc: Aklapper, Hjfocs, Kiailandi, dachary, Wikidata-bugs, Ricordisamoa, Sjoerddebruin, Mbch331
_______________________________________________ Wikidata-bugs mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs
