עוד תרגיל

| תרגיל: איפה נולדו השחקנים ששיחקו בסרטי מלחמת הכוכבים?

טיפ: השתמשו בהוראה DISTINCT להסיר כפילויות מהתוצאות

פתרון

ערכו את השאילתה להוסיף את התמונה (P18) של כל אחד מהשחקנים לתוצאות.

פתרון

אם אתם תוהים למה יש פחות תוצאות מאשר בשאילתה הקודמת, ראו את הפרק על פסוקית OPTIONAL.

תאריכים

שאילתות מתי: תאריכים

שאילתות אלה מאחזרות מידע בנוגע לתאריכים ומציגות אותו בצורה של ציר זמן.

מומלץ לעבור על המבוא לוויקינתונים וללמוד על המבנה של ויקינתונים כמו גם החלק על השאילתה הפשוטה ביותר לפני שממשיכים.

בואו נתחיל עם דוגמה פשוטה: השאילתה הבא מראה מתי יצאו לאור האלבומים של הזמרת מדונה (Q1744):

לאחר שהרצתם את השאילתה, גללו לתוצאות. מעל הטבלה, לחצו על החץ המופיע לצד הסמליל של העין. בחרו מהתפריט שנפתח את האפשרות "Timeline", והממשק יציג את המידע על ציר הזמן.

דרך אחרת להציג את התוצאות בתצוגת מפה היא להגדיר זאת בשאילתה עצמה. הקוד בשורה הראשונה, לאחר הסולמית, אומר לשאילתה שתוצאות השאילתה צריכות להיות מוצגות לא כטבלה אלא על ציר הזמן.

אין צורך לזכור את הקוד המדוייק לתצוגת מפה: בעזרת פונקציית ההשלמה האוטומטית של ממשק השאילתות, ברגע שתקלידו סולמית בחלונית השאילתה יופיע תפריט נפתח שיציע לכם אפשרויות תצוגה שונות.

תאריכים מקושרים

אחזור תאריכים המקושרים לערכים

בשאילתה הקודמת התאריכים היו מקושרים ישירות לפריטים שבחרנו. אבל תאריכים לא בהכרח מקושרים ישירות לפריטים שמעניינים אותנו. השאילתה הבא מציגה את אתרי הצילום עבור כל אחד מהסרטים בסדרת מלחמת הכוכבים. אם כבר למדת אחזור נתונים המקושרים לערכים, השליפה של תאריכים המקושרים לפריטים היא מאוד פשוטה. למשל, השאילתה הבאה מראה את תאריך הלידה של כל אחד מהבמאים של סרטי מלחמת הכוכבים על ציר הזמן:

שימו לב שהשאילתה משתמשת בהוראה DISTINCT כדי להסיר כפילויות מהתוצאות.

תרגיל: תאריכים

| תרגיל: כתבו שאילתה שמראה את תאריכי הלידה של נשים שעומדות בראש הרשות המושלת של מדינתן

רמז: בחרו מדינות ריבוניות (Q3624078) שיש להן מאפיין ראש רשות מושלת (P6) שהיא אישה (כלומר למאפיין מין או מגדר (P21) יש את הערך נקבה (Q6581072), ואחזרו את תאריך הלידה שלהן.

פתרון

תאריכים ומבחינים

תאריכים ומבחינים

אם כבר למדתם איך לתשאל הצהרות עם מבחינים, נסו את התרגיל הבא:

| תרגיל: כתבו שאילתה המראה על ציר הזמן את תאריך הלידה של שחקנים ששיחקו את ג'יימס בונד בסדרת הסרטים ג'יימס בונד (Q2484680)

רמז: למאפיין "שחקנים" (P161) יש את המאפיין P453 ("בתפקיד") כמבחין, עם הערך Q2009573 (ג'יימס בונד).

טיפ: השתמשו בהוראה DISTINCT להסיר כפילויות מהתוצאות

פתרון

תרגיל: מבחיני תאריך

| תרגיל: כתבו שאילתה שמציגה נשים שזכו בפרס נובל לספרות ואת השנה בה זכו בו על ציר הזמן

רמז: למאפיין "פרס שזכה בו" (P166) יש את המאפיין P585 (נקודת זמן) כמבחין

פתרון

אם כבר למדתם על מופעים וקבוצות, נסו לערוך את השאילתה כך שתציג את כל הנשים שזכו בפרס נובל, איזה פרס זה היה, ומתי קיבלו אותו.

רמז: הערך של המאפיין "פרס שזכה בו" הוא תת-קבוצה (P279) של פרס נובל (Q7191).

פתרון

COUNT

COUNT

COUNT היא פונקציית צבירה שמשמשת לשאילתות בה אנחנו רוצים לדעת כמה פריטים יש שמתאימים לתבנית מסוימת. במקרים כאלה אנחנו לא מעוניינים בפריטים עצמם אלא רק במספר הפריטים התואמים לתבנית.

נניח שאנחנו רוצים לדעת כמה פריטי ויקינתונים יש על נשים כימאיות. בעיקרון ניתן להריץ את השאילתה הבאה:

מעל הטבלה עם התוצאות, ממשק השאילתות מראה את מספר הפריטים שנמצאו ומספר אלפיות השניה שנדרשו לשאילתה לרוץ.

אבל האסטרטגיה הזו לא תמיד עובדת. נניח שאנחנו רוצים לדעת כמה פריטים יש בוויקינתונים על שחקניות. בעיקרון נוכל לערוך את השאילתה:

# שחקניות בוויקינתונים
SELECT ?item ?itemLabel 
WHERE {
  ?item wdt:P31 wd:Q5.           # הפריט הוא מופע של אדם
  ?item wdt:P21 wd:Q6581072.     # למאפיין "מין או מגדר" יש את הערך נקבה
  ?item wdt:P106 wd:Q33999.      # למאפיין "עיסוק" יש את הערך שחקן 

  
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }  
  }

ממשק השאילתות אמור להחזיר את כל הפריטים המתאימים לתבניות שהגדרנו ולציין את מספרם. אבל אם מספר הפריטים המתאימים גדול מאוד השאילתה עלולה "להיתקע" מכיוון שלממשק השאילתות יש זמן קצוב של 60 שניות להחזרת התוצאות. שאילתה שדורשת יותר זמן מהזמן הקצוב הזה תחזיר הודעת TIMEOUT:

על מנת לענות על השאלה כמה שחקניות יש בוויקינתונים מצהירים בפסוקית ה-SELECT על השימוש בפונקציית COUNT. בדוגמה הבאה המשתנה actresscount? מוגדר כפונקציית COUNT של המשתנה item? שהוא המשתנה שאוסף את הפריטים התואמים לתבניות בפסוקית ה-WHERE.

לשאילתה יש רק תוצאה אחת: המשתנה actresscount עם הערך של הסכום של כל הפריטים שמתאימים לתבניות שהגדרנו (מופע של אדם ממין/מגדר נקבה עם עיסוק שחקנית)

דילוג לתוכן