השם של DSPL הוא Dataset Publishing Language. זהו פורמט ייצוג של המטא-נתונים (מידע על מערך הנתונים, למשל שם הספק והספק שלו, כמו גם המושגים שהוא מכיל ומוצג), וגם הנתונים בפועל של מערכי הנתונים. ניתן לייבא קבוצות נתונים שמתוארות בפורמט הזה אל Google Public Data Explorer, כלי שמאפשר ניתוח ויזואלי ועשיר של הנתונים.
הערה: כדי להעלות נתונים לנתונים ציבוריים של Google באמצעות הכלי להעלאה של נתונים ציבוריים, צריך להיות לכם חשבון Google.
המסמך הזה מיועד לבעלי נתונים שרוצים שהתוכן שלהם יהיה זמין ב-Public Data Explorer. היא כוללת הרבה מעבר למדריך כדי להתעמק בפרטים של סכימת DSPL ושל תכונות נתמכות. ההנחה היא רק ידע בסיסי ב-XML, אבל גם ידע לגבי מסדי נתונים יחסיים שימושי.
לא חייבים לעשות זאת, אבל אנחנו ממליצים לקרוא את המדריך, הקצר והקצר יותר להבנה, לפני שמעיינים במסמך הזה.
סקירה כללית
מערך נתונים של DSPL הוא קובץ ZIP שמכיל קובץ XML וקבוצה של קובצי CSV. קובצי ה-CSV הם טבלאות פשוטות המכילות את הנתונים של מערך הנתונים, בעוד שקובץ ה-XML מתאר מטא נתונים של מערך הנתונים. הסוג השני כולל מטא-נתונים של מידע, כמו תיאורים של מדדים, וגם מטא-נתונים מבניים, כמו הפניות בין טבלאות. המטא-נתונים האלה מאפשרים למשתמשים שאינם מומחים לבדוק את הנתונים שלך ולהמחיש אותם.
עבד
באופן כללי, תהליך היצירה של מערך נתונים ב-DSPL הוא הבא (חלק מהפעולות עשויות להתבצע במקביל):
- יצירת קובץ XML ל-DSPL.
- מזהים את מקורות הנתונים החיצוניים שרוצים להשתמש בהם במערך הנתונים.
- מגדירים את הקונספטים, את פרוסות הנתונים ואת הנושאים (אופציונלית). עליך לעדכן את התוכן של קובץ ה-DSPL שוב ושוב.
- מייצאים את נתוני המקור לקובצי .csv
- יצירת מערך נתונים של DSPL.
- שולחים את מערך הנתונים ל-Google.
מבנה XML
סקירה כללית
קובץ ה-XML של DSPL מגדיר את המטא-נתונים של מערך הנתונים, כולל קשרים מבניים בין קונספטים, פרוסות, נושאים וטבלאות. אפשר ליצור את הקובץ באופן ידני, אבל כלים וסקריפטים לעיבוד נתונים יכולים לייעל את התהליך במידה רבה. הצגת קובץ DSPL לדוגמה בחלון חדש.
הקובץ מכיל מספר קטעים, שמתומצים בטבלה הבאה. בטבלה יש תיאור מפורט של כל אחד מהם.
קטע | סיכום | מידע נוסף |
---|---|---|
כותרת וייבוא | ההורה של כל הרכיבים האחרים של מערך הנתונים. כולל את מרחב שמות היעד (כלומר מזהה) של מערך הנתונים, וכן את מרחבי השמות של מערכי נתונים שיובאו. | מסמכי תיעוד |
מידע על מערך הנתונים | השם, התיאור וכתובת ה-URL של מערך הנתונים. | מסמכי תיעוד |
פרטי הספק | השם, התיאור וכתובת ה-URL של ספק מערך הנתונים. | מסמכי תיעוד |
קונספטים |
הגדרות של "דברים" שמופיעים במערך הנתונים (למשל, מדינות, שיעור אבטלה, מגדר וכו') לכל קונספט יש מזהה ייחודי, שאפשר להפנות אליו באמצעות פרוסות וטבלאות. |
מסמכי תיעוד |
פרוסות |
שילובים של מושגים שלגביהם קיימים נתונים סטטיסטיים במערך הנתונים. כל פרוסה מכילה מאפיינים ומדדים. פרוסות מתייחסות לקונספטים וגם לטבלאות, שמכילות את הנתונים בפועל. לכל פרוסה יש מזהה ייחודי, שאפשר להפנות אליו מהטבלאות שמכילות את הנתונים בפועל. |
מסמכי תיעוד |
טבלאות | הגדרת הנתונים לקונספטים ולפרוסות. בטבלאות קונספט יש ספירות וטבלאות פרוסות מכילות נתונים סטטיסטיים. הטבלאות מוגדרות בקובץ ה-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>
namespace הוא מזהה ייחודי שניתן לשייך
לסכימת XML (קבוצה של אלמנטים ומאפיינים של XML). targetNamespace
מספק URI שמזהה את מערך הנתונים שלך.
ה-URI הזה לא נדרש כדי להפנות למשאב בפועל, אבל כדאי שה-URI יצביע על מסמך שמתאר את התוכן או את מערך הנתונים שלך.
אין צורך לספק targetNamespace
. אחרת, המערכת תיצור בשבילך קובץ באופן אוטומטי בזמן הייבוא.
המאפיין targetNamespace
כולל סדרה של
מאפייני xmlns
המציינים סכימות XML אחרות שבהן ייעשה שימוש בקובץ. כל קובץ DSPL חייב לכלול את סכימת הנתונים הציבוריים של Google, שה-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>
Elements
רכיב | חובה? | Description |
---|---|---|
<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>
Elements
רכיב | חובה? | Description |
---|---|---|
<provider> |
כן | כולל את כל המידע התיאורי על ספק מערך הנתונים.
כולל את רכיבי הצאצא <name> ואת <url> . |
<name> |
אופציונלי | צאצא של <provider> . כולל רכיב הצאצא
<value> , שמזהה את השם של ספק מערך הנתונים. |
<url> |
אופציונלי | צאצא של <info> . קישור לכתובת URL עם מידע נוסף על ספק מערך הנתונים. |
מושגים
Description
כל מערך נתונים מכיל קונספט אחד או יותר. קונספט הוא הגדרה של סוג נתונים שמופיע במערך נתונים. מערך נתונים עם נתוני אוכלוסייה דמוגרפית יכול לכלול, למשל, את הקונספט מדינה, מדינה, אוכלוסייה ושנה. ערכי הנתונים שתואמים לקונספט נתון נקראים מופעים של הקונספט הזה. הקונספטים מתוארים בדרך כלל במערך הנתונים, אבל חלק מהקונספטים (למשל השעה או השנה) עשויים להיות מתוארים במערכי הנתונים החיצוניים.
לכל קונספט יכול להיות נכס אחד או יותר. מאפיין הוא
מאפיין של מופע קונספט יציב לאורך זמן. לדוגמה,
הקונספט של המדינה יכול לכלול את המאפיינים 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
.)
Elements
רכיב | חובה? | Description |
---|---|---|
<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 כולל את הערכים המותרים הבאים:
|
<property> |
אופציונלי |
מאפיין של הקונספט, למשל נכס יכול להכיל מאפיין בוליאני נכס יכול להכיל מאפיין מאפיין יכול לציין |
<attribute> |
אופציונלי |
תכונה של הרעיון. המאפיינים מייצגים מידע
נוסף על הקונספט (למשל, תמ"ג הוא אחוז). הערך
של המאפיין הנדרש מאפיין יכול לציין |
<table> |
אופציונלי | מזהה את טבלת הנתונים המכילה נתונים עבור הקונספט. הערך
של המאפיין הנדרש ref חייב להתאים למזהה
הטבלה שצוין ברכיב <table> הקשור. |
פרוסות
Description
פלח הוא שילוב של מושגים שלגביהם קיימים נתונים. פלח מכיל שני סוגים של הפניות קונספט: מאפיינים ומדדים. מאפיין הוא מושג שמשמש לפילוח או לסינון של הנתונים שלך. לעומת זאת, מדד מתאר את הערך או את הערכים שתועדו המשויכים לכל נקודה על הגרף.
באופן כללי, המאפיינים מוחלפים לפי קטגוריות בעוד שהמדדים הם לא חד-משמעיים, משתנים בזמן. כמה דוגמאות טיפוסיות לכל אחת:
- מידות: מדינה, מדינה, מחוז, אזור, שנה, חודש, מין, קטגוריית גיל, פלח תעשייה
- מדדים: אוכלוסייה, תמ"ג, שיעור אבטלה, אוריינות, הכנסה, עלות, מחיר
דוגמה
<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
.
Elements
רכיב | חובה? | Description |
---|---|---|
<slices> |
כן | רכיב ברמה העליונה. כולל את כל <slice> הרכיבים. |
<slice> |
אופציונלי | מזהה את הפרוסה. הערך של המאפיין הנדרש
id חייב להיות ייחודי לפלח. |
<dimension> |
אופציונלי | מגדיר מאפיין של הפלח באמצעות התייחסות לקונספט. הערך
של המאפיין הנדרש concept חייב להתאים
במדויק למזהה הייחודי של הקונספט, ולהשתמש בקידומת חוקית אם הקונספט
שייך למערך נתונים חיצוני שיובא. |
<metric> |
אופציונלי | מגדיר מדד של הפלח, על ידי התייחסות לקונספט. הערך
של המאפיין הנדרש concept חייב להתאים בדיוק
למזהה הייחודי של הקונספט, ולהשתמש בקידומת חוקית אם הקונספט שייך
למערך נתונים חיצוני שיובא. |
<table> |
כן | מזהה את טבלת הנתונים שמכילה את הפלח. הערך
של המאפיין הנדרש ref חייב להתאים למזהה הטבלה
שצוין ברכיב <table> הקשור. |
<mapDimension> |
אופציונלי | צאצא של <table> . מכיל את המאפיינים
concept ו-toColumn . הערך של הראשון הוא מאפיין בפלח, והערך של השני הוא עמודת הטבלה שתואמת לעמודה הראשונה. |
<mapMetric> |
אופציונלי | צאצא של <table> . מכיל את המאפיינים
concept ו-toColumn . הערך של הראשון הוא
ערך בפלח, והערך של השני הוא עמודת הטבלה
שתואמת לעמודה הראשונה. |
טבלאות
Description
הקטע 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
.
Elements
רכיב | חובה? | Description |
---|---|---|
<tables> |
כן | רכיב ברמה העליונה. כולל את כל <table> הרכיבים. |
<table> |
כן | מזהה את הטבלה. הערך של המאפיין הנדרש
id חייב להיות ייחודי לטבלה. |
<column> |
אופציונלי |
צאצא של <table> . מידע על עמודה
שכלולה בטבלה. כולל את המאפיינים הבאים:
|
<data> |
אופציונלי | צאצא של <table> . קובץ הנתונים שאליו מפנה הטבלה. אם שם הקובץ הוא בצורה של כתובת URL
(למשל, http://... ), הקובץ יאוחזר באמצעות הפרוטוקול המתאים (HTTP , HTTPS או FTP). אחרת, צריך לצרף לקובץ הזה את השם של מערך הנתונים הזה.
הערך של המאפיין הנדרש format הוא תמיד csv . למרות שהמאפיין encoding
הוא אופציונלי, קובצי ה- .csv חייבים להיות בקידוד UTF-8. |
הנושאים
Description
הנושאים מחלקים את הקונספט להיררכיה, כדי שהמשתמשים יוכלו לנווט בקלות במערך הנתונים שלך.
הרכיב <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>
ניתן לשייך נושאים לקונספט, וקונספט יכול להתייחס ליותר מנושא אחד.
הגדרת הרכיב
רכיב | חובה? | Description |
---|---|---|
<topics> |
כן | רכיב ברמה העליונה. כולל את כל <topic> הרכיבים. |
<topic> |
כן | מזהה את הנושא. הערך של המאפיין הנדרש
id חייב להיות ייחודי של מערך הנתונים. |
<info> |
אופציונלי | צאצא של <topic> . כולל מידע על נושא מסוים. |
<name> |
אופציונלי | צאצא של <info> . רכיב המשנה הצאצא
<value> מציין את שם הנושא. |
קובצי נתונים של DSPL
בנוסף לקובץ ה-metadata של ה-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
דוגמה זו:
- אלא אם מצוינים מיפויים, השורה הראשונה בקובץ הנתונים (כותרות העמודות) חייבת להתאים בדיוק למזהה הקונספט ולמזהי הנכס המתאימים של הקונספט שאליו משויכים הנתונים. עם זאת, הסדר
של העמודות לא חייב להיות זהה בקובץ הנתונים ובטבלת
הקונספט. במקרה כזה, העמודה הראשונה משויכת לקונספט
country
והעמודה השנייה משויכת לנכסname
. - עמודות הנכס הן אופציונליות. אם לנכס אין עמודה
בטבלה, ההנחה היא שהערך של כל שורה הוא לא מוגדר. בטבלה
שלמעלה, כמו כן, מושמטות העמודות של הנכסים מסוג
latitude
ושלlongitude
, ולכן לא תהיה אפשרות למפות את המדינות. - כל ערך בשדה מזהה הקונספט (במקרה הזה,
country
) חייב להיות ייחודי ולא ריק (שדה ריק הוא שדה אפס או רק תווי רווח לבן). - ערכים עבור מאפיינים שמפנים למושגים אחרים חייבים להיות ריקים או להיות ערך חוקי של הקונספט שאליו מתייחסים.
- לא חובה להוסיף ערכים במירכאות כפולות, אלא אם הם כוללים פסיקים, מירכאות כפולות או תווי שורה חדשה.
- יש להוסיף מירכאות כפולות מילוליות כדי להופיע בערך, או להוסיף מירכאות כפולות לפני ערך אחר.
קובצי נתונים של פרוסה
קובצי נתוני הפרוסות מכילים נתונים רלוונטיים לכל פרוסה. הגדרת
הפלח משתמשת ברכיב <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>
מאפיינים מתורגמים
במקרים מסוימים, ייתכן שתרצו לספק תרגומים מעבר למטא-נתונים ברמת הקונספט, ולהחיל אותם (או במקום זאת) על מופעים ספציפיים של קונספט. האפשרות הזו שימושית במיוחד כשערכי נכס קונספט (למשל, שם) משתנים לפי שפה.
כדי לספק ערכים כאלה בכמה שפות, צריך ליצור עמודה אחת בטבלת ההגדרות המתאימה לכל שילוב של נכס/שפה.
לאחר מכן, יש לקשר את העמודות האלה לנכסים ולשפות המשויכים אליהן. כדי לעשות זאת, יש להוסיף קבוצה של רכיבי <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.
אם הקונספט שלך זהה למדינות ברחבי העולם, למדינות בארה"ב או למחוזות בארה"ב, אפשר פשוט לקשר לקונספט הקנוני המתאים של 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
בהגדרת הקונספט התואם. תוספים שימושיים כדי לציין
שקונספט מסוים הוא קבוצת משנה של קונספט אחר, רחב יותר. הקונספט המורחב
יורש את כל המאפיינים והתכונות של ההורה שלו, ויכול גם להוסיף מאפיינים נוספים.
לדוגמה, הקונספט של Google עבור currency
כולל את
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, יש לפעול לפי ההוראות הבאות:
- יוצרים ספרייה.
- שומרים את קובץ ה-DSpl של מערך הנתונים בספרייה שיצרתם. הקפידו להשתמש בסיומת xml.
- שומרים את כל קובצי ה-CSV המקומיים באותה ספרייה. ניתן להשמיט קובצי נתונים שאליהם מתבצעת הפניה דרך כתובות URL.
- מכווצים את הספרייה.
- עליך להעלות את מערך הנתונים שלך ל-Google Public Data Explorer.
אחרי שמעלים את מערך הנתונים ומאמתים אותו, אפשר לבדוק אותו בחשבון Google. כדי שהוא יפורסם, צריך לבדוק אותו ולוודא שהוא מוכן.