คู่มือนักพัฒนาซอฟต์แวร์ DSPL

DSPL ย่อมาจาก Dataset Publishing Language เป็นรูปแบบการนําเสนอสําหรับทั้งข้อมูลเมตา (ข้อมูลเกี่ยวกับชุดข้อมูล เช่น ชื่อและผู้ให้บริการ) รวมถึงแนวคิดที่มีและแสดงผล) และข้อมูลจริงของชุดข้อมูล คุณสามารถนําเข้าชุดข้อมูลที่อธิบายในรูปแบบนี้ไปยังเครื่องมือสํารวจข้อมูลสาธารณะของ Google ซึ่งเป็นเครื่องมือที่ช่วยให้สํารวจข้อมูลเป็นภาพที่สมบูรณ์ได้

หมายเหตุ: หากต้องการอัปโหลดข้อมูลไปยัง Google ข้อมูลสาธารณะโดยใช้เครื่องมืออัปโหลดข้อมูลสาธารณะ คุณต้องมีบัญชี Google

เอกสารนี้มีไว้สําหรับเจ้าของข้อมูลที่ต้องการให้ผู้อื่นดูเนื้อหาได้ใน Public Data Explorer โดยละเอียดยิ่งขึ้นจากบทแนะนําโดยเจาะลึกรายละเอียดเกี่ยวกับสคีมา DSPL และฟีเจอร์ที่รองรับ จะถือว่ามีความคุ้นเคยกับการใช้ XML ขั้นพื้นฐานเท่านั้น แม้ว่าความรู้ด้านฐานข้อมูลเชิงสัมพันธ์จะเป็นประโยชน์ก็ตาม

แม้จะไม่ใช่ข้อกําหนด แต่เราขอแนะนําให้อ่านบทแนะนําซึ่งสั้นและเข้าใจง่ายขึ้นก่อนดูเอกสารนี้

ภาพรวม

ชุดข้อมูล DSPL เป็นไฟล์ .zip ที่มีไฟล์ XML และชุดไฟล์ CSV ไฟล์ CSV คือตารางแบบง่ายที่มีข้อมูลของชุดข้อมูล ส่วนไฟล์ XML จะอธิบายข้อมูลเมตาของชุดข้อมูล ส่วนรายการหลังจะมีข้อมูลเมตาที่ให้ข้อมูล เช่น คําอธิบายมาตรการ และข้อมูลเมตาเชิงโครงสร้าง เช่น ข้อมูลอ้างอิงระหว่างตารางต่างๆ ข้อมูลเมตานี้ช่วยให้ผู้ใช้ที่ไม่ใช่ผู้เชี่ยวชาญสํารวจและแสดงภาพข้อมูล

กระบวนการ

โดยทั่วไปแล้ว กระบวนการสร้างชุดข้อมูล DSPL มีดังนี้ (บางขั้นตอนอาจเกิดขึ้นพร้อมกัน)

  1. สร้างไฟล์ XML ของ DSPL
  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" และใช้เป็นเนมสเปซเริ่มต้น ซึ่งควรรวมสคีมา W3 XML มาตรฐานที่กําหนดโดย "http://www.w3.org/2001/XMLSchema-instance" ด้วย ตามที่อธิบายในส่วนถัดไป คุณสามารถเพิ่มเนมสเปซอื่นๆ เพื่อรวมข้อมูลจากชุดข้อมูลอื่นๆ ได้

การนําเข้าเนมสเปซอื่นๆ ของชุดข้อมูล

ชุดข้อมูลสามารถนําคําจํากัดความและข้อมูลจากชุดข้อมูลอื่นๆ มาใช้ซ้ําได้ ตัวอย่างเช่น Google มีชุดข้อมูลพื้นฐานจํานวนหนึ่งที่ระบุแนวคิดที่มักจะปรากฏในข้อมูลผู้ใช้ ตัวอย่างเช่น ชุดข้อมูลส่วนใหญ่ต้องมีแนวคิดเพื่อแสดงถึงปีต่างๆ แทนที่จะกําหนดแนวคิดใหม่ คุณสามารถใช้แนวคิดปีจากชุดข้อมูล "http://www.google.com/publicdata/dataset/time" ดูข้อมูลเพิ่มเติมที่หน้าแนวคิด Canonical

หากต้องการใช้ชุดข้อมูลภายนอก ให้เพิ่มองค์ประกอบ <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 ข้อมูลสาธารณะ ทําขั้นตอนนี้ซ้ําสําหรับชุดข้อมูลทั้งหมดที่ต้องการอ้างอิง

การอ้างอิงเนื้อหาในชุดข้อมูลภายนอก

เมื่อนําเข้าชุดข้อมูลอื่นแล้ว คุณต้องอ้างอิงแนวคิด ส่วนต่างๆ และข้อมูลจากชุดข้อมูลนั้น หากต้องการทําเช่นนี้ ให้ใช้การอ้างอิงรูปแบบ 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 ที่มีข้อมูลเพิ่มเติมเกี่ยวกับผู้ให้บริการชุดข้อมูล

แนวคิด

คำอธิบาย

ชุดข้อมูลแต่ละชุดมีแนวคิดอย่างน้อย 1 ข้อ แนวคิดคือคําจํากัดความของประเภทข้อมูลที่ปรากฏในชุดข้อมูล ตัวอย่างเช่น ชุดข้อมูลที่มีข้อมูลประชากร เช่น ข้อมูลอาจมีแนวคิดของประเทศ รัฐ ประชากร และปี ค่าข้อมูลที่สอดคล้องกับแนวคิดหนึ่งๆ เรียกว่าอินสแตนซ์ของแนวคิดนั้น โดยปกติแล้ว แนวคิดจะอธิบายในชุดข้อมูล แต่อาจมีแนวคิดบางอย่าง (เช่น เวลาหรือปี) ไว้ในชุดข้อมูลภายนอก

แนวคิดแต่ละรายการมีพร็อพเพอร์ตี้อย่างน้อย 1 รายการได้ พร็อพเพอร์ตี้เป็นลักษณะเฉพาะของอินสแตนซ์แนวคิดที่มีความเสถียรเมื่อเวลาผ่านไป ตัวอย่างเช่น แนวคิดประเทศอาจมีพร็อพเพอร์ตี้ name, population และ capital

แนวคิดยังมีแอตทริบิวต์อย่างน้อย 1 รายการได้ด้วย แอตทริบิวต์จะให้ข้อมูลในระดับแนวคิดของแนวคิด ไม่ใช่อินสแตนซ์แต่ละรายการ ตัวอย่างเช่น หากชุดข้อมูลมีแนวคิดอัตราการว่างงาน เราอาจใช้แอตทริบิวต์เพื่อระบุว่าแนวคิดนี้เป็นเปอร์เซ็นต์ อีกหนึ่งตัวอย่างการใช้แอตทริบิวต์ทั่วไปคือการให้ข้อมูลหน่วย

ตัวอย่าง

ต่อไปนี้คือตัวอย่างแนวคิดประเทศที่มีรหัสที่ไม่ซ้ํากัน 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 ซึ่งเป็นแนวคิด Canonical สําหรับสถานที่ตั้ง โดยการขยาย geo:location, country จะรับช่วงพร็อพเพอร์ตี้และแอตทริบิวต์ทั้งหมดที่กําหนดโดยแนวคิดแบบขยาย ได้แก่ ชื่อพร็อพเพอร์ตี้ คําอธิบาย URL ละติจูด ลองจิจูด คุณ country จะกําหนดแอตทริบิวต์และพร็อพเพอร์ตี้เหล่านี้บางส่วนได้ตราบใดที่คําจํากัดความสอดคล้องกับแนวคิดที่เพิ่มขึ้น
  • องค์ประกอบแนวคิด <info> อธิบายข้อมูลสําคัญเกี่ยวกับแนวคิดนั้น การดําเนินการนี้จะแสดงในหน้า Landing Page ของชุดข้อมูลใน 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> ไม่บังคับ

แอตทริบิวต์ของแนวคิด แอตทริบิวต์แสดงข้อมูลเพิ่มเติมเกี่ยวกับแนวคิดนี้ (เช่น GDP เป็นเปอร์เซ็นต์) ค่าของแอตทริบิวต์ id ที่จําเป็นต้องไม่ซ้ํากันตามแนวคิด ระบบอาจใช้แอตทริบิวต์ concept ที่ไม่บังคับเพื่อระบุว่าค่าของแอตทริบิวต์นี้เป็นอินสแตนซ์ของแนวคิดหนึ่งๆ หากระบุ concept ระบบอาจละเว้น id ค่าของกฎจะได้รับการระบุโดยนัยเป็นรหัสของแนวคิดที่อ้างถึง (เช่น <attribute concept="unit:unit"/> เทียบเท่ากับ <attribute id="unit" concept="unit:unit"/>

แอตทริบิวต์อาจระบุ info และ type ที่ซ้อนกันซึ่งมีความหมายเหมือนแนวคิด ต้องระบุ type หากแอตทริบิวต์ไม่ได้ระบุแอตทริบิวต์ concept และต้องตรงกับประเภทของแนวคิดที่อ้างอิงหากต้องระบุ

<table> ไม่บังคับ ระบุตารางข้อมูลที่มีข้อมูลสําหรับแนวคิดนั้น ค่าของแอตทริบิวต์ ref ที่จําเป็นต้องตรงกับรหัสตารางที่ระบุในองค์ประกอบ <table> ที่เกี่ยวข้อง

แบ่งเป็นช่องๆ

คำอธิบาย

ส่วนแบ่งที่ประกอบด้วยแนวคิดต่างๆ ที่มีข้อมูลอยู่ ส่วนย่อยมีการอ้างอิงแนวคิด 2 ประเภท ได้แก่ มิติข้อมูลและเมตริก มิติข้อมูลคือแนวคิดที่ใช้ในการแบ่งกลุ่มหรือกรองข้อมูล ส่วนเมตริกจะอธิบายค่าที่สังเกตได้หรือค่าที่เชื่อมโยงกับจุดข้อมูลแต่ละจุด

โดยทั่วไปแล้ว มิติข้อมูลจะเป็นหมวดหมู่ ส่วนเมตริกจะเป็นค่าที่ไม่ใช่หมวดหมู่ เวลาต่างกัน ตัวเลข ตัวอย่างขั้นตอนต้นแบบของแต่ละรูปแบบมีดังนี้

  • มิติข้อมูล: ประเทศ รัฐ เขต ภูมิภาค ปี เดือน เพศ หมวดหมู่อายุ กลุ่มอุตสาหกรรม
  • เมตริก: ประชากร, GDP, อัตราการว่างงาน, การรู้หนังสือ, รายได้, ต้นทุน, ราคา

ตัวอย่าง

<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 ค่าของค่าแรกคือมิติข้อมูลในส่วนแบ่ง และค่าที่ 2 คือคอลัมน์ตารางที่สัมพันธ์กับรายการก่อนหน้า
<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>

หัวข้ออาจซ้อนกันและแนวคิดอาจอ้างอิงหัวข้อได้มากกว่า 1 หัวข้อ

คําจํากัดความองค์ประกอบ

องค์ประกอบ จำเป็นหรือไม่ คำอธิบาย
<topics> ได้ องค์ประกอบระดับบนสุด ใส่องค์ประกอบ <topic> ทั้งหมด
<topic> ได้ ระบุหัวข้อ ค่าของแอตทริบิวต์ id ที่ต้องระบุต้องไม่ซ้ํากัน
<info> ไม่บังคับ ผู้เผยแพร่โฆษณาย่อยของ <topic> ใส่ข้อมูลเกี่ยวกับหัวข้อที่ต้องการ
<name> ไม่บังคับ ผู้เผยแพร่โฆษณาย่อยของ <info> องค์ประกอบย่อยของ <value> ระบุชื่อหัวข้อ

ไฟล์ข้อมูล DSPL

นอกเหนือจากไฟล์ข้อมูลเมตา XML แล้ว ชุดข้อมูล DSPL ยังรวมไฟล์ข้อมูลอย่างน้อย 1 รายการในรูปแบบ CSV ได้ด้วย ไฟล์ข้อมูลแต่ละไฟล์รองรับตารางในชุดข้อมูล และมีการอ้างอิงจากไฟล์เก่าในส่วน <data>...</data> โดยหลักการแล้ว ไฟล์เหล่านี้และตารางที่เกี่ยวข้องจะใช้เพื่อแสดงคําจํากัดความของแนวคิดหรือข้อมูลส่วนแบ่ง ประเภทไฟล์ข้อมูลแต่ละประเภทจะอธิบายรายละเอียดเพิ่มเติมด้านล่าง

โปรดทราบว่าไม่ว่าจะเป็นไฟล์วัตถุประสงค์ ไฟล์ข้อความต้องคั่นด้วยคอมมา (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 และคอลัมน์ที่ 2 เชื่อมโยงกับพร็อพเพอร์ตี้ name
  • คอลัมน์พร็อพเพอร์ตี้เป็นตัวเลือกที่ไม่บังคับ หากพร็อพเพอร์ตี้ไม่มีคอลัมน์ในตาราง ระบบจะถือว่าไม่มีการกําหนดค่าสําหรับแต่ละแถว เช่น ตารางด้านบนไม่รวมคอลัมน์สําหรับพร็อพเพอร์ตี้ latitude และ longitude ดังนั้นประเทศต่างๆ จะแมปไม่ได้
  • แต่ละค่าสําหรับช่องแนวคิดของแนวคิดนี้ (ในกรณีนี้คือ country) ต้องไม่ซ้ํากันและต้องไม่ว่างเปล่า (ช่องว่างเปล่าจะมีค่าเป็น 0 หรือเฉพาะอักขระช่องว่าง)
  • ค่าสําหรับพร็อพเพอร์ตี้ที่อ้างอิงแนวคิดอื่นๆ ต้องว่างเปล่าหรือเป็นค่าที่ถูกต้องของแนวคิดที่อ้างอิง
  • การรวมค่าในเครื่องหมายคําพูดคู่เป็นตัวเลือกที่ไม่บังคับ ยกเว้นกรณีที่มีคอมมา เครื่องหมายคําพูดคู่ หรืออักขระขึ้นบรรทัดใหม่
  • หลีกเลี่ยงเครื่องหมายคําพูดคู่แบบคู่ที่ปรากฏในค่าโดยนําหน้าด้วยเครื่องหมายคําพูดคู่อีกคู่หนึ่ง

ไฟล์ข้อมูลส่วนแบ่ง

ไฟล์ข้อมูลส่วนประกอบด้วยข้อมูลที่เกี่ยวข้องสําหรับแต่ละส่วนแบ่ง คําจํากัดความส่วนย่อยใช้องค์ประกอบ <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>

พร็อพเพอร์ตี้ที่แปลแล้ว

ในบางกรณี คุณอาจต้องการให้คําแปลที่นอกเหนือจากข้อมูลเมตาระดับแนวคิด ซึ่งใช้เพิ่มเติม (หรือแทน) กับอินสแตนซ์แนวคิดแต่ละรายการ ซึ่งจะเป็นประโยชน์อย่างยิ่งเมื่อค่าของพร็อพเพอร์ตี้แนวคิด (เช่น ชื่อ) แตกต่างกันไปตามภาษา

หากต้องการระบุค่าดังกล่าวในหลายภาษา ให้สร้าง 1 คอลัมน์ในตารางคําจํากัดความที่เกี่ยวข้องสําหรับชุดค่าผสมพร็อพเพอร์ตี้/ภาษาแต่ละรายการ จากนั้น ลิงก์คอลัมน์เหล่านี้กับพร็อพเพอร์ตี้และภาษาที่เชื่อมโยงอยู่โดยเพิ่มชุดเอลิเมนต์ <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

หากแนวคิดของคุณเทียบเท่ากับประเทศทั่วโลก รัฐในสหรัฐอเมริกา หรือเคาน์ตีของสหรัฐฯ คุณจะลิงก์ไปยังแนวคิด Canonical ของ Google ที่เกี่ยวข้องได้ แค่ไม่ต้องใช้การเข้ารหัสภูมิศาสตร์ที่ชัดเจนก็พอ ดูรายละเอียดเพิ่มเติมได้ที่คู่มือแนวคิด Canonical

หากไม่มี คุณต้องทําให้แนวคิดนั้นแมปได้ ขั้นตอนแรกคือขยายจาก 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 County ใน 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 พร้อมรหัสสถานะ 2 ตัวอักษรสําหรับแต่ละประเทศ ข้อมูลเมตาประเภทนี้ช่วยให้เครื่องมือสํารวจข้อมูลสาธารณะแสดงสถานะและเคาน์ตีเป็นลําดับชั้นได้ ซึ่งเป็นฟีเจอร์ที่ทําให้การสํารวจผู้ใช้ง่ายขึ้นมาก

โปรดทราบว่าแนวคิดหนึ่งๆ อาจมีเด็กหลายคนได้ แต่มีไม่เกิน 1 รายการ

การแมป

การแมปแนวคิด (เช่น แนวคิดที่แสดงถึงหลักการพื้นฐาน คือสิ่งเดียวกัน) จะแสดงผ่านแอตทริบิวต์ isMapping="true" ในแท็ก property ของแนวคิดที่แมป

การระบุแนวคิดหนึ่งว่าแมปกับแนวคิดอื่นช่วยให้แนวคิดเดิมได้รับพร็อพเพอร์ตี้และแอตทริบิวต์ทั้งหมดในกรณีหลังได้ แอปพลิเคชันอื่นๆ มีประโยชน์ในการ "ลิงก์" แนวคิดทางภูมิศาสตร์ส่วนตัวกับแนวคิดที่กําหนดในชุดข้อมูล Canonical ทางภูมิศาสตร์ของ 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. ซิปไดเรกทอรี
  5. อัปโหลดชุดข้อมูลไปยัง Google Public Data Explorer

เมื่ออัปโหลดและตรวจสอบชุดข้อมูลแล้ว คุณจะทดสอบชุดข้อมูลได้เมื่อลงชื่อเข้าใช้บัญชี Google ซึ่งจะยังไม่เผยแพร่จนกว่าคุณจะตรวจสอบและแจ้งว่าเว็บไซต์พร้อมแล้ว