בדיקת DSPL

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

לידיעתכם, כלי השירות עדיין לא בודק אם קיימת בעיה במערך הנתונים של DSPL. עם זאת, הוא יזהה את הבעיות הנפוצות ביותר, ולכן אם מערך הנתונים שלך יאומת בהצלחה על ידי הכלי, יש סיכוי גבוה שניתן יהיה לייבא אותו ולהציג אותו ב-Public Data Explorer. מידע נוסף זמין בקטע בדיקת פרטים בהמשך.

מתבצעת בדיקת DSPL

היסודות

הערה: המסלול הזה מבוסס על ההנחה שכבר פעלת לפי ההוראות להתקנה שמפורטות בדף DSPL Tools.

כדי להריץ בדיקת DSPL, נכנסים למסוף / הודעה במערכת ומקלידים:

python dsplcheck.py [path to dataset XML or zip file]

שבה המונח בסוגריים מוחלף בנתיב היחסי לקובץ XML של מערך נתונים או לחבילת DSPL מכווצת.

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

בודק את הרמה

כברירת מחדל, בדיקת DSPL תבדוק את כל מערך הנתונים, כולל קובצי ה-CSV מקובץ ה-XML הראשי של DSPL. התהליך הזה פועל היטב במערכי נתונים קטנים עד בינוניים, אבל הוא עלול להיתקע או להיגמר הזיכרון במערכי נתונים גדולים מאוד (כלומר, במאות מגה-בייט ומעלה).

כדי לטפל במקרים כאלה, בכלי יש רמת בדיקה שמאפשרת להגדיר את היקף הבדיקה ולשפר את הביצועים לפי הצורך. כדי להשתמש בפונקציה, יש להוסיף --checking_level=[...] לפני הנתיב של מערך הנתונים. במקום זאת, המונח עם הסוגריים יוחלפו באחד מהערכים הבאים:

  • schema_only: יש לאמת את קובץ ה-XML של מערך הנתונים מול סכימת ה-DSPL הרשמית, ואז להפסיק אותו.
  • schema_and_model: צריך לבצע אימות של סכימה ושל מודל בסיסי, אבל להתעלם מתוכן CSV אחרי שורת הכותרת.
  • full: אימות באמצעות סכימה, מודל ונתונים (ברירת מחדל).

המערכת בודקת את הפרטים

בדיקת DSPL מבצעת את רצף האימותים הבא:

  • אימות סכימת XML: אימות שקובץ המטא-נתונים של ה-XML חוקי ותואם לסכימת ה-DSPL הרשמית.
  • קובץ CSV קיים: בודק שכל קובצי ה-CSV ממערך הנתונים קיימים ושאפשר לטעון אותם.
  • בדיקות קונספט: בדיקות שונות של כל קונספט במערך הנתונים, כולל:
    • למערך הנתונים יש לפחות מושג אחד*
    • כל ההפניות לנושאים הן חוקיות
    • קיימת התייחסות לטבלה אם הקונספט משמש כמאפיין שאינו זמן*
    • אם קיימת טבלה, ההפניה חוקית
    • הטבלה שצוינה כוללת עמודה התואמת את מזהה הקונספט
  • בדיקות פרוסות: בדיקות שונות של כל פרוסה במערך הנתונים, כולל:
    • קבוצת נתונים מכילה לפחות פלח אחד*
    • לפחות פרוסה אחת מפנה למאפיין שאינו זמן*
    • לכל פרוסה יש לפחות מדד אחד ומאפיין אחד
    • מאפיין אחד בדיוק מתייחס time לקונספט קנוני*
    • לכל פרוסה יש שילוב ייחודי של מאפיינים
    • כל ההפניות לקונספטים מקומיים תקפות
    • קיימת הפניה לטבלה
    • ההפניה לטבלה חוקית
    • בטבלה שאוזכרת יש עמודה לכל מאפיין ומדד בפלח
    • סוגי העמודות בטבלה שמתבצעת אליהם הפניה תואמים לסוגי המושגים המשמשים בפלח
  • בדיקות טבלה: בדיקות שונות של כל טבלה במערך הנתונים, כולל:
    • מערך הנתונים מכיל לפחות טבלה אחת*
    • קובץ ה-CSV כולל את אותו מספר עמודות כמו הטבלה
    • מחרוזות של כותרות CSV תואמות למזהי עמודות
    • לכל עמודות התאריכים יש מאפיין format
    • פורמטים של תאריכים תואמים (בערך) לקונספטים של הזמן הקשורים, למשל, הפורמט של עמודה time:year כולל לפחות תו אחד (y)*
  • בדיקות של נתוני CSV: בדיקות שונות של קובצי ה-CSV שאליהם מפנה קובץ ה-XML של מערך הנתונים, כולל:
    • מספר השורות בשורה ב-CSV זהה למספר העמודות בכותרת
    • קובץ CSV של הגדרת הקונספט לא מכיל יותר משורה אחת לכל מזהה קונספט
    • ל-CSV של פרוסה אין יותר משורה אחת לכל שילוב של מאפיינים
    • ערכי המאפיינים שיש אליהם הפניה בקובץ ה-CSV של הפלח הם תקינים
    • קובץ CSV של פרוסות מאורגן כראוי
    • הפורמט של הערכים השלמים והצפים של ה-CSV תקין

יש צורך בקריטריונים שמסומנים בכוכבית (*) כדי לראות את הנתונים ב-Public Data Explorer, אבל מבחינה טכנית הם לא נדרשים בפורמט DSPL.

מצד שני, הכלי לא בודק עדיין את הדברים הבאים:

  • ייבוא של מערך נתונים
  • הפניות למאפיינים ולנכסים
  • תוספי קונספט