מבחינים
בואו נסתכל שוב על השאילתה שמאחזרת סרטים עם יותר מ-5 מועמדויות לפרס.
# סרטים שהיו מועמדים ליותר מ-5 פרסים SELECT ?item ?itemLabel (COUNT(DISTINCT ?award) AS ?count) WHERE { ?item wdt:P31/wdt:P279* wd:Q11424. # הפריט הוא מופע של סרט קולנוע, או מופע של תת-קבוצה של סרט קולנוע ?item wdt:P1411 ?award. # ?award הפריט היה מועמד לפרס, שנאסף על ידי המשתנה SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". } } GROUP BY ?item ?itemLabel # התוצאות מוצגות בנפרד עבור כל סרט HAVING (?count>5) # רק סרטים עם יותר מ-5 מועמדויות ORDER BY DESC(?count) # בסדר יורד
השאילתה הזו סופרת פרסים מכל סוג. איך אפשר לערוך את השאילתה כך שתראה את הסרטים עם הכי הרבה מועמדויות לפרס אוסקר?
אנחנו יכולים להגדיר שהפרס צריך להיות מופע של פרס אוסקר:
אבל יש סרטים שהיו מועמדים פעמיים לאותו פרס. למשל, לסרט "הכל אודות חווה" (Q200299) היו שתי מועמדויות לפרס השחקנית הטובה ביותר:
אם השאילתה רק לוקחת את הערך של המאפיין "מועמדות לפרס" אז שתי ההצהרות הן זהות ולכן ייספרו רק פעם אחת.
כפי שמוסבר בחלק על הצהרות עם מבחינים, במודל של ויקינתונים עבור כל מאפיין ישיר שמחבר פריט וערך יש גם מאפיין פשוט (p) שמחבר את הפריט עם קודקוד הצהרה. לכל מועמדות לפרס יש קודקוד הצהרה שונה. כדי לאחזר את המספר הנכון של המועמדויות לפרס עבור כל סרט השאילתה צריכה לספור עבור כל סרט כמה קודקודי הצהרות יש למאפיין "מועמדות לפרס" שעבורם הערך (כלומר הפרס) הוא פרס אוסקר:
עכשיו השאילתה סופרת את מספר ההצהרות של מועמדויות לפרס שהערך שלהן הוא מופע של פרס אוסקר. שימו לב שהמועמד או מועמדת לפרס הם מבחינים של ההצהרה, אבל אינם רלוונטיים לספירת התוצאות בשאילתה.