دليل مطوّري برامج DSPL

يشير الاختصار DSPL إلى "لغة النشر لمجموعة البيانات". ويُمثل تنسيقًا تمثيليًا لكل من البيانات الوصفية (معلومات حول مجموعة البيانات، مثل اسمها وموفرها، بالإضافة إلى المفاهيم التي تحتوي عليها وتعرضها)، والبيانات الفعلية لمجموعات البيانات. يمكن استيراد مجموعات البيانات الموضَّحة بهذا التنسيق إلى مستكشف البيانات العامة من Google، وهو أداة تتيح الاستكشاف المرئي والبصري للبيانات.

ملاحظة: لتحميل البيانات إلى Google Public Data باستخدام أداة تحميل البيانات العامة، يجب أن يكون لديك حساب Google.

هذا المستند مُخصَّص لمالكي البيانات الذين يريدون إتاحة المحتوى الخاص بهم في مستكشف البيانات العامة. ولا يقتصر الأمر على البرنامج التعليمي من خلال التوغّل بشكل أكثر تفصيلاً في تفاصيل مخطط DSPL والميزات المتاحة. ويُفترض أن يكون مجرد معرفة أساسية بـ XML، على الرغم من أن المعرفة بقواعد البيانات ذات الصلة تكون مفيدة أيضًا.

ننصحك بالاطّلاع على البرنامج التعليمي الذي يكون أقصر ويسهل استيعابه قبل قراءة هذا المستند، على الرغم من أنّ هذا الإجراء ليس شرطًا أساسيًا.

نظرة عامة

مجموعة بيانات DSPL هي ملف zip .يحتوي على ملف XML ومجموعة من ملفات CSV. ملفات CSV عبارة عن جداول بسيطة تحتوي على بيانات مجموعة البيانات، بينما يصف ملف XML البيانات الوصفية لمجموعة البيانات. ويحتوي الأخير على بيانات وصفية معلوماتية مثل أوصاف المقاييس، بالإضافة إلى بيانات وصفية هيكلية مثل المراجع بين الجداول. وتسمح هذه البيانات الوصفية للمستخدمين غير المتمرّسين باستكشاف بياناتك ووضع تمثيل بصري لها.

العمليات المتّبعة

بوجهٍ عام، تكون عملية إنشاء مجموعة بيانات DSPL على النحو التالي (قد يتم تنفيذ بعض الخطوات بالتوازي):

  1. أنشئ ملف DSPL XML.
  2. تحديد أي مصادر بيانات خارجية لاستخدامها في مجموعة البيانات.
  3. حدد المفاهيم والشرائح والمواضيع (اختياريًا). عدِّل محتوى ملف DSPL بشكل متكرر.
  4. تصدير بيانات المصدر إلى ملفات بتنسيق .csv
  5. أنشئ مجموعة بيانات DSPL.
  6. أرسِل مجموعة البيانات إلى Google.

بنية XML

نظرة عامة

يحدد ملف DSPL XML البيانات الوصفية لمجموعة البيانات، بما في ذلك العلاقات الهيكلية بين المفاهيم والشرائح والمواضيع والجداول. على الرغم من أنه من الممكن إنشاء هذا الملف يدويًا، يمكن أن تؤدي أدوات معالجة البيانات والنصوص البرمجية إلى تبسيط العملية بشكل كبير. شاهد نموذج ملف 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>

العناصر

عنصر مطلوبة أم لا؟ الوصف
<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> اختياري

موقع للمفهوم، مثل 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> ذي الصلة.

الشرائح

الوصف

الشريحة هي مزيج من المفاهيم التي تتوفر لها بيانات. تحتوي الشريحة على نوعين من مراجع المفاهيم: الأبعاد والمقاييس. البُعد هو مفهوم يُستخدَم لتقسيم بياناتك أو فلترتها. وعلى الجانب الآخر، يصف المقياس القيمة المرصودة أو القيم المرتبطة بكل نقطة بيانات.

وبوجهٍ عام، تكون المكوّنات تصنيفًا فئويًا، في حين أن المقاييس غير فئوية وتتّبع قيمًا متفاوتة من حيث القيم الرقمية. في ما يلي بعض الأمثلة على النماذج الأولية لكلّ منها:

  • الأبعاد: البلد، والولاية، والمقاطعة، والمنطقة، والسنة، والشهر، والجنس، والفئة العمرية، وقطاع الصناعة
  • المقاييس: السكان، الناتج المحلي الإجمالي، معدل البطالة، محو الأمية، الأرباح، التكلفة، السعر

مثال

<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

إليك كيفية عمل هذا المثال:

  • ما لم يتم تحديد التعيينات، يجب أن يتطابق السطر الأول من ملف البيانات (عناوين الأعمدة) تمامًا مع معرّف المفهوم ومعرّفات الخاصية المناسبة للمفهوم المرتبط بالبيانات. وليس من الضروري أن يكون ترتيب الأعمدة متطابقًا في ملف البيانات وجدول المفاهيم. في هذه الحالة، العمود الأول مقترن بالمفهوم 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 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 يتضمّن رمز الحالة المكوّن من حرفين لكل مقاطعة. يتيح هذا النوع من البيانات الوصفية لـ "مستكشف البيانات العامة" عرض الولايات والمقاطعات كتسلسل هرمي، وهي ميزة تجعل الاستكشاف أسهل بكثير للمستخدمين.

ملاحظة: يمكن أن يكون للمفهوم العديد من الأطفال، ولكن لا يمكن أن يكون أحد الوالدين.

تعيينات

يتم تمثيل عمليات ربط المفهوم (أي المفاهيم التي تمثّل الشيء نفسه بشكل أساسي) من خلال السمة isMapping="true" في علامة property للمفهوم المرتبط.

من خلال تحديد مفهوم معيّن لمفهوم آخر، يمكن أن يرث كل مفهوم السمة والسمات الخاصة بها. ويُعدّ هذا مفيدًا من بين التطبيقات الأخرى عند "ربط" المفاهيم الجغرافية الشخصية بالمفاهيم المحدّدة في مجموعة البيانات الجغرافية الأساسية:

<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. اضغط الدليل.
  5. حمِّل مجموعة البيانات إلى مستكشف البيانات العامة من Google.

بعد تحميل مجموعة البيانات والتحقّق من صحتها، يمكنك اختبارها عند تسجيل الدخول إلى حسابك على Google. ولن يتم نشره إلا بعد التحقّق منه وإعلامنا بأنّه جاهز.