DSPL הוא ראשי תיבות של Dataset Publishing Language. זה פורמט של ייצוג גם למטא-נתונים (מידע על מערך הנתונים, כמו של השם והספק, וכן את המושגים שהוא מכיל ומציג) את הנתונים של מערכי הנתונים בפועל. מערכי הנתונים שמתוארים בפורמט הזה יכולים להיות שיובאו אל תוך Google Public Data Explorer, כלי שמאפשר לחקור ויזואלית ועשירה של .
הערה: כדי להעלות נתונים ל-Google Public Data באמצעות הכלי להעלאת נתונים ציבוריים, חייב להיות לכם חשבון Google.
המסמך הזה מיועד לבעלי נתונים שרוצים שהתוכן שלהם יהיה זמינים ב-Public Data Explorer. הוא עוסק מעבר למדריך כי הוא מתעמק פרטים על סכימת ה-DSPL והתכונות הנתמכות. רק היכרות בסיסית מניחים שב-XML, למרות שידע על מסדי נתונים רלציוניים שימושי.
למרות שזו אינה דרישה, מומלץ לקרוא את המדריך, שהוא קצר יותר יותר קל להבנה לפני עיון במסמך הזה.
סקירה כללית
מערך נתונים של DSPL הוא קובץ ZIP שמכיל קובץ XML וקבוצה של קובצי CSV . קובצי ה-CSV הם טבלאות פשוטות שמכילות את הנתונים של מערך הנתונים, ואילו קובץ ה-XML מתאר את המטא-נתונים של מערך הנתונים. זה כולל מטא-נתונים אינפורמטיביים, כמו תיאורי מדדים, וגם מטא-נתונים מבניים, כמו הפניות בין טבלאות. המטא-נתונים האלה מאפשר למשתמשים שאינם מומחים לעיין בנתונים ולהציג אותם באופן חזותי.
התהליך
באופן כללי, תהליך היצירה של מערך נתונים של DSPL מתבצע באופן הבא (חלק הבאים עשויים להתרחש במקביל:
- יוצרים קובץ DSPL XML.
- מאתרים את מקורות הנתונים החיצוניים שבהם צריך להשתמש במערך הנתונים.
- מגדירים את המושגים, הפלחים והנושאים (אופציונלי). באופן איטרטיבי מעדכנים את התוכן של קובץ ה-DSPL.
- לייצא את נתוני המקור לקובצי CSV.
- יוצרים מערך נתונים של DSPL.
- שולחים את מערך הנתונים אל 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 כולל את הערכים המותרים הבאים:
|
<property> |
אופציונלי |
מאפיין של הקונספט, למשל נכס יכול להכיל מאפיין נכס יכול להכיל מאפיין מאפיין יכול לציין |
<attribute> |
אופציונלי |
תכונה של הקונספט. המאפיינים מייצגים עוד
של הקונספט (למשל, התמ"ג הוא אחוז). הערך
של מאפיין החובה מאפיין יכול לציין |
<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> . מידע על עמודה מסוימת
שכלולים בטבלה. כולל את המאפיינים הבאים:
|
<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, פועלים לפי השלבים הבאים: הוראות:
- יוצרים ספרייה.
- שומרים את קובץ ה-dspl של מערך הנתונים בספרייה שיצרת. צריך לוודא צריך להשתמש בסיומת xml.
- שומרים את כל קובצי ה-CSV המקומיים באותה ספרייה. קובצי נתונים שניתן להפנות אליהן דרך כתובות URL.
- קובצי ZIP של הספרייה.
- מעלים את מערך הנתונים אל Google Public Data חוקר.
אחרי שתעלו את מערך הנתונים ותאמתו אותו, תוכלו לבדוק אותו אחרי שחתמתם עליו לחשבון Google. היא לא תתפרסם עד שתבוצע בדיקה ולהודיע לנו שזה מוכן.