mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 12:23:58 +01:00
Some checks are pending
Android CI / Run tests and generate APK (push) Waiting to run
* Optimize SPARQL query for single entity metadata using wikibase:label service - Use SERVICE wikibase:label for efficient retrieval of labels and descriptions in preferred language - Remove redundant label/description fetching logic - Prevent Cartesian product and improve query performance for * appeded all possible Wikidata languages * Remove duplicate 'en' * Update query_for_item.rq * formatting, comments --------- Co-authored-by: Sonal Yadav <sonalyadav@Sonals-MacBook-Air.local> Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
49 lines
1.8 KiB
SPARQL
49 lines
1.8 KiB
SPARQL
SELECT
|
|
?item
|
|
?itemLabel
|
|
?itemDescription
|
|
?class
|
|
?classLabel
|
|
?pic
|
|
?destroyed
|
|
?endTime
|
|
?wikipediaArticle
|
|
?commonsArticle
|
|
?commonsCategory
|
|
?dateOfOfficialClosure
|
|
?pointInTime
|
|
WHERE {
|
|
SERVICE <https://query.wikidata.org/sparql> {
|
|
VALUES ?item {${ENTITY}}
|
|
}
|
|
|
|
# Get item label/class label/description in the preferred language of the user, or fallback.
|
|
SERVICE wikibase:label { bd:serviceParam wikibase:language "${LANG},en,aa,ab,ae,af,ak,am,an,ar,as,av,ay,az,ba,be,bg,bh,bi,bm,bn,bo,br,bs,ca,ce,ch,co,cr,cs,cu,cv,cy,da,de,dv,dz,ee,el,eo,es,et,eu,fa,ff,fi,fj,fo,fr,fy,ga,gd,gl,gn,gu,gv,ha,he,hi,ho,hr,ht,hu,hy,hz,ia,id,ie,ig,ii,ik,io,is,it,iu,ja,jv,ka,kg,ki,kj,kk,kl,km,kn,ko,kr,ks,ku,kv,kw,ky,la,lb,lg,li,ln,lo,lt,lu,lv,mg,mh,mi,mk,ml,mn,mo,mr,ms,mt,my,na,nb,nd,ne,ng,nl,nn,no,ny,oc,oj,om,or,os,pa,pi,pl,ps,pt,qu,rm,rn,ro,ru,rw,sa,sc,sd,se,sg,sh,si,sk,sl,sm,sn,so,sq,sr,ss,st,su,sv,sw,ta,te,tg,th,ti,tk,tl,tn,to,tr,ts,tt,tw,ty,ug,uk,ur,uz,ve,vi,vo,wa,wo,xh,yi,yo,za,zh,zu". }
|
|
|
|
# Get class (such as forest or bridge)
|
|
OPTIONAL {?item p:P31/ps:P31 ?class}
|
|
|
|
# Get picture (items without a picture will be shown in red on the Nearby map)
|
|
OPTIONAL {?item wdt:P18 ?pic}
|
|
|
|
# Get existence (whether an item still exists or not)
|
|
OPTIONAL {?item wdt:P576 ?destroyed}
|
|
OPTIONAL {?item wdt:P582 ?endTime}
|
|
OPTIONAL {?item wdt:P3999 ?dateOfOfficialClosure}
|
|
OPTIONAL {?item wdt:P585 ?pointInTime}
|
|
|
|
# Get Commons category
|
|
OPTIONAL {?item wdt:P373 ?commonsCategory}
|
|
|
|
# Get Wikipedia article
|
|
OPTIONAL {
|
|
?wikipediaArticle schema:about ?item.
|
|
?wikipediaArticle schema:isPartOf <https://en.wikipedia.org/>. # TODO internationalization
|
|
}
|
|
|
|
# Get Commons article
|
|
OPTIONAL {
|
|
?commonsArticle schema:about ?item.
|
|
?commonsArticle schema:isPartOf <https://commons.wikimedia.org/>.
|
|
}
|
|
}
|