מדריך למפתחים של DSPL

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

הערה: כדי להעלות נתונים ל-Google Public Data באמצעות הכלי להעלאת נתונים ציבוריים, חייב להיות לכם חשבון Google.

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

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

סקירה כללית

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

התהליך

באופן כללי, תהליך היצירה של מערך נתונים של DSPL מתבצע באופן הבא (חלק הבאים עשויים להתרחש במקביל:

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

מבנה XML

סקירה כללית

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

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

קטע סיכום מידע נוסף
כותרת וייבוא ההורה של כל שאר הרכיבים במערך הנתונים. כולל את מרחב השמות של היעד (כלומר, מזהה) של מערך הנתונים, יחד עם מרחבי השמות של מערכי הנתונים המיובאים. מסמכי תיעוד
פרטי מערך הנתונים השם, התיאור וכתובת ה-URL של מערך הנתונים. מסמכי תיעוד
פרטי הספק השם, התיאור וכתובת ה-URL של ספק מערך הנתונים. מסמכי תיעוד
מושגים

הגדרות של 'דברים' שמופיעים במערך הנתונים (למשל מדינות, שיעור אבטלה, מגדר וכו')

לכל קונספט יש מזהה ייחודי שאפשר להפנות אליו slices וטבלאות.

מסמכי תיעוד
פרוסות

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

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

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

כותרת עליונה וייבוא

הצהרה על מרחב השמות של נתונים ציבוריים

מערך נתונים של DSPL מתחיל ברכיב <dspl> ברמה העליונה. הוא משמש לסימון כל המידע של מערכי הנתונים ולציון כל מרחבי שמות שישמשו את כל הקובץ. לדוגמה:

<?xml version="1.0" encoding="UTF-8"?>
<dspl targetNamespace="http://www.example.com/mystats"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://schemas.google.com/dspl/2010" >
    ...
</dspl>

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

אין צורך לספק targetNamespace. אם לא, המערכת תיצור עבורך מזהה באופן אוטומטי בזמן הייבוא בזמן האימון.

אחרי המאפיין targetNamespace מופיעה סדרה של מאפייני xmlns שמציינים סכימות XML אחרות שבהן ייעשה שימוש בקובץ. כל קובץ DSPL חייב לכלול את סכימת Google Public Data, שה-URI שלהם הוא "http://schemas.google.com/dspl/2010" ולהשתמש בהם בתור מרחב השמות שמוגדר כברירת מחדל. היא צריכה לכלול גם את סכימת ה-XML הסטנדרטית של W3 מזוהה באמצעות "http://www.w3.org/2001/XMLSchema-instance". בתור בקטע הבא, תוכלו להוסיף מרחבי שמות אחרים כך שיכללו ממערכי נתונים אחרים.

ייבוא מרחבי שמות אחרים של מערכי נתונים

במערכי נתונים אפשר לעשות שימוש חוזר בהגדרות ובנתונים ממערכי נתונים אחרים. Google, עבור מספק כמה מערכי נתונים בסיסיים שמגדירים מושגים מופיע בנתוני המשתמשים. לדוגמה, רוב מערכי הנתונים צריכים קונספט כדי שמייצגים שנים. במקום להגדיר קונספט חדש, אפשר להשתמש מ-"http://www.google.com/publicdata/dataset/time" של הכיתובים. לעיון בגרסה הקנונית דף מושגים למידע נוסף.

כדי להשתמש במערך נתונים חיצוני, צריך להוסיף את הרכיב <import> אל את קובץ ה-DSPL מיד אחרי הצהרת מרחב השמות, ולציין את מרחב הנתונים שאתם מייבאים, למשל:

<import namespace="http://www.google.com/publicdata/dataset/google/time"/>

לאחר מכן, מוסיפים את מרחב השמות המיובא (במקרה הזה, time="http://www.google.com/publicdata/dataset/google/time") הצהרת מרחב השמות שבראש הקובץ, כך:

<?xml version="1.0" encoding="UTF-8"?>
<dspl targetNamespace="http://www.stats-bureau.com/mystats"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://schemas.google.com/dspl/2010"
    xmlns:time="http://www.google.com/publicdata/dataset/google/time" >
<import namespace="http://www.google.com/publicdata/dataset/google/time"/>

עכשיו קובץ ה-DSPL שלך יכול להפנות לרכיבים מ-Google Public Data מערך נתוני זמן. חזרה את התהליך הזה לכל מערך נתונים שאתם רוצים להפנות אליו.

הפניה לתוכן במערכי נתונים חיצוניים

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

הנה דוגמה להפניה למושג year מ- מערך הנתונים time (כפי שמתואר למעלה):

<slices>
  <slice id="country_slice">
    <dimension concept="country"/>
    <dimension concept="time:year"/>
    <metric concept="population"/>
    <table ref="country_slice_table"/>
  </slice>
  ...
</slices>

פרטי מערך הנתונים

הרכיב <info> כולל מידע תיאורי של מערך הנתונים. דוגמה ופרטים על רכיבי ה-XML הרלוונטיים שמפורטות בהמשך.

דוגמה

<info>
  <name>
    <value>Unemployment Rates</value>
  </name>
  <description>
    <value>Worldwide unemployment rates by region</value>
  </description>
  <url>
    <value>http://www.example.com/mystats/info.html</value>
  </url>
</info>

רכיבים

רכיב חובה? תיאור
<info> כן כולל את כל המידע התיאורי של מערך הנתונים. כולל רכיבי הצאצא <name>, <description> ו-<url>.
<name> כן צאצא של <info>. כולל את רכיב הצאצא <value>, שמשמש לזיהוי השם של של הכיתובים.
<description> אופציונלי צאצא של <info>. כולל את רכיב הצאצא <value>, שכולל תיאור טקסטואלי של של הכיתובים.
<url> כן צאצא של <info>. קישור לכתובת URL שכוללת פרטים נוספים על מערך הנתונים.

פרטי הספק

ברכיב <provider> מפורט מידע על של מערך הנתונים. דוגמה ופרטים על רכיבי ה-XML הרלוונטיים שמפורטות בהמשך.

דוגמה

<provider>
  <name>
    <value>Bureau of Statistics</value>
  </name>
  <url>
    <value>http://www.example.com</value>
  </url>
</provider>

רכיבים

רכיב חובה? תיאור
<provider> כן כולל את כל המידע התיאורי של ספק מערך הנתונים. כולל את רכיבי הצאצא <name> ו <url>.
<name> אופציונלי צאצא של <provider>. כולל את רכיב הצאצא <value>, שמזהה את השם של מערך הנתונים ספק.
<url> אופציונלי צאצא של <info>. קישור לכתובת URL שמכילה על ספק מערך הנתונים.

מושגים

תיאור

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

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

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

דוגמה

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

<concept id="country" extends="geo:location">
  <info>
    <name><value>Country</value></name>
    <description>
      <value>My list of countries.</value>
    </description>
  </info>
  <type ref="string"/>
  <property id="name">
    <info>
      <name><value>Name</value></name>
      <description>
        <value>The official name of the country</value>
      </description>
    </info>
    <type ref="string" />
  </property>
  <property concept="geo:continent" isParent="true"/>
  <property id="capital" concept="geo:city" />
  <table ref="countries_table" />
</concept>

כך עובדת דוגמה זו.

  • הקוד הזה מתאר את מדינת הקונספט, שכוללת את המזהה country והמאפיינים name, continent ו-capital.
  • המושג הזה מרחיב את geo:location, העיקרון הקנוני (הרשמי) של מיקומים. באמצעות הארכה של geo:location, country יורשת את כל המאפיינים והמאפיינים שמוגדרים על ידי הקונספט המורחב: מאפיין שם, תיאור, כתובת URL, קו רוחב וקו אורך. המקום בסדר ל-country כדי להגדיר מחדש חלק מהמאפיינים האלה נכסים, כל עוד ההגדרה תואמת להגדרה שצוינה של הקונספט המורחב.
  • המושג <info> מתאר את המפתח של הקונספט הזה. הוא מוצג בפלט של מערך הנתונים דף הנחיתה ב-Public Data Explorer.
  • המושג <type> רכיב מתייחס לסוג תוכן. במקרה הזה מדובר במחרוזת, אבל זה יכול להשתנות. הקונספט סוג האוכלוסייה הוא integer; הקונספט Eurovision winner יכול להיות מסוג בוליאני.
  • רכיב <property> מתאר כל מאפיין של כולל המזהה הייחודי (id), info וגם type הנכסים יכולים גם להפנות למושגים, כדי לציין שהערכים שלהם הם מופעים חוקיים של המושגים האלה.
  • המושג מתייחס לטבלת נתונים שמצביעה לקובץ ה-CSV שמכיל את הנתונים בפועל. יש הפניה לטבלת הנתונים כמו <table ref="countries_table"/>.

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

רכיבים

רכיב חובה? תיאור
<concepts> כן רכיב ברמה העליונה. כולל את כל <concept> רכיבים.
<concept> כן מזהה את המושג. הערך של המאפיין הנדרש id חייב להיות ייחודי לקונספט בתוך מערך הנתונים. אם המיקום הקונספט מתייחס לטבלת נתוני קונספט, הערך של id חייב להתאים לכותרת העמודה שמתארת את המושג בטבלת הנתונים. אפשר להשתמש במאפיין extends כדי לציין שהמושג הזה מרחיב קונספט אחר. הערך של extends חייב להתאים למזהה של קונספט שמוגדר באותו אופן או להיות בצורה prefix:concept_id, concept_id הוא המזהה של קונספט שמוגדר בנתונים המיובאים מערך נתונים חיצוני שמשויך ל-prefix.
<info> אופציונלי מספק מידע תיאורי של המושג.
<name> כן צאצא של <info>. שם הקונספט. רכיב הצאצא <value> מכיל את הטקסט - עבור לדוגמה, Country.
<description> אופציונלי צאצא של <info>. כולל את רכיב הצאצא <value>, שכולל תיאור טקסטואלי של בטרנספורמר.
<url> אופציונלי צאצא של <info>. כולל את רכיב הצאצא <value>, שכולל את כתובת ה-URL של בטרנספורמר.
<pluralName> אופציונלי צאצא של <info>. שם הרבים של בטרנספורמר. רכיב הצאצא <value> מכיל את הטקסט - למשל, Countries.
<totalName> אופציונלי צאצא של <info>. השם של השילוב של את כל המופעים של המושג. רכיב הצאצא <value> מכיל את הטקסט- במקרה של country למשל, יכול להיות World.
<type> אופציונלי מזהה את סוג התוכן שמתואר לפי הקונספט. הדרישות המאפיין ref כולל את הערכים המותרים הבאים:
  • מחרוזת
  • מספר ממשי (float)
  • מספר שלם
  • תאריך
  • בוליאני
אפשר להשמיט את הסוג אם הקונספט מרחיב קונספט אחר, במקרה כזה, היא עוברת בירושה מהמושג המורחב.
<property> אופציונלי

מאפיין של הקונספט, למשל capital. הערך של מאפיין החובה id חייב להיות ייחודי בטרנספורמר. אפשר להשתמש במאפיין אופציונלי מסוג concept כדי לציין שהערכים של המאפיין הזה הם מופעים של בטרנספורמר. אם צוין concept, אז id ניתן להשמיט; הערך שלו מוגדר במרומז כמזהה של או מושג שהוא מפנה אליו (למשל הערך <property concept="geo:country"/> זהה ל- <property id="country" concept="geo:country"/>).

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

נכס יכול להכיל מאפיין isMapping בוליאני, כדי לציין שיש מיפוי של 1-1 בין המופעים של מושגי יסוד והערכים של המאפיין.

מאפיין יכול לציין info מקונן type, שמוגדרות בדיוק כמו שהן מותאמות לקונספט כלשהו. השדה type נדרש אם המאפיין לא מציין concept, וחייב להתאים לסוג של או התייחסות אליו, אם כן.

<attribute> אופציונלי

תכונה של הקונספט. המאפיינים מייצגים עוד של הקונספט (למשל, התמ"ג הוא אחוז). הערך של מאפיין החובה id חייב להיות ייחודי בטרנספורמר. אפשר להשתמש במאפיין אופציונלי מסוג concept כדי לציין שהערכים של המאפיין הזה הם מופעים של בטרנספורמר. אם צוין concept, אז id . הערך שלו מוגדר במרומז כמזהה של של המונח שהוזכר. (למשל: הערך <attribute concept="unit:unit"/> זהה ל- <attribute id="unit" concept="unit:unit"/>.

מאפיין יכול לציין info מקונן type, שמוגדרים בדיוק כמו קונספט כלשהו. השדה type נדרש אם המאפיין לא מציין concept, וחייב להתאים לסוג של או התייחסות אליו, אם כן.

<table> אופציונלי מזהה את טבלת הנתונים שמכילה נתונים של הקונספט הערך של מאפיין החובה ref חייב להתאים לטבלה המזהה שצוין ברכיב <table> הקשור.

פרוסות

תיאור

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

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

  • מאפיינים: מדינה, מדינה (State), מחוז, אזור, שנה, חודש, מין, קטגוריית גיל, פלח תחום
  • מדדים: אוכלוסייה, תמ"ג, שיעור אבטלה, אוריינות, הכנסה, עלות, מחיר

דוגמה

<slices>
  <slice id="country_slice">
    <dimension concept="country"/>
    <dimension concept="time:year"/>
    <metric concept="population"/>
    <table ref="country_slice_table"/>
  </slice>
  ...
</slices>

כך עובדת דוגמה זו.

  • הפלח הזה מייצג אוכלוסייה לפי מדינה.
  • הוא כולל את המדד population, ואת המאפיינים country ו-year. כל מאפיין הוא קונספט שכבר הוגדר במקום אחר. המושג country והמדד population קיימים באותו מערך נתונים כמו הפלח הנוכחי, וגם מתבצעת הפניה כך: concept="country"
  • הקונספט year קיים בזמן של מערך הנתונים המיובא, מזוהה על ידי הקידומת שמשמשת לפני שם הקונספט (year), כמו: concept="time:year"
  • הפלח מפנה לטבלת נתונים שמפנה לקובץ ה-CSV שמכיל את הנתונים בפועל. טבלת הנתונים מוזכרת כך: <table ref="country_slice_table"/> (עיינו למעלה בנושא מידע על ייבוא מערכי נתונים.)

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

רכיבים

רכיב חובה? תיאור
<slices> כן רכיב ברמה העליונה. כולל את כל <slice> רכיבים.
<slice> אופציונלי מזהה את הפלח. הערך של המאפיין הנדרש הערך id חייב להיות ייחודי לפלח.
<dimension> אופציונלי מגדיר מימד של הפלח באמצעות התייחסות לקונספט. הערך של מאפיין החובה concept חייב להיות זהה לערך את המזהה הייחודי של הקונספט, ולהשתמש בקידומת תקינה אם הקונספט שייך למערך נתונים חיצוני שיובא.
<metric> אופציונלי מגדיר מדד של הפלח, באמצעות התייחסות לקונספט. הערך של מאפיין החובה concept חייב להתאים בדיוק מזהה ייחודי של הקונספט, ומשתמשים בקידומת חוקית אם הקונספט שייך למערך נתונים חיצוני שיובא.
<table> כן מזהה את טבלת הנתונים שמכילה נתונים עבור הפלח. הערך ממאפיין החובה ref חייב להתאים למזהה הטבלה שצוין ברכיב <table> הקשור.
<mapDimension> אופציונלי צאצא של <table>. מכיל את המאפיינים concept ו-toColumn; הערך של הראשון הוא בפרוסה, והערך של המאפיין השני הוא העמודה בטבלה שתואמים לאותיות הקודמות.
<mapMetric> אופציונלי צאצא של <table>. מכיל את המאפיינים concept ו-toColumn; הערך של הראשון הוא מדד בפרוסה, והערך של הערך השני הוא העמודה בטבלה. שתואמים לאותיות הקודמות.

טבלאות

תיאור

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

דוגמה

<tables>
  <table id="country_slice_table">
    <column id="country" type="string"/>
    <column id="year" type="date" format="yyyy"/>
    <column id="population" type="integer"/>
    <data>
      <file format="csv" encoding="utf-8">country_slice.csv</file>
    </data>
  </table>
  ...
</tables>

כך עובדת הדוגמה.

  • הדוגמה הזו מתארת את הטבלה country_slice_table. הטבלה מכילה את העמודות country, year ו- population.
  • לכל עמודה בטבלה יש מזהה ייחודי המוגדר לפי מאפיין id. המזהה הזה חייב להתאים במדויק לערך בכותרת העמודה בקובץ הנתונים המשויך.
  • הערך של המאפיין האופציונלי type מגדיר את הנתונים בכל עמודה.
  • הרכיב <data> מתאר את קובץ ה-CSV בפועל (country_slice.csv) שמכילים את הנתונים מהטבלה. פורמט הקובץ הוא תמיד csv.

רכיבים

רכיב חובה? תיאור
<tables> כן רכיב ברמה העליונה. כולל את כל <table> רכיבים.
<table> כן מזהה את הטבלה. הערך של המאפיין הנדרש הערך id חייב להיות ייחודי לטבלה.
<column> אופציונלי צאצא של <table>. מידע על עמודה מסוימת שכלולים בטבלה. כולל את המאפיינים הבאים:
  • id (חובה): מזהה העמודה.
  • type (אופציונלי): סוג הנתונים של המידע בעמודה שצוינה. הערכים המותרים הם: string, float, integer, date, או boolean
<data> אופציונלי צאצא של <table>. קובץ הנתונים שאליו מפנה את הטבלה. אם שם הקובץ הוא בפורמט של כתובת URL (למשל http://...), ואז הקובץ יאוחזר דרך בפרוטוקול המתאים (HTTP, HTTPS או FTP), אחרת, קובץ בשם הזה חייבים להיות בחבילה עם מערך הנתונים. הערך של מאפיין החובה format הוא תמיד csv. למרות שהמאפיין encoding הוא אופציונלי, קובצי ה-CSV חייבים להיות בקידוד UTF-8.

נושאים

תיאור

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

הרכיב <topics> אמור להופיע ממש לפני רכיב <concepts> בקובץ ה-DSPL שלך. (הסדר של הם חשובים, ויכול להיות שלא תוכלו להעלות את מערך הנתונים אם הרכיבים מופיעים בסדר שגוי). כדי להשתמש בנושאים, יש להפנות אליהם להגדרה של קונספט כלשהו.

דוגמה

דוגמה להגדרת נושא:

<topics>
  <topic id="population_indicators">
    <info>
      <name>
        <value>Population indicators</value>
      </name>
    </info>
  </topic>
  ...
</topics>
  

...ו הנה דוגמה מתוך קונספט לנושא הזה:

<concept id="population">
  <info>
    <name>
      <value>Population</value>
    </name>
    <description>
      <value>Size of the resident population.</value>
    </description>
  <topic ref="population_indicators"/>
  <type ref="integer"/>
</concept>

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

הגדרת הרכיב

רכיב חובה? תיאור
<topics> כן רכיב ברמה העליונה. כולל את כל <topic> רכיבים.
<topic> כן מזהה את הנושא. הערך של המאפיין הנדרש id חייב להיות ייחודי למערך הנתונים.
<info> אופציונלי צאצא של <topic>. כולל מידע על נושא.
<name> אופציונלי צאצא של <info>. רכיב הצאצא שלו <value> מציין את שם הנושא.

קובצי נתונים של DSPL

בנוסף לקובץ המטא-נתונים בפורמט XML, מערך נתונים של DSPL יכול גם כוללים קובץ נתונים אחד או יותר בפורמט CSV. כל קובץ נתונים תומכת בטבלה במערך הנתונים, ומופיעה בה הפניה מהטבלה הראשונה קטע בנושא <data>...</data>. באופן עקרוני, הקבצים האלה והטבלאות שמשויכות אליהן משמשות לייצוג קונספט כלשהו הגדרות או פרוסות נתונים. כל אחד מהסוגים של קובצי הנתונים האלה כמתואר בפירוט בהמשך.

לתשומת ליבכם: בלי קשר למטרה, כל קובצי הנתונים חייבים להיות קובצי טקסט בתקן UTF-8, מופרדים בפסיקים (CSV). הקבצים חייבים להכיל רק קובץ פשוט טקסט; ללא HTML. אפשר ליצור את קובצי הנתונים באופן ידני, אבל למעשה תצטרכו לבצע עיסוי של הנתונים בכלי שמכיל את הנתונים המקוריים במקור (למשל, גיליון אלקטרוני) או בקובץ שייצאתם.

אפשר לקבץ את הקבצים עם מערך הנתונים. לחלופין, אם השם הוא בצורת כתובת URL, שאוחזרה באמצעות HTTP, HTTPS או FTP ממקור מרוחק.

קבצים של נתוני קונספט

קובצי נתוני מושגים מכילים מידע רלוונטי לכל קונספט הגדרת הקונספט משתמשת ברכיב <table> כדי להתייחס קובץ זה.

דוגמה

דוגמה לטבלה עם הקונספט country מוגדר למעלה:

country, name
AD, Andorra
AF, Afghanistan
AI, Anguilla
AL, Albania
AO, Angola
AQ, Antarctica
AS, American Samoa

כך פועלת הדוגמה:

  • אם לא צוינו מיפויים, השורה הראשונה בקובץ הנתונים (עמודה) Headlines) חייבות להיות תואמות בדיוק למזהה הקונספט ולמאפיין המתאים מזהים של הקונספט שאליו הנתונים משויכים. אבל, ההזמנה של העמודות לא חייבות להיות זהות בקובץ הנתונים טבלת מושגים. במקרה הזה, העמודה הראשונה משויכת לעמודה את המושג country, והעמודה השנייה משויכת אל הנכס name.
  • עמודות המאפיין הן אופציונליות. אם לנכס אין עמודה בטבלה, ההנחה היא שהערך שלו אינו מוגדר עבור כל שורה. למעלה, למשל, משמטת עמודות של latitude ו longitude נכסים, כך שהמדינות לא יהיו ניתנות למיפוי.
  • כל ערך בשדה id של הקונספט (במקרה הזה, country) חייב להיות ייחודי ולא ריק (שדה ריק הוא אחד), עם אפס או רק תווי רווח לבן).
  • ערכים של מאפיינים שמפנים למושגים אחרים צריכים להיות ריק או ערך חוקי של המושג שאליו מתבצעת ההפניה.
  • לא חובה להוסיף ערכים במירכאות כפולות, למעט במקרים שבהם לכלול פסיקים, מירכאות כפולות או תווי שורה חדשה.
  • תו בריחה (escape) של ציטוט כפול שמופיע לפניו בערך עם מירכאות כפולות נוספות.

קובצי נתונים פרוסים

קובצי נתונים של פרוסות מכילים נתונים רלוונטיים לכל פרוסה. הפלח ההגדרה משתמשת ברכיב <table ref="..."> כדי להתייחס להגדרה <table>, שמזהה קובץ זה.

דוגמה

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

country, year, population
AF, 1960, 9616353
AF, 1961, 9799379
AF, 1962, 9989846
AF, 1963, 10188299

כך עובדת הדוגמה:

  • שדה המדד הוא population. השדות country ו-year הם שדות מאפיינים.
  • כל ערך בשדה מאפיין לא יכול להיות ריק. כולל זמן מאפיינים. הערכים של שדות המדד יכולים להיות ריקים. ערך ריק הוא שלא מיוצגים על ידי אף תו.
  • כל כותרת עמודה שמתייחסת למושג מסוים (לדוגמה, בדוגמה שלמעלה מפנה למושג country) להתאים בדיוק למזהה הייחודי של הקונספט בהגדרת הקונספט.
  • שילוב ייחודי של ערכי מאפיינים, למשל AF, 2000, יכולה להתרחש פעם אחת בלבד.
  • שורות באותה סדרת זמנים (כלומר, שורות שמכילות שילוב זהה) של כל ערכי המאפיינים מלבד זמן) לקבץ יחד, על אף שהם אין צורך למיין בדרך אחרת.

תכונות מתקדמות

מערכי נתונים בכמה שפות

ערכי XML מתורגמים

אפשר להשתמש במאפיין xml:lang בכל פעם רכיב <value> בקובץ ה-DSPL שלך. המאפיין הזה מציין את השפה של תוכן האלמנט, באמצעות הרכיב הסטנדרטי, W3C תגי שפה. חשוב לשים לב שהשימוש בתכונה הזו הוא אופציונלי. אם לא המאפיין xml:lang נכלל, ההנחה היא שהתוכן נמצא אנגלית.

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

<dspl ...>
  <info>
    <name>
      <value xml:lang="en">World Bank, World Development Indicators</value>
      <value xml:lang="bg">Световна банка, Индикатори за световно развитие</value>
      <value xml:lang="ca">Banc Mundial, Indicadors del desenvolupament mundial</value>
      <value xml:lang="zh-CN">国家/地区</value>
    </name>
    ...
  </info>

  <concepts>
    <concept id="country">
      <info>
        <name>
          <value xml:lang="en">Country</value>
          <value xml:lang="bg">Страна</value>
          <value xml:lang="ca">País</value>
          <value xml:lang="zh-CN">国家/地区</value>
        </name>
        ...
      </info>
      ...
    </concept>
    ...
  </concepts>

  ...
</dspl>

מאפיינים מתורגמים

במקרים מסוימים, ייתכן שתרצו לספק תרגומים מפורטים יותר מטא-נתונים ברמת הקונספט, חלים בנוסף (או במקום זאת) על במופעים של קונספטים. האפשרות הזאת שימושית במיוחד כשערכים של קונספט מסוים (למשל, name) משתנה בהתאם לשפה.

כדי לציין ערכים כאלה בכמה שפות, צריך ליצור עמודה אחת את טבלת ההגדרות המתאימה לכל שילוב של נכס/שפה. לאחר מכן, מקשרים את העמודות האלה למאפיינים ולשפות שמשויכים אליהן באמצעות הוספת קבוצה של רכיבי <mapProperty xml:lang="..." ref="..." toColumn="..."> לטבלה של הקונספט הזה.

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

<concepts>
  ...
  <concept id="country" extends="geo:location">
    ...
    <property id="name">
      <info>
        <name>
          <value>Name</value>
        </name>
        <description>
          <value>The official name of the country</value>
        </description>
      </info>
      <type ref="string" />
    </property>
    ...
    <table ref="countries_table">
      <mapProperty xml:lang="en" ref="name" toColumn="name_en"/>
      <mapProperty xml:lang="es" ref="name" toColumn="name_es"/>
      <mapProperty xml:lang="fr" ref="name" toColumn="name_fr"/>
    </table>
  </concept>
  ...
</concepts>

...

<tables>
  ...
  <table id="countries_table">
    <column id="country" type="string"/>
    <column id="name_en" type="string"/>
    <column id="name_es" type="string"/>
    <column id="name_fr" type="string"/>
    ...
  </table>
</tables>

לאחר מכן קובץ ה-CSV של countries_table יכלול את הפרטים הבאים: בצורה הבאה:

country,name_en,name_es,name_fr,...
...
US,United States of America,Estados Unidos de América,États-Unis d'Amérique,...
...

מושגים שניתנים למיפוי

הרבה מושגים (למשל: מחוז, מדינה עיר) כוללים מופעים התואמים למיקומים גיאוגרפיים. DSPL תומכת בקידוד גיאוגרפי של מופעים אלה כדי שניתן יהיה לראות אותם באופן חזותי תרשים מפה מונפש של Google Data Public Data.

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

אם לא, עליכם להפוך את הקונספט לניתן למיפוי. השלב הראשון הוא להאריך מ-geo:location:

<concept id="..." extends="geo:location">
  ...
</concept>

לאחר מכן צריך להוסיף באופן מפורש קו רוחב וקו אורך כמאפיינים:

<concept id="..." extends="geo:location">
  ...
  <property id="latitude"/>
  <property id="longitude"/>
</concept>
  

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

קשרים בין מושגים

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

בסעיפים הבאים נתאר את הקשרים בין המושגים שנתמכים בסכימת ה-DSPL.

היררכיות

היררכיות של מושגים מיוצגות ב-DSPL באמצעות מאפיין isParent="true" ב <property> של הקונספט צאצא, שמכיל מזהים של מכונות מהמושג הורה.

לדוגמה, בקונספט של Google מחוז בארה"ב, בצורה הבאה:

<concept id="us_county" extends="geo:location">
  <info>
    <name>
      <value xml:lang="en">County</value>
    </name>
    ...
  </info>
  ...
  <property id="state" concept="us_state" isParent="true"/>
  ...
  <data>
    <table ref="reference_us_counties"/>
  </data>
</concept>
  

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

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

מיפויים

מיפויי מושגים (כלומר, מושגים שמייצגים, בעיקרון, אותם מיוצגים באמצעות isMapping="true" בתג property של הקונספט הממופה.

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

<concept id="my_country" extends="geo:location">
  <info>
    <name>
      <value xml:lang="en">Country</value>
    </name>
    ...
  </info>
  ...
  <property id="google_country_code" concept="geo:country" isMapping="true"/>
  <data>
    <table ref="countries_concept"/>
  </data>
</concept>
  

תוספים

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

לדוגמה, הקונספט currency של Google מתרחב unit:

<concept id="unit">
  ...
</concept>

<concept id="currency" extends="unit">
  <info>
    <name>
      <value xml:lang="en">Currency unit</value>
    </name>
    ...
  </info>
  ...
  <table ref="currency_table"/>
</concept>
  

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

שליחת מערך הנתונים

כדי לשלוח את מערך הנתונים אל Google Public Data Explorer, פועלים לפי השלבים הבאים: הוראות:

  1. יוצרים ספרייה.
  2. שומרים את קובץ ה-dspl של מערך הנתונים בספרייה שיצרת. צריך לוודא צריך להשתמש בסיומת xml.
  3. שומרים את כל קובצי ה-CSV המקומיים באותה ספרייה. קובצי נתונים שניתן להפנות אליהן דרך כתובות URL.
  4. קובצי ZIP של הספרייה.
  5. מעלים את מערך הנתונים אל Google Public Data חוקר.

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